При выборе оборудования и программного обеспечения для проектов IoT первая сложность — огромное количество вариантов. Для аппаратной части сначала нужно определиться с протоколами связи датчиков и исполнительных устройств. Если выбор падает на Wi-Fi, очевидным решением становится ESP8266, используемый вместе с недорогой платой Linux, такой как Raspberry Pi или Orange Pi, для локального запуска серверного ПО IoT или работы с облачными сервисами. Однако наиболее сложным и запутанным для меня оказался выбор серверного ПО/облачных услуг из-за их обилия. Предпочтение отдаётся локальному серверу, а не исключительно облачным решениям, особенно при нестабильном интернете. Поэтому начальным решением стало сочетание ThingSpeak с MQTT для сбора данных с переключателей Sonoff на прошивке ESPurna и монитора CO2 от vThings . Это работает неплохо, но хотя облачный сервис ThingSpeak.com постоянно обновляется, его открытая версия не обновлялась с середины 2015 года. Среди множества доступных сервисов и программных платформ чаще других упоминается решение, поддерживаемое платформами мониторинга воздуха vThings и недавно добавленное в ESPurna . Речь о Domoticz , который описывается как:
система домашней автоматизации, позволяющая контролировать и настраивать различные устройства: освещение, переключатели, датчики/счётчики температуры, дождя, ветра, УФ-излучения, электроэнергии, газа, воды и многое другое. Уведомления/оповещения могут отправляться на любые мобильные устройства.
Система работает под Linux, Mac OS, Windows на платформе x86, а также на 32- и 64-битных платах ARM Linux, таких как Raspberry Pi и Cubieboard, при минимальных требованиях: 256 МБ ОЗУ и 200 МБ свободного места на диске. Она также умеет строить графики на основе данных, как показано ниже.

Кроме того, форумы выглядят очень активными , а последняя стабильная версия вышла в ноябре 2016 года; согласно странице загрузки , последняя бета-версия выпущена буквально вчера.
Будем действовать не спеша, поэтому сегодня попытаемся установить Domoticz на NanoPi NEO , поскольку это компактная плата с Linux. Однако официальная поддержка Domoticz для неё отсутствует, поэтому предстоит выяснить возможность установки на данную плату.
Domoticz не является дистрибутивом Linux, а представляет собой фреймворк, поэтому сначала требуется установить дистрибутив Linux. Оптимальным выбором для NanoPi NEO будет использование последнего релиза Armbian , Debian Jessie или Ubuntu Xenial.
Был загружен образ Debian, извлечён и записан на microSD карту в системе Ubuntu:
sudo apt install p7zip-full pv
7z x Armbian_5.24_Nanopineo_Debian_jessie_3.4.113.7z
sudo dd if=Armbian_5.24_Nanopineo_Debian_jessie_3.4.113.img | pv | sudo dd of=/dev/sdX bs=16M
sync
Замените /dev/sdX на идентификатор вашей SD-карты, который можно определить командой lsblk. Пользователи Windows могут записать прошивку через Win32DiskImager аналогично Raspberry Pi, предварительно распаковав образ Armbian.
Теперь вставляем microSD карту в плату, подаём питание для запуска. При отсутствии подключения к последовательной консоли потребуется терпение: первая загрузка займёт 3-4 минуты из-за расширения раздела microSD до полного объёма и создания аварийного SWAP-файла на 128 МБ.
После завершения доступен вход через последовательную консоль или SSH с учётными данными root / 1234. При первом входе потребуется пройти начальную настройку: сменить пароль root и создать нового пользователя с правами sudo.
ssh root@192.168.0.110
Warning: Permanently added '192.168.0.110' (ECDSA) to the list of known hosts.
root@192.168.0.110's password:
You are required to change your password immediately (root enforced)
_ _ ____ _ _ _
| \ | | __ _ _ __ ___ | _ \(_) | \ | | ___ ___
| \| |/ _` | '_ \ / _ \| |_) | | | \| |/ _ \/ _ \
| |\ | (_| | | | | (_) | __/| | | |\ | __/ (_) |
|_| \_|\__,_|_| |_|\___/|_| |_| |_| \_|\___|\___/
Welcome to ARMBIAN Debian GNU/Linux 8 (jessie) 3.4.113-sun8i
System load: 0.26 Up time: 50 sec
Memory usage: 8 % of 494Mb IP: 192.168.0.110
CPU temp: 39°C
Usage of /: 14% of 7.2G
New to Armbian? Check the documentation first: docs.armbian.com
Changing password for root.
(current) UNIX password:
Теперь при работающем Linux на плате, повторно войдя под новым пользователем, можно следовать инструкциям для Raspberry Pi и других ARM плат. Установка Domoticz выполняется одной командой для систем Debian/Ubuntu:
sudo curl -L install.domoticz.com | bash
Через 1-2 минуты, после обновления пакетов и загрузки Domoticz, запустится мастер начальной настройки.
В некоторых случаях нам потребуется фиксированный IP-адрес — либо путём настройки в Linux статического IP, либо установки постоянного IP, привязанного к MAC-адресу платы в маршрутизаторе. Второй вариант обычно предпочтительнее. Тем не менее, нажмём OK для продолжения.
Вас спросят, нужно ли включить доступ по HTTP и/или HTTPS. Я выбрал оба варианта, но для повышения безопасности, вероятно, стоит выбрать только HTTPS. Далее устанавливается номер порта HTTP (по умолчанию 8080), затем порт HTTPS (по умолчанию 443, скриншот отсутствует), и наконец — папка установки (по умолчанию ~/domoticz). Теперь должно появиться окно «Установка завершена!», где можно нажать OK для выхода из мастера.
Ух ты… Это было просто, и без ошибок. Но работает ли? Откроем в браузере https://192.168.0.110:443.
Возникнет ошибка «Ваше соединение не защищено», но это ожидаемо, поскольку Domoticz сгенерировал самоподписанный сертификат. Безопасно добавьте исключение в браузере, чтобы избежать проблемы в будущем. Данные останутся зашифрованными, но если планируется доступ к Domoticz из интернета, рекомендуется установить другой сертификат, например, от Let’s Encrypt .
После добавления исключения в браузере мы действительно получаем доступ к веб-интерфейсу Domoticz — установка прошла успешно, но будет отображаться «Нет избранных устройств…». Это нормально, так как требуется настройка, например, через раздел Оборудование .

Добавление оборудования в Domoticz – Кликните для увеличенияЗдесь можно настроить систему для работы с MQTT, локальными I2C-сенсорами, различными шлюзами и даже медиацентром Kodi. Уверен, что все сетевые или USB-устройства должны функционировать, а компоненты вроде «Локальных I2C-сенсоров», подключённых напрямую к плате, могут работать не всегда. В любом случае, это многообещающе, но на сегодня остановлюсь — требуется дальнейшее изучение, включая обновление прошивки Sonoff и настройку монитора CO2 vThings для Domoticz.
Выражаем свою благодарность источнику, с которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.