433MHz: различия между версиями
(Удалённая из перевода страница) |
Fizikdaos (обсуждение | вклад) |
||
(не показано 7 промежуточных версий 3 участников) | |||
Строка 1: | Строка 1: | ||
<languages/> | |||
<translate> | |||
{{DISPLAYTITLE:Радиоинтерфейс 433 МГц}} | |||
<!--T:2--> | |||
Контроллеры Wiren Board опционально комплектуются радиоинтерфейсом 433МГц на базе чипа RFM69. С его помощью можно принимать и отправлять сигналы пультов радиоуправления различными бытовыми устройствами. В базовой комплектации поддерживаются климатические датчики Oregon Scientific (протоколы версий 2 и 3) (см. [[Поддерживаемые устройства|таблицу совместимых устройств]]), а также устройства nooLite. | |||
<!--T:3--> | |||
В настоящее время в бета-версии находится более продвинутый драйвер радиокоммуникации rfsniffer, обеспечивающий поддержку более широкого спектра радиоуправляемых устройств. | В настоящее время в бета-версии находится более продвинутый драйвер радиокоммуникации rfsniffer, обеспечивающий поддержку более широкого спектра радиоуправляемых устройств. | ||
== Начало работы == <!--T:4--> | |||
<!--T:5--> | |||
[[File:RF_remore.png|250 px|thumb|right|Подключение антенны ]] | [[File:RF_remore.png|250 px|thumb|right|Подключение антенны ]] | ||
Поддержка радиоинтерфейса 433 МГц — опция, которую вы можете выбрать при покупке контроллера Wiren Board. На плате контроллера с поддержкой радиоинтерфейса распаян материнский разъем SMA (Sub-Miniature Version A), | <!--T:6--> | ||
Поддержка радиоинтерфейса 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 noo''' — пакетов от устройств Noolite, '''rx oregon''' — от датчиков Oregon Scientific. При наличии заведомо работоспособных устройств, функционирующих на частоте 433 МГц в зоне приема контроллера, эти параметры увеличиваются со временем. Например, нажатие кнопок на брелоке автосигнализации должно увеличить счетчик '''rx raw'''. При перезагрузке значения счетчиков обнуляются. Для распознанного оборудования в веб-интерфейсе создаются виртуальные устройства. | ||
== Устройства == <!--T:9--> | |||
<!--T:10--> | |||
Радиомодуль контроллера Wiren Board поддерживает устройства различного типа: датчики температуры и влажности, релейные модули, пульты дистанционного управления, радиовыключатели и т.п. Для каждого поддерживаемого устройства в Web-интерфейсе контроллера создается соответствующее виртуальное устройство, а в очереди сообщений mqtt публикуются его параметры. | Радиомодуль контроллера Wiren Board поддерживает устройства различного типа: датчики температуры и влажности, релейные модули, пульты дистанционного управления, радиовыключатели и т.п. Для каждого поддерживаемого устройства в Web-интерфейсе контроллера создается соответствующее виртуальное устройство, а в очереди сообщений mqtt публикуются его параметры. | ||
== Представление в Web-интерфейсе == <!--T:11--> | |||
<!--T:12--> | |||
{| class="wikitable " | {| class="wikitable " | ||
|- | |- | ||
Строка 34: | Строка 38: | ||
|} | |} | ||
<!--T:13--> | |||
[[File:Noolite.png|300 px|thumb|right|]] | [[File:Noolite.png|300 px|thumb|right|]] | ||
При обнаружении нового устройства создаются новые | При обнаружении нового устройства создаются новые устройства в веб-интерфейсе, а также новые mqtt-топики, описывающие состояние устройства. | ||
Пример использования: для привязки релейного модуля | <!--T:14--> | ||
Пример использования: для привязки релейного модуля 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--> | |||
<!--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 | ||
*Livolo | *Livolo | ||
*Raex | *Raex | ||
Строка 61: | Строка 102: | ||
|} | |} | ||
<!--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--> | |||
[[File:Radio_Settings.png|450 px|thumb|left|]] | [[File:Radio_Settings.png|450 px|thumb|left|]] | ||
[[File:RFM69_mqtt_brocker.png|450 px|thumb|left|]] | [[File:RFM69_mqtt_brocker.png|450 px|thumb|left|]] | ||
[[File:RFM69_Device_Policies.png|450 px|thumb|left|]] | [[File:RFM69_Device_Policies.png|450 px|thumb|left|]] | ||
===Группа параметров настройки драйвера — '''Radio settings''' === <!--T:22--> | |||
<!--T:23--> | |||
*'''lirc_device''' — специальный файл символьного устройства; создается для работы с битовым потоком данных (прием/передача) RFM69; значение по умолчанию — /dev/lirc0. Не требует изменений. | *'''lirc_device''' — специальный файл символьного устройства; создается для работы с битовым потоком данных (прием/передача) RFM69; значение по умолчанию — /dev/lirc0. Не требует изменений. | ||
*'''rfm_irq''' — номер прерывания от чипа RFM69. Не требует изменений. | *'''rfm_irq''' — номер прерывания от чипа RFM69. Не требует изменений. | ||
*'''rssi''' — максимальный уровень чувствительности приемника в dBi (чем больше по модулю отрицательное значение | *'''rssi''' — максимальный уровень чувствительности приемника в dBi (чем больше по модулю отрицательное значение, тем выше чувствительность, максимум: -120). С помощью этого параметра можно ограничить прием удаленных слабых сигналов от ненужного радиооборудования. | ||
*'''spi_device''' — специальный файл устройства для коммуникации по SPI-шине микропроцессора | *'''spi_device''' — специальный файл устройства для коммуникации по SPI-шине микропроцессора контроллера. Зависит от аппаратной модели контроллера. В Wiren Board 5 используется /dev/spidev32766.0 — шина 32766, chipselect — 0. | ||
===Группа параметров настройки '''MQTT settings'''=== <!--T:24--> | |||
<!--T:25--> | |||
Параметр '''host''' определяет адрес mqtt-брокера, куда драйвер будет публиковать сообщения от радиоустройств. По умолчанию — localhost. Предполагается, что брокер принимает соединения на порту 1883. | Параметр '''host''' определяет адрес mqtt-брокера, куда драйвер будет публиковать сообщения от радиоустройств. По умолчанию — localhost. Предполагается, что брокер принимает соединения на порту 1883. | ||
===Группа параметров настройки '''Device politics'''=== <!--T:26--> | |||
<!--T:27--> | |||
Параметры этой группы определяют, каким образом будут обнаруживаться и использоваться новые устройства. | Параметры этой группы определяют, каким образом будут обнаруживаться и использоваться новые устройства. | ||
*Список '''Known devices''' определяет, с какими устройствами будет работать драйвер, когда параметр '''use_devices_list''' установлен в значение true. Устройство имеет имя '''name''', политику отображения '''politics''' и интервал времени '''heartbeat''', по прошествии которого устройство считается неработоспособным, если от него не поступало сигналов. При значении этого параметра равного '''''-1''''' устройство считается работоспособным всегда. | <!--T:28--> | ||
*Список '''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''' — уровень отладочной информации в журнальном файле | ||
Строка 113: | Строка 150: | ||
*'''name''' — имя журнала | *'''name''' — имя журнала | ||
<!--T:32--> | |||
Возможно создание нескольких журнальных файлов с разными параметрами. | Возможно создание нескольких журнальных файлов с разными параметрами. | ||
<!--T:33--> | |||
*'''save_path''' — путь к директории, в которой сохраняются файлы дампа радиокоманд и отладочной информации | *'''save_path''' — путь к директории, в которой сохраняются файлы дампа радиокоманд и отладочной информации | ||
===Группа параметров настройки '''Enabled features'''=== <!--T:34--> | |||
<!--T:35--> | |||
Эта группа параметров используется для поддержки передачи данных на устройства NooLite. В списке '''Adresses of transfering devices''' можно указывать адреса устройств-передатчиков. | Эта группа параметров используется для поддержки передачи данных на устройства NooLite. В списке '''Adresses of transfering devices''' можно указывать адреса устройств-передатчиков. | ||
<!--T:36--> | |||
Список '''Enabled protocols''' позволяет выбрать протоколы тех поддерживаемых устройств, которые планируется подключать к контроллеру. | Список '''Enabled protocols''' позволяет выбрать протоколы тех поддерживаемых устройств, которые планируется подключать к контроллеру. | ||
</translate> |
Версия 20:19, 9 мая 2020
Контроллеры 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. Она обслуживает драйвер радиомодуля, создает новые устройства, обновляет их состояния и передает команды управления. Параметр rx raw обозначает количество принятых радиопакетов от любых устройств, rx noo — пакетов от устройств Noolite, rx oregon — от датчиков Oregon Scientific. При наличии заведомо работоспособных устройств, функционирующих на частоте 433 МГц в зоне приема контроллера, эти параметры увеличиваются со временем. Например, нажатие кнопок на брелоке автосигнализации должно увеличить счетчик rx raw. При перезагрузке значения счетчиков обнуляются. Для распознанного оборудования в веб-интерфейсе создаются виртуальные устройства.
Устройства
Радиомодуль контроллера Wiren Board поддерживает устройства различного типа: датчики температуры и влажности, релейные модули, пульты дистанционного управления, радиовыключатели и т.п. Для каждого поддерживаемого устройства в Web-интерфейсе контроллера создается соответствующее виртуальное устройство, а в очереди сообщений mqtt публикуются его параметры.
Представление в Web-интерфейсе
При обнаружении нового устройства создаются новые устройства в веб-интерфейсе, а также новые 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
Удаление 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
- 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 позволяет выбрать протоколы тех поддерживаемых устройств, которые планируется подключать к контроллеру.