![image](https://habrastorage.org/getpro/habr/post_images/c21/709/7a5/c217097a58c492720f018abf5503db2a.png)
Год назад мы выпустили контроллер Wiren Board Smart Home. Благодаря невысокой цене и широким возможностям он имел успех среди энтузиастов.
Поэтому мы решили не останавливаться и выпустили новую версию — контроллер для автоматизации Wiren Board 4, к которому написали и новый софт.
Несмотря на название, покупатели часто использовали Wiren Board Smart Home и для совсем не “домашних” задач: сбора климатических параметров, опроса счётчиков и датчиков, удалённого контроля оборудования — то есть в качестве универсального логического контроллера.
Wiren Board 4 (как в железе, так и в ПО) лучше приспособлен для таких задач. Домашних пользователей это тоже коснулось — контроллер стал надёжнее.
Железо
![image](https://habrastorage.org/getpro/habr/post_images/b8c/1c1/4f9/b8c1c14f97735f7e2205cf88774fdf53.png)
Электроника контроллера подверглась глубокой переработке. При этом там, где возможно, осталась совместимость с предыдущей версией.
Изменения связаны в основном с устранением выявленных недостатков:
- Защита входов и общая помехозащищенность. Все входы защищены от случайной подачи напряжения до 24В.
- Расширен диапазон входного напряжения до 9-24 В, т. е. поддерживается два распространенных стандарта в автоматизации 12 и 24В.
- Добавлен аппаратный watchdog-таймер. Это важная штука, если контроллер находится далеко от вас.
- Один из портов RS-485 сделан гальванически развязанным.
- Защита от заряда аккумулятора при отрицательных температурах.
- Добавлены входы для “сухих контактов”. Подключение счетчиков с импульсными выходами, внешние переключатели и т. д.
- Убрали CAN с основной платы.
- Ну и, конечно, разноцветные нажимные клеммы! Монтаж теперь быстрее и надежнее.
Производство контроллера даже с минимальными модификациями — очень затратно, как по времени, так и по деньгам.
Поэтому чтобы сделать его более гибким, оставили место для платки расширения, и выделили для нее 3 клеммы. На разъем расширения выведено питание, UART, I2C, SPI. Сейчас есть платки с RS-232, так же планируются с CAN и DAC (0-10В).
![расширение](https://habrastorage.org/getpro/habr/post_images/678/f4b/099/678f4b0997db2d92805fe0ef07e2d93f.png)
Веб-интерфейс
![веб-интерфейс](https://habrastorage.org/getpro/habr/post_images/806/51d/8da/80651d8da08b123fc329a7b8c4379269.png)
К релизу Wiren Board 4 мы выпустили новый веб-интерфейс.
Изначально мы предполагали, что контроллер будет использоваться со сторонними интерфейсами. Оказалось, что существующие системы подходят плохо — их возможностей или не хватает, или они медленно работают, или их невозможно расширять.
В нашем локальном веб-интерфейсе HomeUI поддерживаются стандартные для автоматизации концепты: “комнаты”, dashboard-ы, представление отвязано от физического подключения. Интерфейс написан на Angular с использованием вебсокетов и Bootstrap, быстро работает, не нагружает контроллер и прилично выглядит на мобильных устройствах.
Конечно же, существующие варианты подключения к сторонним системам Majordomo и OpenHAB продолжают работать.
Движок правил
Также мы сделали мощную систему правил wb-rules. Движок правил заслуживает отдельного рассказа, и мы скоро напишем про него статью. Движок позволяет писать правила и сценарии, создавать виртуальные устройства, планировать действия на заданное время, обрабатывать события.
Правила пишутся на JavaScript, с ними легко разберётся и человек без навыков программирования.
Пример правил
defineRule("motion_detector", {
whenChanged: "wb-gpio/D1_IN",
then: function (newValue, devName, cellName) {
dev["wb-gpio"]["Relay_2"] = newValue;
dev["wb-mrm2_6"]["Relay 1"] = newValue;
}
});
defineRule("crontest_hourly", {
when: cron("@hourly"),
then: function () {
log("@hourly rule fired");
}
});
Периферийные устройства
Много работы сделано в системном ПО — в драйверах встроенных устройств и внешней периферии:
- драйвер для Modbus-RTU. Modbus — это стандарт для проводных периферийных исполнительных устройств и датчиков. Для многих устройств, с которыми мы тестировали работу, все параметры уже зашиты в драйвер. Пользователю для подключения устройств (например наших) остается добавить в конфиг-файл две строчки: модель устройства и его адрес.
- в драйвер цифровых входов и выходов мы добавили поддержку импульсных счётчиков. Теперь можно подключать недорогие приборы учёта напрямую к цифровым входам Wiren Board. Пользователю надо указать тип счётчика (вода, газ, электричество), константу (написана на счётчике) и этого достаточно, чтобы смотреть литры или ватты в веб-интерфейсе.
- поддерживаются и обычные цифровые сигналы: подключение герконов, датчиков движения и т.д. Реакция на события теперь мгновенная благодаря использованию прерываний.
- Доработан драйвер аналоговых входов. Теперь он поддерживает прямое измерение сопротивлений, что позволяет подключать резистивные датчики.
- При помощи сообщества пользователей, в драйвере радиомодуля на 433 МГц улучшилась поддержка погодных датчиков Oregon, поддерживаются новые устройства и новые команды для nooLite.
В бета-тестировании (тестеры приглашаются):
- Поддержка Z-wave. Z-wave поддерживается с помощью USB-стиков от z-wave.me, используется их сертифицированное ядро. Устройства интегрируются в нашу стандартную инфраструктуру.
- Драйвер SmartBus G4 и HDL. Это достаточно дорогие системы проводной домашней автоматизации, Wiren Board 4 позволяет использовать устройства этих стандартов совместно с более дешёвыми в проектах, где это возможно.
Облако Wiren Board Cloud
Локальный веб-интерфейс — это хорошо, но очень часто необходим доступ через Интернет. Для этого мы сделали облачный веб-интерфейс, который работает на наших серверах.
С сервером контроллеры Wiren Board обмениваются только данными, поэтому всё работает быстро и даже по GPRS.
Дополнительно можно подключать несколько контроллеров к одному интерфейсу, что например позволяет делать “мини-SCADA” системы для диспетчеризации.
Посмотреть в действии можно здесь: demo.contactless.ru.
Скидка для разработчиков
Мы сделали скидку 20% на образцы всех устройств нашего производства для разработчиков. Скидка распространяется на 1 экземпляр каждого устройства для физлиц.
Все подробности — на сайте и в центре документации.
Будем рады комментариям!