WB-MIR v2 - Modbus IR Remote Control
This page describes the WB-MIR v2 device, which is being released from 11.2017. Previous model description: WB-MIR v1.
Trainable 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 RTU Protocol commands.
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(1-Wire) terminal.
Depending on the modification, the device may have an internal temperature sensor (NTC thermistor).
The WB-MIR v2 module requires an external IR transmitter (included). A 3.5 mm Jack is provided for connecting the transmitter.
In the firmware version 4.0.0 and above, it is also possible to configure the 1-W input of the device as a counting one.
Installation
The module is mounted in the immediate vicinity of the device or inside the housing of a controlled device, such as an air conditioner. If further training or retraining of the module is planned after installation, the IR receiver should be located in an accessible place. The IR transmitter, placed on a wire, ~140 cm long, is attached next to the IR receiver of the controlled device to a double-sided tape (included) so as to ensure stable transmission of IR control commands, but to retain the ability to control the device from the remote without blocking the IR receiver of the device completely.
Specifications
Option | Value |
---|---|
Power | |
Supply voltage | 9 — 24 V DC |
Power consumption |
0.1 W |
Transmitter range | < 1m |
External sensor | Digital temperature sensor DS18B20 can be connected. |
Terminals and wire section | |
Recommended wire cross-section with NSUI, mm2 | 0,75 — 1 |
Length of the standard sleeve NSUI, mm | 8 |
Torque of screws, N∙m | 0,2 |
Control | |
Management interface | RS-485 |
Interface isolation | Uninsulated |
Communication protocol | Modbus RTU, address is set by software, factory settings are indicated on the label |
RS-485 interface parameters |
speed 9600 bps; data bits 8; parity N; stop bits 2; Starting from firmware version 3.1.0 parameters interfaces can be configured programmatically:
|
Number of stored IR commands | |
Number of teams |
|
Command duration | The maximum command length is 508 registers, plus two registers indicates the end of the command.Each register encodes the duration of a high or low signal level (sequentially) in microseconds. |
dimensions | |
L x W x h |
|
operating Conditions | |
Air temperature | -40°C to +80°C |
Relative humidity | up to 98%,without moisture condensate |
Learning and using the module
Detailed description and use of the module, and a map of the registers is described in section how to work with the IR receiver in the WB-MS WB-MSW, WB-MIR devices.
Additional functionality
Смена адреса производится широковещательный (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) | Температура с встроенного датчика | |
7 | input | R | 0x7FFF | °C × 16 (signed) | Температура с внешнего датчика 1-Wire | |
20 | input | R | 0 | °C × 16 (signed) | Температура с первого внешнего датчика 1-Wire. При ошибке опроса датчика сохраняет предыдущее валидное значение (статус датчика читать из discrete регистра 16). | начиная с прошивки 4.6.0 |
104-105 | input | R | 32-bit unsigned int | Время работы устройства (uptime counter) в секундах | ||
110 | holding | RW | 96 | baud rate / 100 | скорость порта RS-485, делённая на 100. Допустимые скорости: 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 (Настройка параметров обмена данными по RS-485 для modbus-устройств Wiren Board) |
>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-адрес устройства | ||
129 (0x81) | holding | RW | 0 | 0 или 1 | Переход в режим загрузчика | начиная с прошивки 4.5.0 |
200-206 | input | R | см. Сигнатура устройства | сигнатура | ||
220-241 | input | R | __date__ __time__ | дата сборки прошивки | ||
245 | holding | RW | 216 | °C × 100 (signed) | Компенсация самонагрева встроенного датчика температуры.
Значение регистра вычитается из температуры, измеренной встроенным датчиком (регистр 6) |
|
250-269 | input | R | строка, null-terminated | версия прошивки | ||
270-271 | input | R | 32-bit unsigned int | уникальный идентификатор (S/N) | ||
275 | holding | RW | 0 | 0 или 1 | Режим входа 1-W: 0 - 1-wire, 1 - дискретный вход | >=4.0.0 |
277 | input | R | 16-bit unsigned int | Счетчик срабатываний для входа 1-W | ||
0 | discrete | R | 0 или 1 | Текущее состояние входа 1-W: 0 - разомкнут, 1 - замкнут на GND. Если для входа выбран режим 1-wire, значение всегда равно 0. | ||
16 | discrete | R | 0 или 1 | Статус опроса датчика 1-Wire входа №1: 0 - датчик не подключен, 1 - датчик подключен и корректно опрашивается | начиная с прошивки 4.6.0 |
Сигнатура устройства
По адресу 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 v2 используется шаблон WB-MIR v2, который предоставляет полный набор к функциям модуля из веб-интерфейса, включая обучение.
Рассмотрим основные органы управления модулем и их назначение.
Название элемента управления | Назначение |
---|---|
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.
Обновление прошивки устройства
Начиная с новых версий микропрограмм устройства поддерживается функционал обновления прошивки (микропрограммы) по протоколу Modbus. Это дает возможность расширять функциональные возможности устройств и устранять ошибки в микропрограммном обеспечении непосредственно на месте монтажа. Подробнее о перепрошивке устройств рассказано в статье Загрузка прошивок на устройства Wiren Board. Список версий прошивок, поддерживающих обновление, а также устройств, для которых эта функция реализована, можно найти в статье Firmware_Changelog.
Изображения и чертежи устройства
По ссылкам ниже вы можете скачать изображения и чертежи устройства WB-MIR2.
Corel Draw 2018: WB-MIR2.cdr.zip
Corel Draw PDF: WB-MIR2.cdr.pdf
Autocad 2013 DXF: WB-MIR2.dxf.zip
Autocad PDF: WB-MIR2.pdf