433MHz: различия между версиями

Материал из Wiren Board
(Удалённая из перевода страница)
 
Строка 1: Строка 1:
<languages/>
=Радиоинтерфейс 433 МГц=
<translate>
{{DISPLAYTITLE:Радиоинтерфейс 433 МГц}}
В настоящее время модуль [[Wiren Board 6: Модуль расширения 433MHz (WBE2S-R-433MHZ) | WBE2S-R-433MHZ]] снят с производства, его поддержки нет и работоспособность в актуальных релизах ПО не гарантируется.


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


<!--T:3-->
Контролеры Wiren Board опционально комплектуются радиоинтерфейсом 433МГц на базе чипа RFM69. С его помощью можно принимать и отправлять сигналы пультов радиоуправления различныими бытовыми устройствами. В базовой комплектации поддерживаются климатические датчики Oregon Scientific (протоколы версий 2 и 3) (см. [[Поддерживаемые устройства|таблицу совместимых устройств]]), а также устройства nooLite.
В бета-версии находится более продвинутый драйвер радиокоммуникации rfsniffer, обеспечивающий поддержку более широкого спектра радиоуправляемых устройств.  


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


<!--T:5-->
[[File:RF_remore.png|250 px|thumb|right|Подключение антенны ]]
[[File:RF_remore.png|250 px|thumb|right|Подключение антенны ]]


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


== Системный сервис == <!--T:7-->
== Системный сервис ==


<!--T:8-->
[[File:WEB_ISM_Radio.png|250 px|thumb|left|Параметры сервиса wb-homa-ism-radio]]
[[File:WEB_ISM_Radio.png|250 px|thumb|left|Параметры сервиса wb-homa-ism-radio]]
За поддержку радиоинтерфейса отвечает служба ''wb-homa-ism-radio''. Она обслуживает драйвер радиомодуля, создает новые устройства, обновляет их состояния и передает команды управления.
За поддержку радиоинтерфейса отвечает служба ''wb-homa-ism-radio''. Она обслуживает драйвер радиомодуля, создает новые устройства, обновляет их состояния и передает команды управления.
Параметр '''rx raw''' обозначает количество принятых радиопакетов от любых устройств, '''rx noo''' — пакетов от устройств Noolite, '''rx oregon''' — от датчиков Oregon Scientific. При наличии заведомо работоспособных устройств, функционирующих на частоте 433 МГц в зоне приема контроллера, эти параметры увеличиваются со временем. Например, нажатие кнопок на брелоке автосигнализации должно увеличить счетчик  '''rx raw'''. При перезагрузке значения счетчиков обнуляются. Для распознанного оборудования в веб-интерфейсе создаются виртуальные устройства.
Параметр '''rx raw''' обозначает количество принятых радиопакетов от любых устройств, '''rx noo''' — пакетов от устройств Noolite, '''rx oregon''' — от датчиков Oregon Scientific. При наличии заведомо работоспособных устройств, функционирующих на частоте 433 МГц в зоне прием контроллера, эти параметры увеличиваются со временем. Например, нажатие кнопок на брелоке автосигнализации должно увеличить счетчик  '''rx raw'''. При перезагрузке значения счетчиков обнуляются. Для распознанного оборудования в веб-интерфейсе создаются виртуальные устройства.
 


== Устройства == <!--T:9-->
== Устройства ==


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


== Представление в Web-интерфейсе ==
[[File:Noolite.png|300 px|thumb|right|]]


<!--T:13-->
== Представление в Web-интерфейсе ==
При обнаружении нового устройства создаются новые устройства в веб-интерфейсе, а также новые mqtt-топики, описывающие состояние устройства.


<!--T:14-->
Пример использования: для привязки релейного модуля NooLite к контроллеру выполните стандартную процедуру привязки релейного модуля к пульту, но вместо кнопки пульта нажмите кнопку '''bind''' в веб-интерфейсе.
После этого вы сможете отправлять команды на включение и выключение реле.
{| class="wikitable "
{| class="wikitable "
  |-
  |-
Строка 45: Строка 34:
|}
|}


==Пример подключения==
[[File:Noolite.png|300 px|thumb|right|]]
Рассмотрим подключение радио-устройства на примере модуля "Силовой блок NooLite SLF-1-300" (Модели с шифрованием и обратной связью (NooLite-F) несовместимы с контроллером, выбирайте те, которые поддерживают просто NooLite, без "-F". Есть модели, которые поддерживают и тот, и другой протоколы связи).
При обнаружении нового устройства создаются новые устройств в веб-интерфейсе а также новые mqtt-топики, описывающие состояние устройства.


Подключаем модуль в сеть и к нагрузке, нажимаем кнопку привязки, после этого заморгает светодиод на модуле. Затем на любом из пультов (для примера — на 0xb61) нажимаем кнопку **Bind**, светодиод заморгает часто, значит, модуль готов привязаться. Еще раз нажимаем кнопку, светодиод станет мигать относительно редко — значит, модуль привязан к виртуальному пульту.
Пример использования: для привязки релейного модуля nooLite к контроллеру выполните стандартную процедуру привязки релейного модуля к пульту, но вместо кнопки пульта нажмите кнопку '''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 ==


[[File:Rubitek.png|350 px|thumb|right|]]
[[File:EV1527.png|350 px|thumb|right|]]
<!--T:16-->
Новая версия wb-homa-rfsniffer драйвера 433 МГц охватывает более широкий спектр устройств, функционирующих на частоте 443 МГц, но находится в стадии разработки. Для установки новой версии драйвера требуется удалить wb-homa-ism-radio совместная работа этих драйверов не поддерживается. В настоящий момент rfsniffer НЕ включает в себя полный функционал ism-radio: основное его назначение — получение данных с датчиков (управления из веб-интерфейса нет).
Новая версия wb-homa-rfsniffer драйвера 433 МГц охватывает более широкий спектр устройств, функционирующих на частоте 443 МГц, но находится в стадии разработки. Для установки новой версии драйвера требуется удалить wb-homa-ism-radio совместная работа этих драйверов не поддерживается. В настоящий момент rfsniffer НЕ включает в себя полный функционал ism-radio: основное его назначение — получение данных с датчиков (управления из веб-интерфейса нет).
В настоящий момент поддерживаются протоколы:
В настоящий момент поддерживаются протоколы:


<!--T:17-->
*Oregon (V2 + V3)
*Oregon (V2 + V3)
*NooLite
*nooLite
*Livolo
*Livolo
*Raex
*Raex
Строка 97: Строка 55:
*VHome
*VHome
*EV1527
*EV1527
{| class="wikitable "
|-
| [[File:Rubitek.png|250 px|thumb|left|]]
| [[File:EV1527.png|250 px|thumb|right|]]
|}


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


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


== Настройки параметров rfsniffer == <!--T:20-->


<!--T:21-->
== Настройки параметров rfsniffer ==
[[File:Radio_Settings.png|450 px|thumb|right|]]
 
[[File:RFM69_mqtt_brocker.png|450 px|thumb|right|]]  
[[File:Radio_Settings.png|450 px|thumb|left|]]
[[File:RFM69_Device_Policies.png|450 px|thumb|right|]]  
[[File:RFM69_mqtt_brocker.png|450 px|thumb|left|]]  
[[File:RFM69_Device_Policies.png|450 px|thumb|left|]]  
 
 


===Группа параметров настройки драйвера — '''Radio settings''' === <!--T:22-->
===Группа параметров настройки драйвера — '''Radio settings''' ===


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


===Группа параметров настройки '''MQTT settings'''=== <!--T:24-->
===Группа параметров настройки '''MQTT settings'''===
 


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


===Группа параметров настройки '''Device politics'''=== <!--T:26-->


<!--T:27-->
 
 
===Группа параметров настройки '''Device politics'''===
 
Параметры этой группы определяют, каким образом будут обнаруживаться и использоваться новые устройства.  
Параметры этой группы определяют, каким образом будут обнаруживаться и использоваться новые устройства.  


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


===Группа параметров настройки '''DEBUG settings'''===  
 
===Группа параметров настройки '''DEBUG settings'''===
 
   
   
<!--T:30-->
Данная группа отвечает за ведение логов отладочной информации.  
Данная группа отвечает за ведение логов отладочной информации.  


<!--T:31-->
*'''сonsole_level''' — уровень отладочной информации в консоли
*'''сonsole_level''' — уровень отладочной информации в консоли
*'''file_level''' — уровень отладочной информации в журнальном файле
*'''file_level''' — уровень отладочной информации в журнальном файле
Строка 146: Строка 113:
*'''name''' — имя журнала  
*'''name''' — имя журнала  


<!--T:32-->
Возможно создание нескольких журнальных файлов с разными параметрами.
Возможно создание нескольких журнальных файлов с разными параметрами.


<!--T:33-->
*'''save_path''' — путь к директории, в которой сохраняются файлы дампа радиокоманд и отладочной информации
*'''save_path''' — путь к директории, в которой сохраняются файлы дампа радиокоманд и отладочной информации


===Группа параметров настройки '''Enabled features'''=== <!--T:34-->


<!--T:35-->
===Группа параметров настройки '''Enabled features'''===
 
Эта группа параметров используется для поддержки передачи данных на устройства NooLite. В списке '''Adresses of transfering devices''' можно указывать адреса устройств-передатчиков.
Эта группа параметров используется для поддержки передачи данных на устройства NooLite. В списке '''Adresses of transfering devices''' можно указывать адреса устройств-передатчиков.


<!--T:36-->
Список '''Enabled protocols''' позволяет выбрать протоколы тех поддерживаемых устройств, которые планируется подключать к контроллеру.
Список '''Enabled protocols''' позволяет выбрать протоколы тех поддерживаемых устройств, которые планируется подключать к контроллеру.
</translate>

Текущая версия на 10:21, 6 сентября 2022

Радиоинтерфейс 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 в веб-интерфейсе. После этого вы сможете отправлять команды на включение и выключение реле.


Обновление драйвера до 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 позволяет выбрать протоколы тех поддерживаемых устройств, которые планируется подключать к контроллеру.