Добавить в корзинуПозвонить
Найти в Дзене
Автоматизация

NodeRed визуальная система программирования автоматизации "Умного Дома" + HomeKit от Apple.

Пробуя различные системы управления и автоматизации умного дома, я случайно наткнулся на визуальную систему программирования NodeRed. Вначале я скептически отнесся к системе визуального программирования автоматизации (я вообще скептически отношусь ко всяким родам "Визуальным"). Поэтому сначала отбросил ее, и начал пробовать другие, но все они основаны на каких-то языках программирования. Например MajoDOMO - на PHP+MySQL, OpenHub -Java. Я умею писать программы на Си для МК, как говориться "чисто для себэ". Делал разные системы автоматизации на МК - автономные. Но вот изучать все эти языки пока нет времени, что бы раскрыть весь потенциал данных систем. И вот я решил все-таки попробовать NodeRed и понял, что это довольно-таки мощная система, продуманная и что самое главное с очень низким порогом вхождения, особенно для тех кто не программист до "мозга костей", в связи с чем пересмотрел свои взгляды на системы визуального программирования. Node-RED – это op

Пробуя различные системы управления и автоматизации умного дома, я случайно наткнулся на визуальную систему программирования NodeRed. Вначале я скептически отнесся к системе визуального программирования автоматизации (я вообще скептически отношусь ко всяким родам "Визуальным"). Поэтому сначала отбросил ее, и начал пробовать другие, но все они основаны на каких-то языках программирования. Например MajoDOMO - на PHP+MySQL, OpenHub -Java. Я умею писать программы на Си для МК, как говориться "чисто для себэ". Делал разные системы автоматизации на МК - автономные. Но вот изучать все эти языки пока нет времени, что бы раскрыть весь потенциал данных систем.

И вот я решил все-таки попробовать NodeRed и понял, что это довольно-таки мощная система, продуманная и что самое главное с очень низким порогом вхождения, особенно для тех кто не программист до "мозга костей", в связи с чем пересмотрел свои взгляды на системы визуального программирования.

Node-RED – это open-source детище IBM и, как простенько написано на сайте, это инструмент, который служит для связи железа, API и сервисов новыми и интересными способами.
Способы эти основаны на использовании графических линий связи, по которым пересылаются сообщения между узлами. Таким образом связывать различные блоки можно просто мышкой без использования программирования.
Разработка в Node-RED ведется через обыкновенный браузер, само ядро можно запустить на различных платформах – PC, RPi, cloud и т.д.
Дополнительно система имеет возможность установить так называемые Debug блоки в любую цепь связи и просмотреть все сообщения отправляемые по линии. Так же блоки "Инжекции" позволяющие формировать любые сообщения, что дает возможность отлаживать систему даже без подключенного оборудования - что весьма удобно.

      Пример имитации датчика температуры со случайной генерацией, для приложения "Дом" от Aple.
Пример имитации датчика температуры со случайной генерацией, для приложения "Дом" от Aple.

Собственно установка самого NodeRed не представляет ничего сложного. Производится с помощью готового скрипта для Raspberry PI :

bash <(curl -sL https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/update-nodejs-and-nodered)

На действительно минимальных установках Debian, возможно, вам придется использовать sudo apt-get install build-essential

У меня скрипт почему-то не поставил сервисную службу, поэтому необходимо выполнить следующее:

sudo wget https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/nodered.service -O /lib/systemd/system/nodered.service
sudo wget https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/node-red-start -O /usr/bin/node-red-start
sudo wget https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/node-red-stop -O /usr/bin/node-red-stop
sudo chmod +x /usr/bin/node-red-st*
sudo systemctl daemon-reload

и добавляем в автозагрузку

sudo systemctl enable nodered.service

Для других систем смотрим здесь.

Для поддержки Bonjour / Avahi выполняем следующее:

sudo apt-get install libavahi-compat-libdnssd-dev

После установки Node Red будет доступен по адресу Http://IP_ADRES_RASPBERRY:1880

Далее для работы нам понадобится установить пакет поддержки устройств Home Kit , для этого заходим Меню-->Settings, далее выбираем Pallete, затем вкладку Install, и в строке поиска вводим node-red-contrib-homekit-bridged , нажимаем кнопочку install напротив найденного пакета и ждем установки.

-3

Нам так же понадобится пакет node-red-node-random.

В следующей статье я расскажу, как добавить в Node Red управление электромеханическим замком, через приложение "дом", для управления с помощью голосовых команд для "Сири".