Затрагивая тему оборудования для систем умного дома, мы недавно рассматривали специализированные устройста от компании SONOFF, являющейся одним из ведущих производителей и поставщиков оборудования для комплектации систем Smart Home и позволяющими установить и запустить подобные системы практически каждому желающему (даже без опыта работы с микроэлектроникой), покольку они предоставляют готовые решения, готовые для непосредственного монтажа и эксплуатации. При всём их ассортименте, они реализуют только стандарные для них функции, чего бесспорно хватает для большинства случаев и запросов от клиентов. Если вы ещё не знакомились с данным обзором, то обязательно прочтите его по ссылке: SONOFF: 10 способов управления умным домом.
Для тех, кто только что присоединился к нашим обзорам, и не имеет представления о функциях системы умного дома, предлагаем просмотреть видео с возможными вариантами применения данных систем:
Умный дом позволяет домовладельцам удаленно управлять бытовой техникой, умными термостатами, рольставнями, системами контроля микроклимата в помещениях, освещением, и другими устройствами как внутри, так и снаружи помещений. Всем этим можно управлять со смартфона или планшета, подключенных к Интернету. Другими словами, технология «умный дом» обеспечивает удобство для пользователей, а кроме этого за счёт более легкого отключения электроприборов и экономию средств. Также этому способствует применение совреемнных систем освещения на основе светодиодных элементов.
Однако, не только специализированная техника готова предложить свои решения для создания систем умного дома. Мы задались вопросом: как можно использовать один из самых популярных в настоящее время микрокомпьютеров Raspberry Pi для решения подобных задач или даже выйти за рамки их упомянутых выше предложений. Raspberry Pi идеально подходит для многих задач, среди них и использования в роли концентратора (хаба) умного дома, образуя мост, позволяющий различным электрическим устройствам и оборудованию взаимодействовать друг с другом.
Причина использовать Raspberry Pi дя построения системы домашней автоматизации
Одной из основных причин создания умного дома является получение дома, которым легко управлять и который функционирует автоматически, что существенно облегчает нашу жизнь. И некоторые топовые в этом сегменте программные системы очень эффективно справляются с этой задачей. К примеру, с помощью Web Things Gateway можноте создать сервер Raspberry Pi для домашней автоматизации. Сами программные системы мы рассмотрим ниже в статье.
Поскольку вариантов применения автоматизации в умном доме огромное количество, ограниченное только количеством электроприборов и вашей фантазией, то для более простого сравнения мы реализуем пользующуюся широкой популярностью систему для управления светодиодным освещением, как частный случай применения этого микрокомпьютера в смарт-системах. Таким образом, используя программное обеспечение с открытым исходным кодом OpenHAB (https://www.openhab.org/), мы создадим центр управления на Raspberry Pi с сенсорным экраном, который сможет взаимодействовать с более чем 150 различными продуктами для умного дома и предоставлять интерфейс для управления и планирования задач. Создаваемая система управления светодиодной лентой RGB с поддержкой WiFi, будет взаимодействовать с OpenHAB, что позволит управлять ею по беспроводной сети со смартфона или любого компьютера в сети.
OpenHAB является одним из лучших вариантов, потому что он взаимодействует со многими продуктами, он бесплатный, с открытым исходным кодом и чрезвычайно гибкий. Он также работает в Windows, OS X и Linux.
В представленном видео показан процесс сборки системы управления светодиодным освещением:
Необходимые для реализации данного проекта элементы и комплектующие
(по приведенным ниже ссылкам можно заказать комплектующие для этого проекта в интернет-магазине evo.net.ua с доставкой):
- Микрокомпьютер Raspberry Pi , предпочтительно Pi 3 или Pi 4 и со встроенным модулем Wi-Fi. (Raspberry Pi)
- Чистая карта micro SD с объемом памяти не менее 4 ГБ. (Карты памяти)
- 7-дюймовый сенсорный экран Raspberry Pi (Дисплей 7inch LCD 800х480 DSI Capacitive Touch Screen)
- Блок питания Raspberry Pi (Источники питания Raspberry Pi)
- Светодиодная лента NeoPixel Strip
- Преобразователь логического уровня
- Плата Adafruit HUZZAH ESP8266
- Соединительные провода
а также понадобятся:
- Компьютер
- Паяльник и припой
- FTDI-программатор
- Инструмент для зачистки проводов
- USB-клавиатура и мышь
- Операционная системау для умного дома (Raspberry Pi smart home OS).
Приступим к сборке проекта!
Шаг 1. Соединение Raspberry Pi и сенсорного экрана
Без инструкций сборка и подключение экрана к Raspberry Pi может оказаться непростой задачей. Начните с того, что переверните экрана вниз и переверните плату контроллера дисплея так, чтобы был виден большой разъем. Подсоедините ленточный кабель (шлейф) от экрана к контроллеру, полностью вставив кабель и закрепив его зажимом на разъеме.
Переверните плату контроллера дисплея на заднюю часть экрана и вставьте небольшой кабель сенсорного экрана в соответствующий разъем. Вкрутите стойки в заднюю часть экрана через отверстия в плате контроллера.
Вставьте ленточный кабель в разъем дисплея на боковой стороне платы контроллера, затем поместите Pi поверх стоек и закрутите его. Подключите другой конец ленточного кабеля к разъему дисплея на Pi.
Для подачи питания и заземления на сенсорный экран будем использовать контакты GPIO на Pi. Возьмите красную перемычку, прилагаемую к экрану, и подключите ее к крайнему правому нижнему контакту 5V GPIO на Pi, затем подключите другой конец к крайнему правому контакту на плате контроллера под ним. Используйте черную перемычку для подключения контакта GPIO GND (два контакта от контакта красного провода 5V) на Pi к крайнему левому контакту на плате контроллера под ним.
Шаг 2. Установка карты microSD и настройка Raspbian
Загрузите последнюю версию Raspbian с веб-сайта Raspberry Pi и запишите ее на карту microSD. Затем вставьте карту в Pi. Подключите клавиатуру, мышь и адаптер Wi-Fi, затем вставьте карту в Pi и загрузите его. Пройдите процесс настройки и, когда он полностью загрузится, подключитесь к сети Wi-Fi. Чтобы заставить сенсорный экран работать, вам, вероятно, потребуется выполнить несколько команд из командной строки для обновления Raspbian:
sudo apt-get update sudo apt-get upgrade
Эта процедура займет некоторое время, так что наберитесь терпения!
Когда перезапустите Pi после обновления, сенсорный экран перевернётся. Если вас это беспокоит, то можете избавиться от данной особенности, добавив lcd_rotate=2 в последнюю строку файла конфигурации в папке загрузки, используя следующую команду:
sudo nano /boot/config.txt
Затем нажмите Ctrl+X, чтобы сохранить и выход.
Шаг 3. Установка OpenHAB
Пришло время установить программное обеспечение для управления домашней автоматизацией, OpenHAB и необходимые расширения к нему, которые мы будем использовать.
Откройте командную строку на Pi и введите следующие команды:
sudo wget http://www.element14.com/community/servlet/JiveServlet/download/38-152207/openhab.zip unzip openhab.zip sudo rm openhab.zip sudo cp openhab.sh /etc/init.d sudo chmod 777 /etc/init.d/openhab.sh sudo update-rc.d -f openhab.sh defaults
Теперь мы введем еще несколько команд для настройки запуска OpenHAB при старте:
sudo wget http://www.element14.com/community/servlet/JiveServlet/download/38-152207/openhab.zip unzip openhab.zip sudo rm openhab.zip sudo cp openhab.sh /etc/init.d sudo chmod 777 /etc/init.d/openhab.sh sudo update-rc.d -f openhab.sh defaults
Нам также потребуется установить расширения OpenHAB MQTT, так как это протокол, который мы будем использовать для связи со светодиодной лентой:
sudo wget https://bintray.com/artifact/download/openhab/bin/distribution-1.7.1-addons.zip sudo unzip distribution-1.7.1-addons.zip -d /addons sudo cp /addons/org.openhab.binding.mqtt-1.7.1.jar /opt/openhab/addons sudo cp /addons/org.openhab.persistence.mqtt-1.7.1.jar /opt/openhab/addons sudo rm distribution-1.7.1-addons.zip
Шаг 4. Установка MQTT broker
Как было упомянуто, мы будем общаться с нашей светодиодной лентой, используя протокол под названием MQTT. Чтобы настроить этот процесс, нам нужно установить Mosquitto – брокер MQTT с открытым исходным кодом.
Чтобы установить Mosquitto, введите в командной строке следующие команды:
sudo wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key sudo apt-key add mosquitto-repo.gpg.key cd /etc/apt/sources.list.d/ sudo wget http://repo.mosquitto.org/debian/mosquitto-wheezy.list sudo apt-get update && sudo apt-get install mosquitto
Шаг 5. Установка файлов конфигурации OpenHAB
Наконец, загрузите предварительно созданные файлы конфигурации OpenHAB (для скачивания – перейдите по ссылке: OpenHAB configuration files) и установите их в соответствующие папки OpenHAB. Инструкция по установке размещена в прилагаемом файле README.
Шаг 6. Распайка контактов ESP8266
Когда OpenHab настроен на Raspberry Pi, пришло время перейти к созданию контроллера ленты NeoPixel. Плата Adafruit ESP8266 HUZZAH с поддержкой WiFi идеально подходит для этого. Процессор ESP8266 от Espressif представляет собой микроконтроллер с тактовой частотой 80 МГц с полным интерфейсом WiFi (как клиент, так и точка доступа) и стеком TCP/IP с поддержкой DNS. Сам модуль сертифицирован FCC и содержит чип ESP8266 с 64 КБ ОЗУ для инструкций, 96 КБ ОЗУ для данных и 4 МБ QIO FLASH (32 мегабита).
Итак, припаяйте к плате предоставленные штыревые контакты, чтобы можно было запрограммировать их с помощью адаптера FTDI.
Шаг 7. Распайка преобразователя логического уровня
Поскольку ESP8266 использует логический уровень 3,3 В вместо необходимых для ленты NeoPixel 5 В, необходимо будет припаять между ними преобразователь логического уровня.
На стороне низкого уровня преобразователя припаяйте провод от контакта 2 от ESP к A1, другой от контакта 3V к LV и третий от GND к GND. На стороне высокого напряжения преобразователя припаяйте провод от контакта B1 к контакту данных NeoPixel (это полосатый провод на разъеме NeoPixel) и другой провод от GND к GND. Припаяйте красный провод к контакту HV на преобразователе, а другой красный провод к контакту V+ на ESP.
Штыревой конец ленты NeoPixel будет обеспечивать питание для ESP, поэтому припаяйте красный провод от ленты к красным проводам, идущим от контактов V+ и HV, затем припаяйте черный провод к GND. После этого подключите ленту NeoPixel с помощью прилагаемого шнура и убедитесь, что ESP получает питание, нажав кнопку сброса, чтобы увидеть, мигает ли встроенный светодиод.
Шаг 8. Установка Arduino IDE
Когда все подключено, пришло время прошить ESP с помощью Arduino IDE. Сначала нам нужно внести некоторые изменения в Arduino IDE. Загрузите библиотеку PubSubClient с https://github.com/Imroy/pubsubclient и распакуйте папку в папку библиотек Arduino.
Откройте IDE Arduino, затем перейдите в Sketch > Include Library > Libraries Manager… и установите библиотеку Adafruit NeoPixel.
Наконец, мы добавим плату Adafruit HUZZAH ESP8266 в список плат. Перейдите в Arduino > «Настройки», добавьте «http://arduino.esp8266.com/stable/package_esp8266com_index.json» в поле «Дополнительные URL-адреса диспетчера плат» и нажмите «ОК». Перейдите в Инструменты > Плата: > Диспетчер плат… и установите пакет ESP8266.
Шаг 9. Прошивка ESP8266
Загрузите и откройте предоставленный скетч Arduino: Arduino sketch, затем отредактируйте скетч, включив в него настройки сети Wi-Fi и IP-адрес Pi. Вы можете проверить IP-адрес вашего Pi, введя «ip addr show» в командную строку.
Подключите свой компьютер к ESP с помощью кабеля FTDI и установите плату и порт в Arduino IDE. Переведите ESP в режим программирования, удерживая кнопку GPIO0 и нажимая кнопку сброса, затем загрузите свой код.
После прошивки откройте последовательный монитор и убедитесь, что плата успешно подключается к вашей сети WiFi.
Шаг 10. Установите мобильное приложение OpenHAB
С настроенным OpenHAB и подключенным питанием к ленте NeoPixel настало время протестировать всю систему!
Загрузите приложение OpenHAB на свой телефон или планшет (оно доступно как для Android, так и для iOS), затем откройте его и выберите «Настройки» в правом верхнем углу. Измените поле URL-адреса OpenHAB на IP-адрес вашего Pi, за которым следует двоеточие и 8080. Выйдите из меню, и ваш телефон должен подключиться к OpenHAB, открывая светодиодный контроллер.
Вы также можете управлять светодиодами с любого компьютера в той же сети (включая Pi), введя IP-адрес Pi, а затем «/openhab.app?sitemap=home».
Если нужно устранить неполадки, вы можете установить приложение Chrome под названием MQTTLens, чтобы убедиться, что OpenHAB отправляет сообщения MQTT. Просто отредактируйте настройки, чтобы они указывали на IP-адрес Pi, и добавьте подписку на тему #, чтобы видеть все сообщения MQTT, которые отправляет Pi.
OpenHab достаточно универсален, и мы только немного коснулись его возможностей. Вы можете управлять устройствами с помощью голосовых команд, отслеживать сенсорные сети и даже настраивать правила для автоматизации устройств по электронной почте или IFTTT. С его помощью можно создавать другие классные устройства, которые подключаются к OpenHab и делают ваш дом еще более технологичным.
OpenHab – отличная и гибкаяя система для настройки домашней автоматизации, но далеко не единственная. Давайте рассмотрим несколько самых популярных вариантов программного обеспечения для использования в системах умного дома.
Варианты ПО для систем автоматизации на Raspberry Pi
Домашний помощник (Home Assistant) Raspberry Pi
Home assistant Raspberry Pi (Raspberry Pi - Home Assistant) – лучший выбор программного обеспечения для автоматизации умного дома Raspberry Pi с открытым исходным кодом. ОС Raspberry Pi для умного дома – это система, которая может управлять всем, от управления пользовательским интерфейсом домашнего помощника до процесса его установки.
Более того, домашние смарт-устройства также будут работать с такими продуктами, как Hue, Lifx, Google Home, Alexa, Eco-bee, Z-Wave, WeMo, KEATradfri, а также со многими самодельными устройствами, контролируемыми с помощью Python или MQTT.
Home assistant Raspberry Pi создает сценарии для проверки элементов, которым требуется дистанционное управление. Эти устройства имеют возможность управления и могут выполнять такие функции, как запись телепередач, включение и выключение света и даже оповещение о телефонных звонках.
Есть, как минимум, два способа как можно установить Home Assistant на Raspberry Pi 4.
Первый способ — это скачать образ SD карты в котором находится специальная операционная система HassOS которая запускает Home Assistant. Тут плюс в том что это очень простой способ для установки Home Assistant: скачал файл, с помощью специальной программы записал этот файл на SD карту, и на этом все. Документация про этот способ.
Второй способ сложнее:
- Нужно скачать образ операционной системы Raspbian и с помощью специальной программы записать его на SD карту
- Установить Docker
- Установить Home Assistant
Но при использовании второго способа на Raspberry Pi появляется уже настоящая операционная система в которой можно работать стандартными способами.
Calaos – система домашней автоматизации для Raspberry Pi
ОС для автоматизации умного дома (Calaos, Open Source Home Automation) с открытым исходным кодом. Её программные средства написаны на C++ и содержат: демон сервера, сенсорный экран, веб-интерфейс, мобильное приложение (iOS/Android), а также средства настройки и полноценную ОС, которая позволяет любому человеку создать полное решение домашней автоматизации.
Open HAB для Raspberry Pi.
ПО Open HAB (openHAB) было использовано в приведенном проекте для Raspberry Pi. Повторим, что open Home Automation Bus – это программное обеспечение для домашней автоматизации с открытым исходным кодом, написанное на Java. Оно развертывается локально и подключается к устройствам и службам от разных поставщиков. В виде модулей OSGi доступно около 300 расширений, что говорит о том, что оно является одним из самых универсальных и популярных вариантов систем программного обеспечения для домашней атоматизации.
Заключение.
Пользователю, далёкому от самостоятельной сборки систем автоматизации для дома может показаться очень сложным такой длинный путь, который необходимо пройти для того, чтобы всего лишь регулировать свет на светодиодной ленте. Для этих задач можно купить готовое устройство (к примеру, SONOFF L2 Lite Smart LED Light Strip-5M - EU или SONOFF L1 Smart LED Light Strip-5M - EU) и всё, что нужно будет сделать – это прикрутить контакты ленты, вставить шнур питания в розетку и скачать специализированное мобильное приложение eWeLink.
Но описанным выше проектом мы хотели всего лишь показать направление для вашего дальнейшего движения, поскольку реализованные выше шаги позволяют пройти большую часть пути в создании и настройке ваших индивидуальных и более сложных систем. Данный пример – это фундамент, на котором можно реализовать практически неограниченное количество идей по автоматизации вашего дома.