Difference between revisions of "433MHz"

From Wiren Board
Jump to: navigation, search
 
Line 50: Line 50:
 
Пример использования: для привязки релейного модуля nooLite к контроллеру выполните стандартную процедуру привязки релейного модуля к пульту, но вместо кнопки пульта нажмите кнопку '''bind''' в веб-интерфейсе.  
 
Пример использования: для привязки релейного модуля nooLite к контроллеру выполните стандартную процедуру привязки релейного модуля к пульту, но вместо кнопки пульта нажмите кнопку '''bind''' в веб-интерфейсе.  
 
После этого вы сможете отправлять команды на включение и выключение реле.
 
После этого вы сможете отправлять команды на включение и выключение реле.
 +
==Пример подключения==
 +
Рассмотрим подключение радио-устройства на примере модуля "Силовой блок Noolite SLF-1-300" (Модели с шифрованием и обратной связью (nooLite-F) несовместимы с контроллером, выбирайте те, которые поддерживают просто nooLite, без "-F". Есть модели, которые поддерживают и тот, и другой протоколы связи).
  
 +
Подключаем модуль в сеть и к нагрузке, нажимаем кнопку привязки, после этого заморгает светодиод на модуле. Затем на любом из пультов (для примера — на 0xb61) нажимаем кнопку **Bind**, светодиод заморгает часто, значит, модуль готов привязаться. Еще раз нажимаем кнопку, светодиод станет мигать относительно редко — значит, модуль привязан к виртуальному пульту.
 +
 +
В случае модуля SLF-1-300 управлять им можно с виртуального пульта переключателем state (включать или выключать) и кнопкой switch (изменять состояние включено-выключено-включено-...):
 +
 +
В MQTT этим органам управления соответствуют топики
 +
<code>/devices/noolite_tx_0xb61/controls/state</code> и <code>/devices/noolite_tx_0xb61/controls/switch</code>
 +
 +
Попробуем в командной строке управлять нагрузкой:
 +
команда
 +
<code>mosquitto_pub -t "/devices/noolite_tx_0xb61/controls/state/on" -m 1</code>
 +
включит нагрузку, а команда
 +
<code>mosquitto_pub -t "/devices/noolite_tx_0xb61/controls/state/on" -m 0</code>
 +
— выключит.
 +
Команда
 +
<code>mosquitto_pub -t "/devices/noolite_tx_0xb61/controls/switch/on" -m 0</code>
 +
будет изменять состояние (в топик можно публиковать любое значение)
 +
 +
Поскольку обратной связи нет, переключатель "state" в веб-интерфейсе не отражает текущее состояние реле!
 +
 +
В движке правил управлять реле можно следующим образом:
 +
<pre>
 +
//включить реле
 +
dev["noolite_tx_0xb61"]["state"]=true;
 +
 +
//выключить реле
 +
dev["noolite_tx_0xb61"]["state"]=false;
 +
 +
//изменить состояние реле (= true или =false)
 +
dev["noolite_tx_0xb61"]["switch"]=true;
 +
</pre>
  
 
== Обновление драйвера до wb-homa-rfsniffer == <!--T:15-->
 
== Обновление драйвера до wb-homa-rfsniffer == <!--T:15-->

Latest revision as of 14:14, 12 September 2019

Other languages:
English • ‎русский

Радиоинтерфейс 433 МГц

Контролеры Wiren Board опционально комплектуются радиоинтерфейсом 433МГц на базе чипа RFM69. С его помощью можно принимать и отправлять сигналы пультов радиоуправления различныими бытовыми устройствами. В базовой комплектации поддерживаются климатические датчики Oregon Scientific (протоколы версий 2 и 3) (см. таблицу совместимых устройств), а также устройства nooLite.

В настоящее время в бета-версии находится более продвинутый драйвер радиокоммуникации rfsniffer, обеспечивающий поддержку более широкого спектра радиоуправляемых устройств.


Начало работы

Подключение антенны

Поддержка радиоинтерфейса 433 МГц — опция, которую вы можете выбрать при покупке контроллера Wiren Board. На плате контроллера с поддержкой радиоинтерфейса распаян материнский разъем SMA (Sub-Miniature Version A), обозначеный "RF remote", на который накручивается ответный разъем антенны 433 МГц. При монтаже контроллера в металлическом щите антенну следует располагать за его пределами для обеспечения надежной радиосвязи.


Системный сервис

Параметры сервиса wb-homa-ism-radio

За поддержку радиоинтерфейса отвечает служба wb-homa-ism-radio. Она обслуживает драйвер радиомодуля, создает новые устройства, обновляет их состояния и передает команды управления. Параметр rx raw обозначает количество принятых радиопакетов от любых устройств, rx noo — пакетов от устройств Noolite, rx oregon — от датчиков Oregon Scientific. При наличии заведомо работоспособных устройств, функционирующих на частоте 433 МГц в зоне прием контроллера, эти параметры увеличиваются со временем. Например, нажатие кнопок на брелоке автосигнализации должно увеличить счетчик rx raw. При перезагрузке значения счетчиков обнуляются. Для распознанного оборудования в веб-интерфейсе создаются виртуальные устройства.


Устройства

Радиомодуль контроллера Wiren Board поддерживает устройства различного типа: датчики температуры и влажности, релейные модули, пульты дистанционного управления, радиовыключатели и т.п. Для каждого поддерживаемого устройства в Web-интерфейсе контроллера создается соответствующее виртуальное устройство, а в очереди сообщений mqtt публикуются его параметры.


Представление в Web-интерфейсе

1d20.png
149f.png
Noolite.png

При обнаружении нового устройства создаются новые устройств в веб-интерфейсе а также новые mqtt-топики, описывающие состояние устройства.

Пример использования: для привязки релейного модуля nooLite к контроллеру выполните стандартную процедуру привязки релейного модуля к пульту, но вместо кнопки пульта нажмите кнопку bind в веб-интерфейсе. После этого вы сможете отправлять команды на включение и выключение реле.

Пример подключения

Рассмотрим подключение радио-устройства на примере модуля "Силовой блок Noolite SLF-1-300" (Модели с шифрованием и обратной связью (nooLite-F) несовместимы с контроллером, выбирайте те, которые поддерживают просто nooLite, без "-F". Есть модели, которые поддерживают и тот, и другой протоколы связи).

Подключаем модуль в сеть и к нагрузке, нажимаем кнопку привязки, после этого заморгает светодиод на модуле. Затем на любом из пультов (для примера — на 0xb61) нажимаем кнопку **Bind**, светодиод заморгает часто, значит, модуль готов привязаться. Еще раз нажимаем кнопку, светодиод станет мигать относительно редко — значит, модуль привязан к виртуальному пульту.

В случае модуля SLF-1-300 управлять им можно с виртуального пульта переключателем state (включать или выключать) и кнопкой switch (изменять состояние включено-выключено-включено-...):

В MQTT этим органам управления соответствуют топики /devices/noolite_tx_0xb61/controls/state и /devices/noolite_tx_0xb61/controls/switch

Попробуем в командной строке управлять нагрузкой: команда mosquitto_pub -t "/devices/noolite_tx_0xb61/controls/state/on" -m 1 включит нагрузку, а команда mosquitto_pub -t "/devices/noolite_tx_0xb61/controls/state/on" -m 0 — выключит. Команда mosquitto_pub -t "/devices/noolite_tx_0xb61/controls/switch/on" -m 0 будет изменять состояние (в топик можно публиковать любое значение)

Поскольку обратной связи нет, переключатель "state" в веб-интерфейсе не отражает текущее состояние реле!

В движке правил управлять реле можно следующим образом:

//включить реле
dev["noolite_tx_0xb61"]["state"]=true;

//выключить реле
dev["noolite_tx_0xb61"]["state"]=false;

//изменить состояние реле (= true или =false)
dev["noolite_tx_0xb61"]["switch"]=true;

Обновление драйвера до wb-homa-rfsniffer

Новая версия wb-homa-rfsniffer драйвера 433 МГц охватывает более широкий спектр устройств, функционирующих на частоте 443 МГц, но находится в стадии разработки. Для установки новой версии драйвера требуется удалить wb-homa-ism-radio совместная работа этих драйверов не поддерживается. В настоящий момент rfsniffer НЕ включает в себя полный функционал ism-radio: основное его назначение — получение данных с датчиков (управления из веб-интерфейса нет). В настоящий момент поддерживаются протоколы:

  • Oregon (V2 + V3)
  • nooLite
  • Livolo
  • Raex
  • RST
  • Rubitek
  • X10
  • VHome
  • EV1527
Rubitek.png
EV1527.png


Удаление wb-homa-ism-radio выполняется командой apt-get remove wb-homa-ism-radio. Установка новой версии — командой apt-get update && apt-get install wb-homa-rfsniffer. Убедитесь, что новый драйвер запущен: service wb-homa-rfsniffer status.

На боковой панели Web-интерфейса в разделе Configs появится доступ (пункт RFM69 Driver Configuration) к настройкам драйвера, хранящимся в файле /etc/wb-homa-rfsniffer.conf.


Настройки параметров rfsniffer

Radio Settings.png
RFM69 mqtt brocker.png
RFM69 Device Policies.png


Группа параметров настройки драйвера — Radio settings

  • lirc_device — специальный файл символьного устройства; создается для работы с битовым потоком данных (прием/передача) RFM69; значение по умолчанию — /dev/lirc0. Не требует изменений.
  • rfm_irq — номер прерывания от чипа RFM69. Не требует изменений.
  • rssi — максимальный уровень чувствительности приемника в dBi (чем больше по модулю отрицательное значение — тем выше чувствительность, максимум: -120). С помощью этого параметра можно ограничить прием удаленных слабых сигналов от ненужного радиооборудования.
  • spi_device — специальный файл устройства для коммуникации по SPI-шине микропроцессора контрроллера. Зависит от аппаратной модели контроллера. В Wiren Board 5 используется /dev/spidev32766.0 — шина 32766, chipselect — 0.


Группа параметров настройки MQTT settings

Параметр host определяет адрес mqtt-брокера, куда драйвер будет публиковать сообщения от радиоустройств. По умолчанию — localhost. Предполагается, что брокер принимает соединения на порту 1883.



Группа параметров настройки Device politics

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

  • Список Known devices определяет, с какими устройствами будет работать драйвер, когда параметр use_devices_list установлен в значение true. Устройство имеет имя name, политику отображения politics и интервал времени heartbeat, по прошествии которого устройство считается неработоспособным, если от него не поступало сигналов. При значении этого параметра равного -1 устройство считается работоспособным всегда.
  • unknown_devices_politics — отображать ли ранее неизвестные радиоустройства
  • use_devices_list — отображать ли устройства только из разрешенного списка


Группа параметров настройки DEBUG settings

Данная группа отвечает за ведение логов отладочной информации.

  • сonsole_level — уровень отладочной информации в консоли
  • file_level — уровень отладочной информации в журнальном файле
  • file_name — путь к журнальному файлу драйвера (/run/wb-homa-rfsniffer.log)
  • log_time — включать ли в отладочную информацию временные метки
  • name — имя журнала

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

  • save_path — путь к директории, в которой сохраняются файлы дампа радиокоманд и отладочной информации


Группа параметров настройки Enabled features

Эта группа параметров используется для поддержки передачи данных на устройства NooLite. В списке Adresses of transfering devices можно указывать адреса устройств-передатчиков.

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