WB-MIR v1 - Modbus IR Remote Control/en: различия между версиями

Материал из Wiren Board
(Новая страница: «On the example of a fully functional module, consider the main controls of the module and their purpose. {| class="wikitable" ! The name of the control !Purpose |…»)
(Новая страница: «<!--{{DISPLAYTITLE:Устройство IR-управления WB-MIR v1}}-->»)
(не показаны 24 промежуточные версии этого же участника)
Строка 3: Строка 3:
<!--{{DISPLAYTITLE:Устройство IR-управления WB-MIR v1}}-->
<!--{{DISPLAYTITLE:Устройство IR-управления WB-MIR v1}}-->


'''This page describes the device WB-MIR v1, discontinued in 11.2017. Direct replacement is improved module [[WB-MIR v2 - Modbus IR Remote Control/en|WB-MIR v2]]'''
'''Эта страница описывает устройство WB-MIR v1, снятое с производства в 11.2017. Прямая замена - улучшенный модуль [[WB-MIR v2 - Modbus IR Remote Control|WB-MIR v2]]'''


[[File:WB-MIR-sample.png |300px|thumb|right| WB-MIR Module]]
[[File:WB-MIR-sample.png |300px|thumb|right| Модуль WB-MIR]]
[[File:Wb-MIR-sample_internals.png |300px|thumb|right| Module internals. Contact labels are visible on the connectors]]
[[File:Wb-MIR-sample_internals.png |300px|thumb|right| Внутренее устройство модуля. Видны подписи контактов на разъёмах]]
[[File:Wb-mir-ir-transmitter.png |300px|thumb|right| IR transmitter hole on the back of the module]]
[[File:Wb-mir-ir-transmitter.png |300px|thumb|right| Отверстие ИК-передатчика на задней стороне модуля]]


Learning module with IR transceiver for IR control of various devices, including air conditioners, TVs, etc.
Обучаемый модуль с ИК-приёмопередатчиком для управления по ИК-каналу различными устройствами, включая кондиционеры, телевизоры и т.п.
The module is controlled from the controller or PC via RS-485 bus by Modbus commands.
Управление модулем производится с контроллера или ПК по шине RS-485 командами по протоколу MODBUS.


== Inputs==  
== Входы ==
The module is powered by V+ and GND screw terminals, the RS-485 line is connected to inputs A and B. the DS18B20 External temperature sensor is connected via a parasitic power supply circuit, when the +5V and GND terminals are connected and connected to the GND terminal, the data output is connected to the 1-W terminal.  
Питание модуля подается на винтовые зажимы V+ и GND, линия RS-485 подключается к входам A и B. Внешний датчик температуры DS18B20 подключается по паразитной схеме питания, когда выводы +5В и GND объединены и подключены к клемме GND, вывод данных подключается к зажиму 1-W.  
D some models have an internal temperature sensor DS18B20 in the case TO-92, soldered in the upper left part of the module Board (the top view of the sensor housing is printed in this place by silkscreen).
D некоторых моделях присутствует внутренний датчик температуры DS18B20 в корпусе TO-92, распаянный в верхней левой части платы модуля (вид сверху корпуса датчика нанесен в этом месте шелкографией).


==Installation==
==Монтаж==
The module is mounted on the air conditioner on a double-sided tape so that a small hole of the emitting diode on the reverse side would be located opposite the IR receiver of the air conditioner, without closing the receiver from the main console of the device. The position is selected experimentally due to the huge variety of designs of air conditioning housings. The same applies to any household devices controlled by IR channel.
Модуль монтируется на кондиционер на двусторонний скотч таким образом, чтобы небольшое отверстие излучающего диода с обратной стороны располагалось бы напротив ИК-приемника кондиционера, не закрывая приемник от основного пульта устройства. Положение подбирается экспериментальным путем ввиду огромного множества конструкций корпусов кондиционеров. То же относится и к любым бытовым устройствам, управляемым по ИК-каналу.


== Specifications ==
== Технические характеристики ==
{| class="wikitable"
{| class="wikitable"
! style="text-align: center;" | Option
! style="text-align: center;" | Параметр
! style="text-align: center;" | Value
! style="text-align: center;" | Значение
|-
|-
! colspan="2" |Power
! colspan="2" |Питание
|-
|-
|Supply voltage
|Напряжение питания
|9 — 24 V DC
|9 — 24 В постоянного тока
|-
|-
|Power consumption
|Потребляемая мощность
|
|
0.1 W
0.1 Вт
|-
|-
|Transmitter range
|Дальнодействие передатчика
| < 1m
| <
|-
|-
| External sensor
| Внешние датчики
| Digital temperature sensor DS18B20 can be connected.
| Возможность подключения цифрового датчика температуры DS18B20.
|-
|-
! colspan="2" |Control
! colspan="2" |Управление
|-
|-
|Management interface
|Интерфейс управления
|RS-485
|RS-485
|-
|-
|Interface isolation
|Изоляция интерфейса
|Uninsulated
|Неизолированный
|-
|-
|Communication protocol
|Протокол обмена данными
|Modbus RTU, address is set by software, factory settings are indicated on the label
|Modbus RTU, адрес задается программно, заводские настройки указаны на наклейке
|-
|-
|RS-485 interface parameters
|Параметры интерфейса RS-485
|  
|  
speed 9600 bps; data bits 8; parity N; stop bits 2;  
скорость 9600 бит/с; данные — 8 бит; четность N; стоп-биты 2;  
Starting from firmware version '''3.1.0''' parameters interfaces can be configured programmatically:
Начиная с версии прошивки '''3.1.0''' параметры интерфейсы могут быть настроены программно:
*Speed: 1200, 2400, 4800, 9600 (default), 19200, 38400, 57600, 115200 bit/s <br>([[UART_Communication_Settings/en|configure RS-485 communication parameters for wiren Board modbus devices]])
*Скорость: 1200, 2400, 4800, 9600 (по умолчанию), 19200, 38400, 57600, 115200 бит/с <br>([[UART_Communication_Settings|Настройка параметров обмена данными по RS-485 для modbus-устройств Wiren Board]])
*Data: 8 bit
*Данные: 8 бит
*Parity check: none (default), 1 - odd (odd), 2 - even (even)  
*Проверка чётности: нет (по умолчанию), 1 - нечётный (odd), 2 - чётный (even)  
*Stop bits: 2 (default), 1
*Стоповых бит: 2 (по умолчанию), 1
|-
|-
! colspan="2" |dimensions
! colspan="2" |Габариты
|-
|-
| Size
| Габариты
| 45x35x14 mm
| 45x35x14 мм
|-
|-
! colspan="2" |Operating conditions
! colspan="2" |Условия эксплуатации
|-
|-
| Air temperature
| Температура воздуха
| -40°C to +80°C
| -40°С до +80°С
|-
|-
| Relative humidity
| Относительная влажность воздуха
| up to 98%,without moisture condensate
| до 98%,без конденсата влаги
|}
|}


== Learning and using the module ==
== Обучение и использование модуля ==


Detailed description and use of the module, and a map of the registers is described in section [[WB-MSx_Consumer_IR_Manual/en|how to work with the IR receiver in the  WB-MS WB-MSW, WB-MIR devices]].
Подробное описание и использования модуля, а также карта регистров, описаны в разделе [[WB-MSx_Consumer_IR_Manual|Инструкция по работе с ИК-приёмопередатчиком в устройствах WB-MS, WB-MSW, WB-MIR]].


== Additional functionality==
== Дополнительные Функции==


'''Address change''' is broadcast (slave_id 0) team record (WRITE_SINGLE_REGISTER) to holding register with address 128 (0x80).
'''Смена адреса''' производится широковещательный (slave_id 0) командой записи (WRITE_SINGLE_REGISTER) в holding register с адресом 128 (0x80).


The 6-byte module signature is stored at address 200. The signature is unique for each model of Wiren Board devices and allows to identify the model.
По адресу 200 лежит '''сигнатура''' длинной 6 байт. Сигнатура уникальна для каждой модели устройства и позволяет идентифицировать модель.
To obtain the signatures necessary to fulfill READ_HOLDING_REGISTERS address 200 length 6.   
Для получения сигнатуры нужно выполнить READ_HOLDING_REGISTERS адрес 200 длина 6.   
Writing to this area of memory is not supported and error 3 is returned when attempting to write to an invalid location.
Запись в эту область памяти не поддерживается, при попытки записи в недопустимое место возвращается ошибка 3.


== Register map ==
== Карты регистров ==


Described in detail in [[WB-MSx_Consumer_IR_Manual/en|how to work with the IR receiver in the WB-MS WB-MSW, WB-MIR devices ]].
Подробно описаны в разделе [[WB-MSx_Consumer_IR_Manual|Инструкция по работе с ИК-приёмопередатчиком в устройствах WB-MS, WB-MSW, WB-MIR]].


{| class="wikitable"
{| class="wikitable"
! rowspan="2" |Register/ address
! rowspan="2" |Регистр/ адрес
! rowspan="2" |Type
! rowspan="2" |Тип
! rowspan="2" |Read/ write
! rowspan="2" |Чтение/ запись
! rowspan="2" |Default
! rowspan="2" |Значение по умолчанию
! rowspan="2" |Format
! rowspan="2" |Формат
! rowspan="2" |Purpose
! rowspan="2" |Назначение
!Versions
!Версии
insertions
прошивки
|-
|-
!
!
Строка 106: Строка 106:
|0x7FFF
|0x7FFF
|°C × 16 (signed)
|°C × 16 (signed)
|Temperature with built-in 1-Wire sensor
|Температура с встроенного датчика 1-Wire
|
|
|-
|-
Строка 114: Строка 114:
|0x7FFF
|0x7FFF
|°C × 16 (signed)
|°C × 16 (signed)
|Temperature from external 1-Wire sensor
|Температура с внешнего датчика 1-Wire
|
|
|-
|-
Строка 130: Строка 130:
|96
|96
|baud rate / 100
|baud rate / 100
|RS-485 port speed, "'divided by 100"'. Permissible speeds: 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200
|скорость порта RS-485, '''делённая на 100'''. Допустимые скорости: 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200
| rowspan="3" |>3.1.0
| rowspan="3" |>3.1.0
|-
|-
Строка 138: Строка 138:
|0
|0
|
|
|configure the RS-485 port parity bit. Valid values: 0 - no parity bit (none), 1 - odd (odd), 2 - even (even)
|настройка бита чётности порта RS-485. Допустимые значения: 0 - нет бита чётности (none), 1 - нечётный (odd), 2 - чётный (even)
|-
|-
|112
|112
Строка 145: Строка 145:
|2
|2
|
|
|number of stop bits of RS-485 port. Valid values: 1, 2
|количество стоп-битов порта RS-485. Допустимые значения: 1, 2
|-
|-
|
|
Строка 159: Строка 159:
|RW
|RW
|0
|0
|other than 0
|отличное от 0
|write to the register causes a reset of the module without saving state
|запись в регистр вызывает перезагрузку модуля без сохранения состояния
|
|
|-
|-
Строка 168: Строка 168:
| -
| -
|mV
|mV
|current supply voltage of the module
|текущее напряжение питания модуля
|
|
|-
|-
Строка 176: Строка 176:
|1
|1
|
|
|The Modbus address of the device
|Modbus-адрес устройства
|
|
|-
|-
Строка 182: Строка 182:
|input
|input
|R
|R
|see [[Sensors Modbus Management|device Signature]]
|см. [[Sensors Modbus Management|Сигнатура устройства]]
|
|
|signature
|сигнатура
|
|
|-
|-
Строка 191: Строка 191:
|R
|R
|
|
|__date__ _ _ time__
|__date__ __time__
|the build date of the firmware
|дата сборки прошивки
|
|
|-
|-
Строка 199: Строка 199:
|R
|R
|
|
|string, null-terminated
|строка, null-terminated
|firmware version
|версия прошивки
|
|
|-
|-
Строка 208: Строка 208:
|
|
|32-bit unsigned int
|32-bit unsigned int
|unique identifier (S/N)
|уникальный идентификатор (S/N)
|
|
|}
|}


== Device signature ==
==Сигнатура устройства ==


The 6-byte module signature is stored at address 200. The signature is unique for each model of Wiren Board devices and allows to identify the model by Modbus:
По адресу 200 лежит сигнатура модуля длиной 6 байт. Сигнатура уникальна для каждой модели устройств Wiren Board и позволяет идентифицировать модель по Modbus:


{| class="wikitable"
{| class="wikitable"
! style="font-weight: bold;" | Module
! style="font-weight: bold;" | Модуль
! style="font-weight: bold;" | Signature
! style="font-weight: bold;" | Сигнатура
|-
|-
| WB-MIR
| WB-MIR
Строка 224: Строка 224:
|}
|}


To get the signature of a device you need to run command READ_HOLDING_REGISTERS at 200 (length of 6 registers). Writing to this area of memory is not supported, and error 3 is returned when attempting to write to an invalid location. Empty spaces in the signature text are clogged with the value 0x00.  
Для получения сигнатуры нужно выполнить команду READ_HOLDING_REGISTERS по адресу 200 (длина 6 регистров). Запись в эту область памяти не поддерживается, при попытке записи в недопустимое место возвращается ошибка 3. Пустые места в тексте сигнатуры забиваются значением 0x00.  
Starting from register 220, the firmware build date is recorded, in the format ''number'''x00'''time'''x00''''' as a string (example: 'Jan 27 2017 17:01:13'). The length of the record is 21 registers.
Начиная с регистра 220 записана дата сборки прошивки, в формате "число'''x00'''время'''x00'''" в виде строки (пример: 'Jan 27 2017 17:01:13'). Длина записи — 21 регистр.


== Module management from the web interface ==
== Управление модулем из web-интерфейса ==


At the moment, to connect the module WB-MIR, there are two templates: '''WB-MIR''' and '''WB-MIR (simple)'''. Template '''WB-MIR''' provides a complete set of functions of the module from the web interface, including training, and a simplified version '''WB-MIR (simple)''' can be used with the already trained remote control and contains a much smaller number of controls.
В настоящий момент для подключения модуля WB-MIR имеется два шаблона '''WB-MIR''' и '''WB-MIR (simple)'''. Шаблон '''WB-MIR''' предоставляет полный набор к функциям модуля из веб-интерфейса, включая обучение, а упрощенная версия '''WB-MIR (simple)''' может использоваться с уже обученным пультом и содержит гораздо меньшее количество элементов управления.


{| class="wikitable"
{| class="wikitable"
|[[File:Web_wb_mir.png |600px|thumb|right|WB-MIR Web interface]]  
|[[File:Web_wb_mir.png |600px|thumb|right|Веб-интерфейс модуля WB-MIR]]  
|[[File:Web-wb-mir-simple.png|300px|thumb|right|Simplified WB-MIR web interface]]  
|[[File:Web-wb-mir-simple.png|300px|thumb|right|Упрощенный веб-интерфейс модуля WB-MIR]]  
|}
|}




<div class="mw-translate-fuzzy">
На примере полнофункционального модуля рассмотрим основные органы управления модулем и их назначение.
On the example of a fully functional module, consider the main controls of the module and their purpose.
{| class="wikitable"
{| class="wikitable"
! The name of the control
! Название элемента управления
!Purpose
!Назначение
|-
|-
|Input Voltage||module supply Voltage
|Input Voltage||Напряжение питания модуля
|-
|-
|Learn-to-RAM||Write the IR signal in the operational buffer (see section [[#Operational mode|Operational mode]]). For learning, the control is turned ON, after learning — OFF.   
|Learn to RAM||Запись ИК-сигнала в оперативный буфер (см. раздел [[#Оперативный режим|Оперативный режим]]). Для обучения контрол переводится в положение ON, после обучения — OFF.   
|-
|-
|Play from RAM||Play the IR signal from the operating buffer (see [[#Operating mode|Operating mode]]).
|Play from RAM||Воспроизведение ИК-сигнала из оперативного буфера (см. раздел [[#Оперативный режим|Оперативный режим]]).
|-
|-
|Learn to ROMx||IR signal Recording ACC. the cell of the ROM (see section [[#DC mode|DC mode]]). For learning, the control is turn ON position, after learning — OFF.
|Learn to ROMx||Запись ИК-сигнала в соотв. ячейку ПЗУ (см. раздел [[#Постоянный режим|Постоянный режим]]). Для обучения контрол переводится в положение ON, после обучения — OFF.
|-
|-
|Play from ROMx||Play IR signal from resp. ROM cells (see [[#Constant mode|Constant mode]]]). For learning, the control is transferred to THE on position, after learning — OFF.
|Play from ROMx||Воспроизведение ИК-сигнала из соотв. ячейки ПЗУ (см. раздел [[#Постоянный режим|Постоянный режим]]). Для обучения контрол переводится в положение ON, после обучения — OFF.
|-
|-
|ROMx -> RAM||Copy data from ACC. ROM cells to the online buffer for editing (see [[#Constant mode|Constant mode]]). For editing, control is transferred to THE on position, after editing — OFF.
|ROMx -> RAM||Копирование данных из соотв. ячейки ПЗУ в оперативный буфер для редактирования (см. раздел [[#Постоянный режим|Постоянный режим]]). Для редактирования контрол переводится в положение ON, после редактирования — OFF.
|-
|-
|Internal/External Temperature Sensor||Internal/external digital temperature sensor. If the sensor is missing or defective, its name is highlighted in red.
|Internal/External Temperature Sensor||Температура внутреннего/внешнего цифрового датчика. Если датчик отсутствует или неисправен, его название выделяется красным цветом.
|-
|-
|Serial NO||the Serial number of the WB-MIR module may be required when contacting technical support.
|Serial NO||Серийный номер модуля WB-MIR, может потребоваться при обращении в техподдержку.
|-
|-
|Reset all ROM||Resets the contents of all memory locations. '''Be careful, ROM cleaning will be done without asking for confirmation!'''
|Reset all ROM||Сброс содержимого всех ячеек памяти. '''Будьте внимательны, очистка ПЗУ будет выполнена без запроса на подтверждение!'''
|-
|-
|}
|}
</div>


== Command-line device management ==
== Управление модулем из командной строки ==
The Wiren Board controller software includes  modbus_client utility to work with devices connected to the RS-485 outputs, via Modbus Protocol, the detailed description of the command is on the page [[Modbus-client/en| Modbus client]]. Access to the command line is described in [[SSH/en| SSH]].
Программное обеспечение контроллера Wiren Board включает в себя утилиту modbus_client для работы с устройствами, подключенными к выходам RS-485, по протоколу Modbus, подробное описание команды находится на странице [[Modbus-client]]. Доступ к командной строке описан в статье [[SSH]].


=== Register reading example ===
=== Пример чтения регистров ===
Let's check whether it is true that we are connected to the module of the desired type. (Module wb-mqtt-serial needs to be stopped). At address 200, a unique signature of 6 registers is stored. Let's read 6 registers, starting with the address 200, and convert the received answer from hexadecimal digits into a character string:
Проверим, верно ли, что мы подключились именно к модулю нужного типа. (Модуль wb-mqtt-serial должен быть предварительно остановлен). По адресу 200 хранится уникальная сигнатура длиной в 6 регистров. Прочтем 6 регистров, начиная с адреса 200, и преобразуем полученный ответ из шестнадцатеричных цифр в символьную строку:


<syntaxhighlight lang="bash">echo  -e `modbus_client --debug -mrtu -pnone -s2 /dev/ttyAPP1 \
<syntaxhighlight lang="bash">echo  -e `modbus_client --debug -mrtu -pnone -s2 /dev/ttyAPP1 \
Строка 274: Строка 272:
grep Data | sed -e 's/0x00/\\\x/g' -e 's/Data://' -e 's/\s//g'` </syntaxhighlight>
grep Data | sed -e 's/0x00/\\\x/g' -e 's/Data://' -e 's/\s//g'` </syntaxhighlight>


As a result of the command, we receive string  '''WBMIR'''. The WB-MIR module in the example has Modbus address 1.
В результате выполнения команды получаем строку, например '''WBMIR'''. В этом примере модуль WB-MIR имеет Modbus-адрес 1.

Версия 12:02, 23 июля 2019

<languages>


Эта страница описывает устройство WB-MIR v1, снятое с производства в 11.2017. Прямая замена - улучшенный модуль WB-MIR v2

Модуль WB-MIR
Внутренее устройство модуля. Видны подписи контактов на разъёмах
Отверстие ИК-передатчика на задней стороне модуля

Обучаемый модуль с ИК-приёмопередатчиком для управления по ИК-каналу различными устройствами, включая кондиционеры, телевизоры и т.п. Управление модулем производится с контроллера или ПК по шине RS-485 командами по протоколу MODBUS.

Входы

Питание модуля подается на винтовые зажимы V+ и GND, линия RS-485 подключается к входам A и B. Внешний датчик температуры DS18B20 подключается по паразитной схеме питания, когда выводы +5В и GND объединены и подключены к клемме GND, вывод данных подключается к зажиму 1-W. D некоторых моделях присутствует внутренний датчик температуры DS18B20 в корпусе TO-92, распаянный в верхней левой части платы модуля (вид сверху корпуса датчика нанесен в этом месте шелкографией).

Монтаж

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

Технические характеристики

Параметр Значение
Питание
Напряжение питания 9 — 24 В постоянного тока
Потребляемая мощность

0.1 Вт

Дальнодействие передатчика < 1м
Внешние датчики Возможность подключения цифрового датчика температуры DS18B20.
Управление
Интерфейс управления RS-485
Изоляция интерфейса Неизолированный
Протокол обмена данными Modbus RTU, адрес задается программно, заводские настройки указаны на наклейке
Параметры интерфейса RS-485

скорость 9600 бит/с; данные — 8 бит; четность N; стоп-биты 2; Начиная с версии прошивки 3.1.0 параметры интерфейсы могут быть настроены программно:

Габариты
Габариты 45x35x14 мм
Условия эксплуатации
Температура воздуха -40°С до +80°С
Относительная влажность воздуха до 98%,без конденсата влаги

Обучение и использование модуля

Подробное описание и использования модуля, а также карта регистров, описаны в разделе Инструкция по работе с ИК-приёмопередатчиком в устройствах WB-MS, WB-MSW, WB-MIR.

Дополнительные Функции

Смена адреса производится широковещательный (slave_id 0) командой записи (WRITE_SINGLE_REGISTER) в holding register с адресом 128 (0x80).

По адресу 200 лежит сигнатура длинной 6 байт. Сигнатура уникальна для каждой модели устройства и позволяет идентифицировать модель. Для получения сигнатуры нужно выполнить READ_HOLDING_REGISTERS адрес 200 длина 6. Запись в эту область памяти не поддерживается, при попытки записи в недопустимое место возвращается ошибка 3.

Карты регистров

Подробно описаны в разделе Инструкция по работе с ИК-приёмопередатчиком в устройствах WB-MS, WB-MSW, WB-MIR.

Регистр/ адрес Тип Чтение/ запись Значение по умолчанию Формат Назначение Версии

прошивки

6 input R 0x7FFF °C × 16 (signed) Температура с встроенного датчика 1-Wire
7 input R 0x7FFF °C × 16 (signed) Температура с внешнего датчика 1-Wire
110 holding RW 96 baud rate / 100 скорость порта RS-485, делённая на 100. Допустимые скорости: 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 >3.1.0
111 holding RW 0 настройка бита чётности порта RS-485. Допустимые значения: 0 - нет бита чётности (none), 1 - нечётный (odd), 2 - чётный (even)
112 holding RW 2 количество стоп-битов порта RS-485. Допустимые значения: 1, 2
120 (0x78) holding RW 0 отличное от 0 запись в регистр вызывает перезагрузку модуля без сохранения состояния
121 (0x79) input R - mV текущее напряжение питания модуля
128 (0x80) holding RW 1 Modbus-адрес устройства
200-206 input R см. Сигнатура устройства сигнатура
220-241 input R __date__ __time__ дата сборки прошивки
250-269 input R строка, null-terminated версия прошивки
270-271 input R 32-bit unsigned int уникальный идентификатор (S/N)

Сигнатура устройства

По адресу 200 лежит сигнатура модуля длиной 6 байт. Сигнатура уникальна для каждой модели устройств Wiren Board и позволяет идентифицировать модель по Modbus:

Модуль Сигнатура
WB-MIR WBMIR'0x00'

Для получения сигнатуры нужно выполнить команду READ_HOLDING_REGISTERS по адресу 200 (длина 6 регистров). Запись в эту область памяти не поддерживается, при попытке записи в недопустимое место возвращается ошибка 3. Пустые места в тексте сигнатуры забиваются значением 0x00. Начиная с регистра 220 записана дата сборки прошивки, в формате "числоx00времяx00" в виде строки (пример: 'Jan 27 2017 17:01:13'). Длина записи — 21 регистр.

Управление модулем из web-интерфейса

В настоящий момент для подключения модуля WB-MIR имеется два шаблона WB-MIR и WB-MIR (simple). Шаблон WB-MIR предоставляет полный набор к функциям модуля из веб-интерфейса, включая обучение, а упрощенная версия WB-MIR (simple) может использоваться с уже обученным пультом и содержит гораздо меньшее количество элементов управления.

Веб-интерфейс модуля WB-MIR
Упрощенный веб-интерфейс модуля WB-MIR


На примере полнофункционального модуля рассмотрим основные органы управления модулем и их назначение.

Название элемента управления Назначение
Input Voltage Напряжение питания модуля
Learn to RAM Запись ИК-сигнала в оперативный буфер (см. раздел Оперативный режим). Для обучения контрол переводится в положение ON, после обучения — OFF.
Play from RAM Воспроизведение ИК-сигнала из оперативного буфера (см. раздел Оперативный режим).
Learn to ROMx Запись ИК-сигнала в соотв. ячейку ПЗУ (см. раздел Постоянный режим). Для обучения контрол переводится в положение ON, после обучения — OFF.
Play from ROMx Воспроизведение ИК-сигнала из соотв. ячейки ПЗУ (см. раздел Постоянный режим). Для обучения контрол переводится в положение ON, после обучения — OFF.
ROMx -> RAM Копирование данных из соотв. ячейки ПЗУ в оперативный буфер для редактирования (см. раздел Постоянный режим). Для редактирования контрол переводится в положение ON, после редактирования — OFF.
Internal/External Temperature Sensor Температура внутреннего/внешнего цифрового датчика. Если датчик отсутствует или неисправен, его название выделяется красным цветом.
Serial NO Серийный номер модуля WB-MIR, может потребоваться при обращении в техподдержку.
Reset all ROM Сброс содержимого всех ячеек памяти. Будьте внимательны, очистка ПЗУ будет выполнена без запроса на подтверждение!

Управление модулем из командной строки

Программное обеспечение контроллера Wiren Board включает в себя утилиту modbus_client для работы с устройствами, подключенными к выходам RS-485, по протоколу Modbus, подробное описание команды находится на странице Modbus-client. Доступ к командной строке описан в статье SSH.

Пример чтения регистров

Проверим, верно ли, что мы подключились именно к модулю нужного типа. (Модуль wb-mqtt-serial должен быть предварительно остановлен). По адресу 200 хранится уникальная сигнатура длиной в 6 регистров. Прочтем 6 регистров, начиная с адреса 200, и преобразуем полученный ответ из шестнадцатеричных цифр в символьную строку:

echo  -e `modbus_client --debug -mrtu -pnone -s2 /dev/ttyAPP1 \
-a1 -t0x03 -r200 -c 6 | \
grep Data | sed -e 's/0x00/\\\x/g' -e 's/Data://' -e 's/\s//g'`

В результате выполнения команды получаем строку, например WBMIR. В этом примере модуль WB-MIR имеет Modbus-адрес 1.