Умный дом Noolite. Датчики и шлюз. Java API

в 12:11, , рубрики: API для Java, noolite, Железо, Программирование, Софт, умный дом

Умный дом Noolite. Датчики и шлюз. Java API - 1

Здравствуй, уважаемый %username%!

Сегодня мы будем рассматривать относительно новые девайсы белорусской компании Ноотехника — датчики и Ethernet-шлюз. Так же будет предоставлена Java-библиотека для работы с API.
За подробностями — под кат.

Noolite для чайников

Если вы уже знакомы с Noolite, этот раздел можно смело пропустить.
Для остальных — начнем с самого начала. Что такое система Noolite, в чем ёё плюсы и минусы, и с чем всё это есть?
Noolite — это система для автоматизации вашего дома. Датчики, например, сделаны таким образом, что могут функционировать практически самостоятельно, без участия пользователя или ПК, по заранее заданному алгоритму.
Изначально были выпущены комплекты, состоявшие из силового блока, который непосредственно управлял нагрузкой, и радио-пульта в виде настенного выключателя.
В общем виде это выглядит приблизительно так:

image
image

Сенсорный выключатель достаточно эргономичный, по кнопкам привыкаешь попадать очень быстро, даже на ощупь. Достаточно тонкий, а размеры позволяют закрыть дыру в стене от предыдущего выключателя :) Существуют вариации, в зависимости от управляемой нагрузки и прочее. Работает всё это добро на частоте 433 МГц (433,92 МГц если быть точнее).
Давайте теперь рассмотрим нюансы использования и отличия от других систем для построения умного дома.

Начнем с плюсов:

  • Несомненно, это цена конечных устройств — она, по меркам строителя умного дома, весьма невысока
  • Разработчик и производитель — компания с братской Белоруссии. Покупка и доставка, благодаря сети дилеров, перестает быть головной болью (пользуясь случаем, передаю привет EMS, блджад).
    К слову сказать, с разработчиками можно пообщаться по скайпу — все очень адекватные, дружелюбные и без пафоса
  • Простота настройки, установки и подключения в единую сеть
  • Открытый и документированный протокол

Из недостатков:

  • Самый главный для умного дома, на мой взгляд, это отсутствие обратной связи. Т.е. в устройстве есть либо передатчик, либо приемник (за исключением Ethernet-шлюза, но о нем мы поговорим ниже). Таким образом, мы не сможем узнать, дошла ли наша команда до исполнительного устройства или узнать в определенный момент времени о состоянии исполнительного устройства. Тут есть один костыль, о котором мы поговорим тоже далее
  • Маленький спектр конечных устройств. Конкретно — датчики. Весь ряд, на данный момент, представлен датчиками температуры, влажности и движения. Ну тут, думаю, дело наживное.
  • Слабая помехоустойчивость. У меня, к сожалению, команды очень редко, но бывают теряются

На мой взгляд, плюсы перевешивают минусы при необходимости массовой автоматизации. Тем более, что самый главный недостаток — отсутствие обратной связи мы можем отчасти побороть.
Тут на сцену выходят адаптеры для ПК: передатчик и приемник.

image
image

Как вы видите, они представляют собой обычные USB-донглы, которые определяются ОС как HID-устройство. Изначально существовала только версия передатчика, которую позже, после многочисленных просьб трудящихся, дополнили версией приёмника. Почему не сделать единое устройство? Не знаю. Возможно дело в цене, возможно, что «исторически так сложилось». Впрочем, единое устройство всё же имеется, но об этом позже.
Кстати, после появления датчиков, приёмник из-за другой версии API не мог принимать данные с них. Компания выпустила обновленную версию и бесплатно меняет старые приемники на новые, что уже говорит о многом.
Так вот, мы можем получить какое-то подобие обратной связи используя приемник на ПК. В таком случае, команды, передаваемые с радиопультов будут приниматься так же и данным приемником. Конечно, узнать о состоянии устройства в произвольный момент времени мы так и не сможем, но это всё-таки уже лучше чем ничего.

Теперь перейдем к новинкам.

Датчики

В данный момент датчики Noolite существуют в виде трёх типов устройств. Это:

Датчик температуры PT111
Умный дом Noolite. Датчики и шлюз. Java API - 6
Датчик температуры и влажности PT112
Умный дом Noolite. Датчики и шлюз. Java API - 7
Тепловой датчик движения PM111 (+уровень освещения)
Умный дом Noolite. Датчики и шлюз. Java API - 8

Устройства выполнены достаточно прилично, ничего не шатается, не разваливается. В комплекте идут батарейки, что тоже приятно :) Дизайн будет уместен в любой квартире/доме.
Давайте посмотрим на них поближе (все фото взяты отсюда: ссылка):

Датчик движения PM111

Имеет на борту PIR-сенсор и датчик освещенности. К сожалению, работает только как радио-пульт, т.е. при срабатывании подает на связанное с ним устройство команду включения-выключения. Таким образом, получить с него данные об освещенности не представляется возможным.

image

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

Датчик температуры и влажности PT111

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

image

Датчик температуры PT112

Тут всё, как и у РТ111, за исключением того, что датчик влажности отсутствует.

Все температурные датчики шлют свои показания раз в час, либо при изменении температуры на 0.5С или влажности на 1%. Датчик движения шлет команду включения/выключения 2 раза для надежности.

Ethernet-шлюз

image

Это последняя (вроде как) разработка Ноотехники, которая представляет собой коробочку, похожую на обычный Wi-Fi роутер и предоставляет возможности управления 32 устройствами и приёма данных с 4 датчиков.
Так же имеется простенький веб-интерфейс для управления всем этим.

image

Из доступных функций:

  • управление силовыми блоками системы nooLite;
  • отображение информации с датчиков температуры/влажности (до 4 датчиков);
  • 32 независимых канала управления;
  • распределение каналов и датчиков по группам (до 16 групп);
  • 8 независимых недельных таймеров;
  • автоматическое обновление времени;
  • импорт/экспорт пользовательских настроек;
  • возможность обновления встроенного программного обеспечения и веб‑интерфейса управления;
  • кроссплатформенный и кроссбраузерный веб-интерфейс, адаптированный для использования на мобильных устройствах c платформой Android, Apple iOS, Windows Phone, Bada;
  • поддержка API для передачи команд управления через HTTP запросы.

Цена тоже достаточна высока, но, как мне пояснили в компании, она очень сильно зависит от количества выпущенных устройств. Т.е. чем больше будет продано, тем дешевле оно будет обходиться конечному покупателю.

Резюмирую выше сказанное — у Ноотехники удалось, на мой взгляд, выпустить достойную коллекцию устройств, которые могут конкурировать на рынке «умного дома» с такими признанными лидерами, как, например, ZWave.
У производителя есть планы на выпуск следующего поколения устройств — с поддержкой обратной связи и шифрованием.
Звучит многообещающе, будем следить.

Java API

Для тех терпеливых, кто смог дочитать до конца, представляю библиотеку для работы с устройствами Noolite для Java: github.com/Neuronix2/Noolite4J

Протестировать на всех устройствах не получилось, ввиду отсутствия некоторых позиций, так что пул-реквесты приветствуются.
Так же, пользуясь случаем, в очередной раз приглашаю энтузиастов «умного дома» присоединиться к разработке на Java github.com/Neuronix2/IRISv2

Автор: Neuronix

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js