Оглавление:

AtticTemp - Регистратор температуры / климата: 10 шагов (с изображениями)
AtticTemp - Регистратор температуры / климата: 10 шагов (с изображениями)

Видео: AtticTemp - Регистратор температуры / климата: 10 шагов (с изображениями)

Видео: AtticTemp - Регистратор температуры / климата: 10 шагов (с изображениями)
Видео: Альманах по автоматизации и системе “умный дом” на примере элитного загородного дома от девелопера 2024, Июль
Anonim
AtticTemp - Регистратор температуры / климата
AtticTemp - Регистратор температуры / климата

Температурный датчик и регистратор климата с высокой толерантностью к чердаку или другим наружным строениям

Шаг 1. Прошивка жесткого диска RaspberriPi / установка необходимого программного обеспечения (с использованием Ubuntu Linux)

Скачать "РАСПБИАН ДЖЕССИ ЛАЙТ"

Создайте новый жесткий диск для DashboardPI

Вставьте microSD в свой компьютер через USB-адаптер и создайте образ диска с помощью команды dd

Найдите вставленную карту microSD с помощью команды df -h, отключите ее и создайте образ диска с помощью команды disk copy dd.

$ df -h / dev / sdb1 7,4 ГБ 32 КБ 7,4 ГБ 1% / media / XXX / 1234-5678

$ umount / dev / sdb1

Внимание: убедитесь, что команда абсолютно точна, вы можете повредить другие диски с помощью этой команды.

if = расположение файла изображения RASPBIAN JESSIE LITE = расположение вашей карты microSD

$ sudo dd bs = 4M if = / path / to / raspbian-jessie-lite.img of = / dev / sdb (примечание: в данном случае это / dev / sdb, / dev / sdb1 был существующим заводским разделом на microSD)

Настройка вашего RaspberriPi

Вставьте новую карту microSD в raspberrypi и включите его с помощью монитора, подключенного к порту HDMI.

Авторизоваться

пользователь: pi pass: raspberry

Измените пароль своей учетной записи в целях безопасности

sudo passwd pi

Включить дополнительные параметры RaspberriPi

sudo raspi-config

Выберите: 1 Развернуть файловую систему

9 Дополнительные параметры

Имя хоста A2 измените его на "AtticTemp"

A4 SSH Включить SSH-сервер

A7 I2C Включить интерфейс i2c

Включить английскую / американскую клавиатуру

Судо нано / и т. д. / по умолчанию / клавиатура

Измените следующую строку: XKBLAYOUT = "us"

Перезагрузите PI, чтобы изменения раскладки клавиатуры / изменение размера файловой системы вступили в силу

$ sudo shutdown -r сейчас

Автоматическое подключение к вашему Wi-Fi

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Добавьте следующие строки, чтобы ваш raspberrypi автоматически подключался к домашнему Wi-Fi (если ваша беспроводная сеть называется «linksys», например, в следующем примере)

network = {ssid = "linksys" psk = "WIRELESS PASSWORD HERE"} Перезагрузите PI, чтобы подключиться к сети Wi-Fi.

$ sudo shutdown -r сейчас

Теперь, когда ваш PI наконец находится в локальной сети, вы можете удаленно войти в него через SSH. Но сначала вам нужно получить текущий IP-адрес.

$ ifconfig Найдите "inet addr: 192.168. XXX. XXX" в выводе следующей команды для IP-адреса вашего PI

Перейдите на другую машину и войдите в свой raspberrypi через ssh

$ ssh [email protected]. XXX. XXX

Начать установку необходимых пакетов

$ sudo apt-get update

$ sudo apt-get upgrade

$ sudo apt-get install vim git python-requests python-smbus i2c-tools python-imaging python-smbus build-essential python-dev rpi.gpio python3 python3-pip libi2c-dev

Обновить настройки местного часового пояса

$ sudo dpkg-reconfigure tzdata

выберите свой часовой пояс с помощью интерфейса

Установите команду simple directory l [необязательно]

$ vi ~ /.bashrc

добавьте следующую строку:

$ псевдоним l = 'ls -lh'

$ source ~ /.bashrc

Исправить выделение синтаксиса по умолчанию VIM [необязательно]

$ sudo vi / и т. д. / vim / vimrc

раскомментируйте следующую строку:

синтаксис на

Шаг 2: клонировать проект / установить драйверы программного обеспечения

Клонировать репозиторий проекта

$ cd ~

$ git clone

DHT22 Установить

$ cd ~

$ git clone

$ cd Adafruit_Python_DHT /

$ sudo python setup.py установить

$ sudo python ez_setup.py

$ cd examples /

$ vi simpletest.py

Измените следующую строку:

sensor = Adafruit_DHT. DHT22

Закомментируйте строку

pin = 'P8_11'

Раскомментируйте строку и измените пин-код на 16.

pin = 18

Запустить тест

python simpletest.py

Вы должны увидеть метрические значения температуры и влажности, отображаемые в командной строке.

SSD1306 Установить

Распаковать драйверы / SSD1306.zip в папку проекта.

Установите драйвер

$ cd ssd1306 / $ sudo python setup.py установить

Подтвердите регистрацию вашего устройства, обычно это / 0x3c на шине i2c

$ sudo i2cdetect -y 1

0 1 2 3 4 5 6 7 8 9 abcdef 00: - - - - - - - - - - - - - 10: - - - - - - - - - - - - - - - - - 20: - - - - - - - - - - - - - - - - - 30: - - - - - - - - - - - - 3c - - - 40: - - - - - - - - - - - - - - - - 50: - - - - - - - - - - - - - - - - 60: - - - - - - - - - - - - - - - - 70: - - - - - - - - Запустите демонстрацию, чтобы убедиться, что ваш дисплей находится в рабочем состоянии

$ cd examples / $ python demo.py

Шаг 3. Необходимые материалы

Необходимые материалы
Необходимые материалы
Необходимые материалы
Необходимые материалы
Необходимые материалы
Необходимые материалы
Необходимые материалы
Необходимые материалы

РаспберриПи Ноль

Датчик температуры-влажности DHT22

0,96-дюймовый I2C IIC SPI Последовательный 12864 OLED ЖК-дисплей со светодиодной подсветкой, белый цвет

2,4 400x240 16: 9 Последовательный: UART / I2C / SPI TFT-дисплей с сенсорным экраном

Шаг 4: Подключите устройство

Подключите устройство
Подключите устройство
Подключите устройство
Подключите устройство

SSD1306 Дисплей

GND -> GND

ДАННЫЕ -> SDA

CLK -> SCL

VCC -> 3 В

Диголь Дисплей

GND -> GND

ДАННЫЕ -> SDA

CLK -> SCL

VCC -> 3 В

DHT22 гигростат

VCC -> 5 В

GND -> GND

ДАННЫЕ -> GPIO 18 / PIN 12

Шаг 5: соберите устройство

Соберите устройство
Соберите устройство
Соберите устройство
Соберите устройство

Вырежьте оргстекло, чтобы оно соответствовало передней части устройства под рамкой, напечатанной на 3D-принтере.

Закрепите стекло винтами через рамку, напечатанную на 3D-принтере.

Шаг 6. Соберите устройство (продолжение…)

Соберите устройство (продолжение…)
Соберите устройство (продолжение…)
Соберите устройство (продолжение…)
Соберите устройство (продолжение…)
Соберите устройство (продолжение…)
Соберите устройство (продолжение…)

Компоненты горячего клея напротив передней панели

Блок провода внутри

Установите заднюю часть, и она должна быть готова к работе.

Шаг 7. Настройте приложение для правильной работы в файле конфигурации Settings.py

Найдите файл settings.py и настройте свои текущие настройки

# Прогноз.io Ключ API для получения местной информации о погоде

weatherAPIURL = 'https://api.forecast.io/forecast/'

weatherAPIKey = 'ВАШ КЛЮЧ API ДЛЯ FORECAST. IO'

# необязательно для запуска удаленного регистратора температуры / влажности

deviceLoggerAPI = 'mydevicelogger.com'

# выполните поиск в Google, чтобы узнать широту / долготу вашего домашнего местоположения

широта = 41,4552578

долгота = -72.1665444

Шаг 8: Настройте запланированные сценарии

$ crontab -e

Добавьте следующие строки: * / 7 * * * * python /home/pi/AtticTemp/displays.py

ДОПОЛНИТЕЛЬНО: Temp Logger в скрипт API каждые 10 минут

$ crontab -e

Добавьте следующие строки: * / 10 * * * * python /home/pi/EnvironmentClock/temp-check.py

Шаг 9: ДОПОЛНИТЕЛЬНО: создание собственных изображений погоды для отображения на дисплее

Загрузите свой собственный файл 128x128 по следующему URL-адресу:

www.digole.com/tools/PicturetoC_Hex_converter.php

Выберите файл изображения для загрузки, добавьте размер, который вы хотите, чтобы он был на экране (ширина / высота)

В раскрывающемся списке «Используется для» выберите «256 цветов для цветного OLED / ЖК-дисплея (1 байт / пиксель)».

Получите шестнадцатеричный вывод

Добавьте шестнадцатеричный вывод в файл отображения / сборки / заголовка (.h), а остальные используйте в качестве руководств по синтаксису.

Включите новый файл в файл digole.c #include "myimage.h"

Включите новый обработчик командной строки к вашему файлу изображения в. Примечание: команда ниже говорит, что нарисуйте изображение в позиции 10 пикселей на 10 пикселей вниз. Вы можете изменить его на другие координаты X, Y, вы также можете изменить значения 128, 128 на любой размер вашего нового изображения.

} else if (strcmp (digoleCommand, "myimage") == 0) {drawBitmap256 (10, 10, 128, 128, & myimageVariableHere, 0); // myimageVariableHere определена в вашем (.h) файле}

Теперь перестройте (игнорируйте ошибки) ниже, чтобы ваше новое изображение визуализировалось с помощью следующей команды.

$./digole myimage

Перестройка [в комплекте] драйвера дисплея Digole для дополнительных изменений

$ cd display / build

$ gcc digole.c

$ mv a.out../../digole

$ chmod + x../../digole

Рекомендуемые: