БЛОГ

JetHome + IntraHouse

Контроллеры JetHome предназначены для решения задач домашней автоматизации и мониторинга: опроса датчиков, сбора и передачи данных, выполнения функций ПЛК в системах «умного дома».

Основной упор делается на работу с беспроводными устройствами Wi-Fi и ZigBee различных производителей, что очень интересно для домашнего применения.

На данный момент на сайте производителя представлено два продукта, имеющие модуль беспроводной связи Zigbee TI CC2538 + CC2592:

  • JetHub H1 в современном корпусе (1 Гб Озу)
  • JetHub D1 — универсальный контроллер на DIN рейку (512 Мб или 1 Гб Озу),  оснащенный дополнительными интерфейсами

Подробную информацию  можно посмотреть на сайте производителя. 

Оба контроллера имеют на борту Linux (Armbian), что позволяет установить систему IntraHouse непосредственно на контроллер и использовать его в качестве сервера умного дома.

В скобках отмечу, что там же можно приобрести отдельный Zigbee USB-стик
например JetHome USB-стик JetStick Z2 (Zigbee,CC2652P1) для случая, если вы просто хотите расширить свой умный дом zigbee устройствами.

Плагин системы IntraHouse zigbee, основанный на пакете zigbee2mqtt, позволяет это очень просто сделать.

В этой статье рассмотрена установка системы IntraHouse на контроллер JetHub и подключение zigbee устройств. В результате получим полностью работающий проект с визуализацией.

Cервер IntraHouse на контроллере JetHome

Мы установили систему и протестировали работу на контроллере JetHub D1 с 1Gb RAM, 8Gb eMMC Flash.

Контроллер имеет на борту несколько различных интерфейсов:

  • Модуль беспроводной связи Zigbee;
  • Два интерфейса RS-485;
  • 1-Wire;
  • 4 дискретных входа «сухой контакт»;
  • 3 релейных выхода.

В рамках системы IntraHouse можно будет получить доступ ко всем этим интерфейсам.

Итак, начали:

Установка системы IntraHouse

Для установки системы IntraHouse необходимо подключиться к контроллеру через SSH клиент. 
Заходим на контроллер  через терминал и по очереди выполняем следующие команды:

				
					sudo apt update
curl -sL https://git.io/JYNjw | sudo -E bash -s ru
				
			

Вся процедура установки занимает не больше 2 минут. В конце будет выдано сообщение:

				
					-----------------------------------------------------------------------------------

 Login: admin
 Password: 202020
 Web interface: http://192.168.0.137:8088/admin

 Complete! Thank you.
				
			

Имя и пароль для входа в систему и строка с адресом и портом. 

Первый запуск

Заходим в систему через веб браузер (Chrome, Safary):

				
					http://192.168.0.137:8088/admin
				
			

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

Откроется окно для ввода имени и пароля:

Вводим имя и пароль, которые были показаны в терминале и заходим в среду разработки (Project Manager):

Если нажать на кнопку «Интерфейс пользователя» в правом верхнем меню, в отдельной вкладке откроется пользовательский интерфейс демонстрационного проекта, который поставляется вместе с системой:

Доступ к интерфейсам JetHome через плагины IntraHouse

Для работы с устройствами по RS-485 можно использовать стандартный плагин Modbus

Для работы с датчиками 1-Wire,  дискретными входами и релейными выходами был создан специальный плагин JetHome D1

Наибольший интерес представляет работа с zigbee устройствами. Для этого установим плагин zigbee:

Установка и настройка плагина Zigbee

Установить плагин можно на вкладке «Плагины» основного дашборда. В документации на систему IntraHouse есть подробная инструкция по установке плагина.
Там же есть документация по настройке плагина Zigbee

После установки плагина необходимо выполнить его настройку.

  1. Правой кнопкой мыши на плагине добавить экземпляр zigbee1.
  2. Выбрать адрес Com порта для модуля Zigbee

Для контроллеров JetHub D1 это /dev/ttyAML2:

После настройки необходимо запустить плагин правой клавишей мыши на экземпляре zigbee1

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

В этой статье я буду использовать устройства Xiaomi:

  • Датчик открытия
  • Датчик температуры, влажности и давления
  • Датчик дыма
  • Двух-клавишный выключатель
  • Управляемая розетка

Настройка каналов

Переходим в настройку каналов:

Правой кнопкой мыши на папке All выбираем «Сканировать каналы».

Открывается окно сканирования:

Нажимаем кнопку «Сканировать»
Плагин переходит в режим сопряжения устройств.

Дальнейшие действия зависят от конкретных устройств. Для Xiaomi в большинстве устройств требуется зажать кнопку «pair» на несколько секунд и дождаться «мигания» светодиодаИногда требуется нажать на кнопку еще раз. Подробное описание сопряжения должно быть в инструкции на устройство.

После успешного добавления устройство автоматически появится в дереве каналов. Таким образом можно добавить сразу несколько устройств:

Двойным кликом в дереве на необходимых каналах перенести их в таблицу каналов: 

Нажать кнопку «Добавить каналы»

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

Привязка каналов к виртуальным устройствам

В системе IntraHouse все устройства являются виртуальными до тех пор, пока они не связаны с физическими каналами. Виртуальные устройства отображаются в визуализации, участвуют в сценариях и расписаниях. Таким образом можно настроить всю систему автоматизации без привязки к физическим устройствам. А затем связать эти виртуальные устройства с тем или иным физическим устройством. Причем, с точки зрения системы, не важно что является физическим устройством. В данном примере мы рассматриваем устройства Xiaomi, которые свяжем с виртуальными устройствами с помощью плагина Zigbee.

Для нашего примера можно использовать те устройства, которые уже есть в демонстрационном проекте. Или добавить новые.  Воспользуемся существующими устройствами. Некоторые из них уже привязаны к каналам плагина эмулятора. Их нужно отвязать. Это легко сделать в дереве устройств. Просто нажать кнопку отвязки:

На рисунке выше я отвязал датчик открытия. Аналогично, для нашего примера, нужно отвязать датчик температуры, датчик дыма и др.

Теперь возвращаемся в плагин Zigbee и выполним привязку каналов к свойствам виртуальных устройств:

 

При нажатии на кнопке привязки открывается окно для выбора устройства:

В дереве устройств находим датчик открытия и нажимаем кнопку OK на свойстве state 

Любой канал может быть для чтения и/или для записи. Для датчиков это, естественно, канал для чтения. Устанавливаем галку «Чтение» и нажимаем кнопку «Сохранить»:

Аналогично привязываем другие датчики:

В отличии от датчиков, актуаторами можно управлять. Для этого нужно установить галку «Запись». На скриншоте ниже я привязал правую кнопку выключателя к свойству state светильника:

Для теста можно попробовать послать команду выключателю.
В поле «Тест записи»  ввести 1 для включения или 0 для выключения. И нажать кнопку «Записать».

На этом настройка закончена. Можно перейти в пользовательский интерфейс и посмотреть работу:

В данной статье я описал работу системы IntraHouse на контроллере JetHome с устройствами Zigbee. Здесь мы не рассматривали вопросы построения собственных интерфейсов, сценарии, расписание, информирование о событиях и т.д и т.п. Это темы отдельных статей.

Оглавление:

Есть вопросы?
Напишите нам: