|
|
(не показаны 223 промежуточные версии 14 участников) |
Строка 1: |
Строка 1: |
| ('''В процессе наполнения!''')
| | <languages/> |
| | | {{DISPLAYTITLE:Устройство ИК-управления WB-MIR v.2}} |
| | | [[Файл:M-IR front 2.png |200px|thumb|right| Модуль WB-MIR v.2. IR Learn — ИК-приёмник для записи команд]] |
| [[File:WB-MIR-sample.png |300px|thumb|right| Модуль WB-MIR]] | | '''[https://wirenboard.com/ru/product/WB-MIR/ Купить в интернет-магазине]''' |
| [[File:Wb-MIR-sample_internals.png |300px|thumb|right| Внутренее устройство модуля. Видны подписи контактов на разъёмах]] | | {{PDF}} |
| | | <!--T:1--> |
| | '''Эта страница описывает устройство WB-MIR v.2, которое выпускается с 11.2017. Описание предыдущей модели: [[WB-MIR v1 - Modbus IR Remote Control|WB-MIR v.1]].''' |
| | == Назначение== |
| | [[File:Wbmir_transmitter_mount.png|300px|thumb|right|Пример монтажа ИК-излучателя модуля WB-MIR v.2 на приемнике кондиционера под декоративной крышкой]] |
| Обучаемый модуль с ИК-приёмопередатчиком для управления по ИК-каналу различными устройствами, включая кондиционеры, телевизоры и т.п. | | Обучаемый модуль с ИК-приёмопередатчиком для управления по ИК-каналу различными устройствами, включая кондиционеры, телевизоры и т.п. |
| Управление модулем производится с контроллера или ПК по шине RS-485 командами по протоколу MODBUS. | | Управление производится с контроллера или ПК по шине RS-485 командами по протоколу Modbus RTU. |
| | == Меры безопасности == |
| | {{Wbincludes:Safety|low_voltage=true}} |
|
| |
|
| == Входы == | | == Технические характеристики == <!--T:7--> |
| Питание модуля подается на винтовые зажимы V+ и GND, линия RS-485 подключается к входам A и B. Внешний датчик температуры DS18B20 подключается по паразитной схеме питания, когда выводы +5В и GND объединены и подключены к клемме GND, вывод данных подключается к зажиму 1-W.
| |
| D некоторых моделях присутствует внутренний датчик температуры DS18B20 в корпусе TO-92, распаяный в верхней левой части платы модуля (вид сверху корпуса датчика нанесен в этом месте шелкографией).
| |
| | |
| | |
| == Технические характеристики ==
| |
| {| class="wikitable" | | {| class="wikitable" |
| ! style="text-align: center;" | Параметр | | ! style="text-align: center;" | Параметр |
Строка 21: |
Строка 21: |
| |- | | |- |
| |Напряжение питания | | |Напряжение питания |
| |9 — 24 В постоянного тока | | |9 — 28 В постоянного тока |
| |- | | |- |
| |Потребляемая мощность | | |Потребляемая мощность |
| | | | | |
| 0,1 Вт в холостом режиме, 0,1 Вт при передаче ИК-команд | | 0.1 Вт |
| |- | | |- |
| |Дальнодействие передатчика | | |Дальнодействие передатчика |
| | < 1м | | |< 1 м |
| |- | | |- |
| | Внешние датчики | | | Внешние датчики |
| | Возможность подключения цифрового датчика температуры DS18B20. | | | Можно подключить цифровой датчик температуры DS18B20. |
| |- | | |- |
| ! colspan="2" |Управление | | ! colspan="2" | ИК-команды |
| |- | | |- |
| |Интерфейс управления | | | Частота передатчика |
| |RS-485 | | | 38 кГц |
| |- | | |- |
| |Изоляция интерфейса | | |Количество запоминаемых команд |
| |Неизолированный | | | 80 |
| |- | | |- |
| |Протокол обмена данными | | |Длительность команд |
| |Modbus RTU, адрес задается программно, заводские настройки указаны на наклейке | | | Максимальная длина команды — до 1000 символов (508 символов до прошивки 4.22.0). |
| | Каждый регистр кодирует длительность высокого или низкого уровня сигнала (последовательно) в микросекундах. |
| |- | | |- |
| |Параметры интерфейса RS-485
| | {{Wbincludes:Control}} |
| |
| | {{Wbincludes:Operating conditions}} |
| скорость 9600 бит/с; данные — 8 бит; четность N; стоп-биты 2;
| | {{Wbincludes:Klemmy. Input}} |
| Начиная с версии прошивки '''3.1.0''' параметры интерфейсы могут быть настроены программно:
| | ! colspan="2" | Габариты |
| *Скорость: 1200, 2400, 4800, 9600 (по умолчанию), 19200, 38400, 57600, 115200 бит/с
| |
| *Данные: 8 бит
| |
| *Проверка чётности: нет (по умолчанию), 1 - нечётный (odd), 2 - чётный (even)
| |
| *Стоповых бит: 2 (по умолчанию), 1
| |
| |- | | |- |
| ! colspan="2" |Габариты
| | | Д x Ш x В |
| |- | | | |
| | Габариты
| | 40x15x11 мм; длина разъема кабеля передатчика добавляет +30 мм к ширине корпуса |
| | 45x35x14 мм
| |
| |-
| |
| ! colspan="2" |Условия эксплуатации
| |
| |- | | |- |
| | Температура воздуха
| | {{Wbincludes:Weight}} 25 г |
| | -40°С до +80°С
| |
| |-
| |
| | Относительная влажность воздуха
| |
| | до 98%,без конденсата влаги
| |
| |} | | |} |
|
| |
|
| == Принцип работы == | | == Общий принцип работы == |
| | Записываете управляющий сигнал с пульта дистанционного управления устройством (ПДУ) в память модуля и потом воспроизво́дите его. |
|
| |
|
| Сигнал с пульта ДУ записывается ИК-приёмником и хранится в памяти устройства, откуда может быть воспроизведён. В текущей модификации устройство может хранить до 7 сигналов в постоянной памяти и один — в оперативном буфере. ИК-сигнал может быть также записан не с пульта ДУ, а передан в виде последовательности чисел по Modbus. Сохранённый сигнал воспроизводится ИК-передатчиком при получении специальной команды по Modbus.
| | Для записи сигнала направьте ПДУ на ИК-приёмник модуля, который подписан как '''IR learn'''. Для передачи управляющего сигнала, подключите к входу '''IR out''' (3.5мм) внешний ИК-передатчик, который нужно разместить на ИК-приёмнике управляемого устройства. |
|
| |
|
| Устройство имеет два режима работы: постоянный и оперативный.
| | К входу '''1W''' можно подключить внешний датчик температуры [https://wirenboard.com/product/1wire-DS18B20/ DS18B20] или [[#Режим работы цифрового входа |изменить режим входа]] и использовать его как счётный вход. Сигнал с датчика удобно использовать для контроля за состоянием управляемых устройств с помощью правил [[wb-rules]] или сценариев [[Node-Red]]. Например, можно настроить включение/отключение кондиционера в зависимости от температуры с датчика DS18B20. |
|
| |
|
| В постоянном режиме записанные сигналы хранятся в Flash-ПЗУ устройства. В устройстве можно хранить не более 7 сигналов (в текущей версии прошивки 3.4.0). Сигналы, записанные в ПЗУ, сохраняются при отключении питания. Стоит отметить. что при каждой перезаписи сигнала расходуется физический ресурс ПЗУ процессора устройства — всего можно перезаписать сигнал не более 1000 раз.
| | Подробнее о записи и воспроизведении сигналов читайте в статье [[WB-MSx_Consumer_IR_Manual|Инструкция по работе с ИК-приёмопередатчиком]]. |
|
| |
|
| В оперативном режиме сигнал (только один) находится в оперативной памяти устройства. Он записывается туда Modbus-командой с внешнего устройства (например, контроллера [[Wiren Board]]). Сигнал может быть воспроизведён из оперативной памяти и затем перезаписан; ресурс ПЗУ при этом не расходуется. При отключении питания сигнал в оперативной памяти не сохраняется.
| | ==Монтаж== <!--T:6--> |
| | [[Image: WM-MIR_1wire.png |250px|thumb|right| Подключение датчика DS18B20 и датчика с выходом «сухой контакт»]] |
| | Модуль устанавливается рядом или внутри корпуса управляемого устройства, например, кондиционера. Если планируется дальнейшее обучение или переобучение WB-MIR v.2, то расположите модуль в доступном месте. ИК-передатчик, вынесенный на проводе длиной ~140 см, крепится рядом с ИК-приемником управляемого устройства на двусторонний скотч (в комплекте). Не загораживайте ИК-приемник устройства полностью, чтобы сохранить управление с пульта. Проверьте устойчивую передачу ИК-команд. |
|
| |
|
| ==Способ хранения сигнала==
| | {{Wbincludes:Mount "V+ GND A B"}} |
| Сигнал хранится в памяти устройства виде последовательности натуральных чисел (каждое от 0 до 65535), где каждое число - продолжительность логического 0 или 1 в сигнале в квантах по 10 микросекунд. Следовательно, максимальная продолжительность каждого нуля или единицы должна быть не более <code>65535 * 10 мкс = 655350 мкс = 0,655 секунд</code>. Первое число последовательности — длительность первой логической единицы. Конец последовательности маркируется двумя периодами продолжительностью 0.
| |
|
| |
|
| | Внешний датчик температуры [[1-Wire | DS18B20]] подключается к WB-MIR v.2 по паразитной схеме питания, когда выводы датчика +5В и GND объединены и подключены к клемме GND, вывод данных подключается к клемме 1W. |
|
| |
|
| == Обучение и использование модуля ==
| | Также ко входу 1-Wire можно подключить датчик с выходом типа «сухой контакт». При подключении такого датчика нужно переключить режим [[#Режим работы цифрового входа | работы входа]] 1-Wire на «дискретный». |
| [[File:Buffer_mir.png |400px|thumb|right| Пример содержимого оперативного буфера WB-MIR]]
| |
| '''Внимание!''' Номера используемых Modbus регистров менялись, начиная с версии прошивки 3.2.0. В инструкции указаны новые номера регистров. Если вы пользуетесь устройством со старой прошивкой, общий принцип остаётся прежним, но номера регистров сдвигаются; как именно — смотрите в [[#Карта регистров флагов (Coils) | Карта регистров флагов (Coils)]].
| |
|
| |
|
| Управление ИК-приёмопередатчиком производится через регистры флагов Modbus; полный список можно найти в описании карты регистров. Есть 3 типа операций с сигналами:
| | ==Представление в веб-интерфейсе контроллера Wiren Board== |
| * запись сигнала в память с пульта ДУ,
| |
| * воспроизведение сигнала из памяти,
| |
| * редактирование сигнала в памяти.
| |
| В каждый момент времени можно выполнять только одну операцию только над одним сигналом. Так как во время выполнения любой операции в один из регистров флагов ставится 1, а после завершения операции туда же ставится 0, в каждый момент времени среди всех регистров флагов, относящихся к ИК-приёмопередатчику, только один регистр может быть установлен в единицу. Попытка записи 1 в регистры флагов, связанных с ИК, при уже имеющейся единице приведёт к ошибке <code>BUSY</code>.
| |
|
| |
|
| === Постоянный режим === | | === Выбор шаблона === |
| В текущей прошивке в постоянном режиме устройство может хранить 7 ИК-сигналов. Сигналы нумеруются с 0 до 6.
| | {{WebUIAddDevice |
| | | template=WB-MIR v.2 |
| | }} |
| | === Управление устройством и просмотр значений === |
| | {{Wbincludes:WebUIControlDevice}} |
|
| |
|
| ==== Запись сигнала в постоянную память с пульта ДУ ====
| | <!--T:22--> |
| '''Примечение:''' Подробно о работе в режиме командной строки рассказано в разделе [[#Управление модулем из командной строки|Управление модулем из командной строки]].
| | Рассмотрим основные органы управления WB-MIR v.2 и их назначение. |
|
| |
|
| Чтобы записать сигнал под номером <code>i</code> с пульта ДУ в память, запишите 1 в регистр флагов по адресу <code>5300 + i</code>. Затем направьте пульт ДУ на ИК-приёмник и нажмите кнопку на пульте. После отпускания кнопки, завершите запись сигнала, записав 0 в регистр флагов по адресу <code>5300 + i</code>.
| | <!--T:23--> |
| <syntaxhighlight lang="bash">
| | {| class="wikitable" |
| #Начинаем запись сигнала с номером 1. Устройство подключено к порту /dev/ttyAPP1 и имеет Modbus-адрес 16
| | ! Название элемента управления |
| root@wirenboard:~# modbus_client --debug -m rtu -b9600 -s2 -pnone /dev/ttyAPP1 -a16 -t5 -r5301 1
| | !Назначение |
| #Нажимаем кнопку на пульте ДУ
| |
| root@wirenboard:~# modbus_client --debug -m rtu -b9600 -s2 -pnone /dev/ttyAPP1 -a16 -t5 -r5301 0
| |
| #Завершаем запись сигнала с номером 1
| |
| </syntaxhighlight>
| |
| | |
| ==== Воспроизведение сигнала из постоянной памяти ====
| |
| Чтобы воспроизвести сигнал под номером <code>i</code> из памяти, запишите 1 в регистр флага по адресу <code>5100 + i</code>. Если сигнал под номером <code>i</code> не был записан ранее, будет возвращена ошибка. Пока идёт воспроизведение сигнала, регистр флага по адресу <code>5100 + i</code> будет установлен в 1, а затем сам установится в 0. Пока идёт воспроизведение сигнала, никакие другие операции с ИК-приёмопередатчиком по Modbus не будут доступны.
| |
| <syntaxhighlight lang="bash">
| |
| #Отдаём команду воспроизвести сигнал с номером 1. Устройство подключено к порту /dev/ttyAPP1 и имеет Modbus-адрес 16
| |
| root@wirenboard:~# modbus_client --debug -m rtu -b9600 -s2 -pnone /dev/ttyAPP1 -a16 -t5 -r5101 1
| |
| </syntaxhighlight>
| |
| ==== Редактирование сигнала в постоянной памяти ====
| |
| Чтобы отредактировать сигнал под номером <code>i</code> или записать его по Modbus (без пульта ДУ), запишите 1 в регистр флага по адресу <code>5200 + i</code>. После этого сигнал в виде последовательности натуральных чисел (смотрите рисунок) будет записан в подряд идущие регистры хранения, начиная с регистра <code>2000</code>. В конце последовательности будут два подряд идущих регистра хранения, содержащих 0. Если сигнал под номером <code>i</code> не был записан ранее, в регистрах хранения <code>2000</code> и <code>2001</code> будут находиться 0. Для внесения изменений в последовательность (в том числе для записи команды по Modbus) нужно записать правильную последовательность в данные регистры хранения с помощью команд <code>WRITE_SINGLE_REGISTER</code> и <code>WRITE_MULTI_REGISTERS</code>. В конце изменённой последовательности всё также должен быть маркер конца последовательности - два подряд идущих регистра хранения, содержащих 0. Чтобы удалить сигнал, запишите в первые два регистра хранения (<code>2000</code> и <code>2001</code>) 0. После окончания редактирования запишите 0 в регистр флагов по адресу <code>5200 + i</code>. До тех пор пока в регистре флагов по адресу <code>5200 + i</code> не будет стоять 0, никакие другие операции, в том числе и над другими сигналами, не будут доступны.
| |
| | |
| ==== Удаление всех сигналов из постоянной памяти ====
| |
| Чтобы удалить все записанные сигналы, запишите 1 в регистр флагов по адресу <code>5000</code>.
| |
| | |
| === Оперативный режим ===
| |
| ==== Запись сигнала в оперативную память с пульта ДУ ====
| |
| Чтобы записать сигнал (только один) с пульта в оперативную память, не помещая при этом в ПЗУ - запишите 1 в регистр флага по адресу <code>5001</code>. Далее действия происходят так же, как описано выше для записи сигнала в ПЗУ. После прекращения записи в регистрах хранения по адресу <code>2000</code> и дальше будет храниться сигнал в виде последовательности чисел. Эту последовательность можно редактировать, как описано выше. Внимание: содержимое этих регистров хранения не сохраняется при отключении питания устройства!
| |
| ==== Воспроизведение сигнала из оперативной памяти ====
| |
| Чтобы воспроизвести сигнал из оперативной памяти, запишите 1 в регистр флага по адресу <code>5002</code>. Будет воспроизведён сигнал, записанный в регистрах хранения, начиная с <code>2000</code>. В случае отсутствия маркера конца команды будет возвращена ошибка. Пока идёт воспроизведение сигнала, регистр флага по адресу <code>5002</code> будет установлен в 1, а затем сам установится в 0. Пока идёт воспроизведение сигнала, никакие другие операции с ИК-приёмопередатчиком по Modbus не будут доступны.
| |
| | |
| === Обмен данными ===
| |
| На физическом уровне модуль подключается через интерфейс [[RS-485]]. Для управления WB-MR6C используется протокол Modbus RTU. В устройствах Wirenboard данные Modbus передаются по линиям связи RS-485. Подробнее смотрите страницу [[Протокол Modbus]]. Modbus-адрес модуля задается на заводе и нанесен на наклейке на его боковой стороне. Адрес может быть изменен программно. Подробно смотрите в разделе [[#Управление_по_Modbus|Управление по Modbus]].
| |
| | |
| В датчиках с версией прошивки 3.1.0 и позднее эти настройки можно изменить - смотрите таблицу регистров Modbus.
| |
| | |
| === Дополнительные Функции===
| |
| | |
| '''Смена адреса''' производится широковещательный (slave_id 0) командой записи (WRITE_SINGLE_REGISTER) в holding register с адресом 128 (0x80).
| |
| | |
| По адресу 200 лежит '''сигнатура''' длинной 6 байт. Сигнатура уникальна для каждой модели устройства и позволяет идентифицировать модель.
| |
| Для получения сигнатуры нужно выполнить READ_HOLDING_REGISTERS адрес 200 длина 6.
| |
| Запись в эту область памяти не поддерживается, при попытки записи в недопустимое место возвращается ошибка 3.
| |
| | |
| == Управление по Modbus ==
| |
| | |
| Подробно о работе с модулем по протоколу Modbus написано в разделе [[Sensors_Modbus_Management|Управление датчиками Wirenboard по протоколу Modbus]].
| |
| Карта регистров устройства выглядит следующим образом:
| |
| | |
| | |
| === Карта регистров хранения (Holding Registers)===
| |
| | |
| {| border="1" class="wikitable" style="text-align:center" | |
| !Регистр/ адрес | |
| !тип
| |
| !чтение/ запись
| |
| !значение по умолчанию
| |
| !формат
| |
| !назначение | |
| |- | | |- |
| |6 | | |Input Voltage||Напряжение питания модуля |
| |input | |
| |R | |
| |0x7FFF — датчик не подключен или неисправен
| |
| |°C × 16 (signed)
| |
| |Температура с внешнего датчика
| |
| |- | | |- |
| |7 | | |Learn to RAM||Запись ИК-сигнала в оперативный буфер (см. раздел [[#Оперативный режим|Оперативный режим]]). Для обучения контрол переводится в положение ON, после обучения — OFF. |
| |input | |
| |R | |
| |0x7FFF — датчик не подключен или неисправен | |
| |°C × 16 (signed)
| |
| |Температура с внешнего датчика
| |
| |- | | |- |
| | 110 || holding || RW || 96 (0x60) || baud rate / 100 || скорость порта RS-485, '''делённая на 100'''. Допустимые скорости: 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 | | |Play from RAM||Воспроизведение ИК-сигнала из оперативного буфера (см. раздел [[#Оперативный режим|Оперативный режим]]). |
| |- | | |- |
| | 111 || holding || RW || 0 || || настройка бита чётности порта RS-485. Допустимые значения: 0 - нет бита чётности (none), 1 - нечётный (odd), 2 - чётный (even) | | |Learn to ROMx||Запись ИК-сигнала в соответствующую ячейку ПЗУ (см. раздел [[#Постоянный режим|Постоянный режим]]). Для обучения контрол переводится в положение ON, после обучения — OFF. |
| |- | | |- |
| | 112 || holding || RW || 2 || || количество стоп-битов порта RS-485. Допустимые значения: 1, 2 | | |Play from ROMx||Воспроизведение ИК-сигнала из соответствующей ячейки ПЗУ (см. раздел [[#Постоянный режим|Постоянный режим]]). Для обучения контрол переводится в положение ON, после обучения — OFF. |
| |- | | |- |
| | 120 (0x78) || holding || RW || 0 || отличное от 0 || запись в регистр вызывает перезагрузку МК без сохранения состояния | | |ROMx -> RAM||Копирование данных из соответствующей ячейки ПЗУ в оперативный буфер для редактирования (см. раздел [[#Постоянный режим|Постоянный режим]]). Для редактирования контрол переводится в положение ON, после редактирования — OFF. |
| |- | | |- |
| | 121 (0x79) || input || R || - || mV || текущее напряжение питания модуля | | |Internal/External Temperature Sensor||Температура внутреннего/внешнего цифрового датчика. Если датчик отсутствует или неисправен, его название выделяется красным цветом. |
| |- | | |- |
| | 128 (0x80) || holding || RW || 1 || || Modbus-адрес устройства | | |Serial NO||Серийный номер модуля WB-MIR может потребоваться при обращении в техподдержку. |
| |- | | |- |
| | 200-206 || input || R || {'W','B','M','I',R,0} || || сигнатура | | |Reset all ROM||Сброс содержимого всех ячеек памяти. '''Будьте внимательны, очистка ПЗУ будет выполнена без запроса на подтверждение!''' |
| |-
| |
| | 220-241 || input || R || || __date__ __time__|| дата сборки прошивки
| |
| |-
| |
| | 250-269 || input || R || || строка, null-terminated || версия прошивки
| |
| |-
| |
| | 270-271 || input || R || || 32-bit unsigned int || уникальный идентификатор (S/N)
| |
| |-
| |
| | 2000-2509 || holding || RW || || || Буфер периодов IR-приемопередатчика
| |
| |- | | |- |
| |} | | |} |
| | [[File:WB-MIR-2-WEB_Cut.png|1039px|thumb|center|Веб-интерфейс WB-MIR v.2]] |
| | == Настройка == |
| | {{Wbincludes:WebUIDeviceSetUp}} |
| | |
| | === Обучение и использование модуля === <!--T:8--> |
|
| |
|
| ==Карта регистров флагов (Coils)==
| | <!--T:9--> |
| | ИК-приемник для обучения расположен прямо под красным круглым окном на корпусе модуля, подписанным “IR learn” |
|
| |
|
| {| border="1" class="wikitable" style="text-align:center"
| | Подробное описание и использование WB-MIR v.2 приведены в разделе [[WB-MSx_Consumer_IR_Manual|Инструкция по работе с ИК-приёмопередатчиком в устройствах WB-MS, WB-MSW, WB-MIR]]. |
| !Начальный адрес || Количество || Назначение
| | |
| |-
| | === Режим работы цифрового входа === <!--T:8--> |
| | 5000 || 1 || style="text-align:left" | Очистка всех банков ИК-команд
| | [[Image: WB-MIR v.2 WebUI Config.png |350px|thumb|right| Выбор режима для входа W1 в веб-интерфейсе контроллера Wiren Board {{SupportedSinceRelease|release=wb-2110|nobanner=true}}]] |
| |-
| | Вход '''1W''' устройства можно сконфигурировать как счётный вход, для этого нужно изменить режим в параметре '''Inpit x'''. |
| | 5001 || 1 || style="text-align:left" | Запись ИК-команды с ИК-приёмника в Modbus регистры хранения (2000-2509), без сохранения в банк команд
| |
| |-
| |
| | 5002 || 1 || style="text-align:left" | Воспроизведение ИК-команды из Modbus регистров хранения (2000-2509)
| |
| |-
| |
| | 5100 (в прошивке 3.1.0 и ранее - 0) || number_of_banks || style="text-align:left" | Воспроизведение ИК-команды из соответствующего банка
| |
| |- | |
| | 5200 (в прошивке 3.1.0 и ранее - 1000) || number_of_banks|| style="text-align:left" | Чтение и запись в банки команд IR | |
| |-
| |
| | 5300 (в прошивке 3.1.0 и ранее - 2000)|| number_of_banks || style="text-align:left" | Запись в банк команд IR использую IR-приёмник
| |
| |-
| |
| |}
| |
|
| |
|
| ===Сигнатура устройства ===
| | {{Wbincludes:1-Wire DI mode}} |
|
| |
|
| По адресу 200 лежит сигнатура модуля длиной 6 байт. Сигнатура уникальна для каждой модели устройств Wiren Board и позволяет идентифицировать модель по Modbus:
| | {{Wbincludes:Modbus|s_tolerance=true}} |
|
| |
|
| {| class="wikitable"
| | ===Расширение Быстрый Modbus=== |
| ! style="font-weight: bold;" | Модуль
| | {{note|note| Начиная с версии прошивки '''4.23.0''' устройство поддерживает расширение Быстрый Modbus.}} |
| ! style="font-weight: bold;" | Сигнатура
| |
| |- | |
| | WB-MIR
| |
| | WBMIR | |
|
| |
|
| |}
| | {{Wbincludes:Fast Modbus Description}} |
|
| |
|
| Для получения сигнатуры нужно выполнить команду READ_HOLDING_REGISTERS по адресу 200 (длина 6 регистров). Запись в эту область памяти не поддерживается, при попытке записи в недопустимое место возвращается ошибка 3. Пустые места в тексте сигнатуры забиваются значением 0x00.
| | === Карта регистров === |
| Начиная с регистра 220 записана дата сборки прошивки, в формате "число'''x00'''время'''x00'''" в виде строки (пример: 'Jan 27 2017 17:01:13'). Длина записи — 21 регистр.
| |
|
| |
|
| == Управление модулем из web-интерфейса ==
| | [[WB-MIR v2 Registers| '''Карта регистров модуля WB-MIR v.2''']] |
|
| |
|
| В настоящий момент для подключения модуля WB-MIR имеется два шаблона '''WB-MIR''' и '''WB-MIR (simple)'''. Шаблон '''WB-MIR''' предоставляет полный набор к функциям модуля из веб-интерфейса, включая обучение, а упрощенная версия '''WB-MIR (simple)''' может использоваться с уже обученным пультом и содержит гораздо меньшее количество элементов управления.
| | ==Обновление прошивки и сброс настроек== |
| | {{Modbus Device Firmware Update |
| | | new-fw=true |
| | | fw-version=4.18.10 |
| | | MS=true |
| | | old=true |
| | |changelog=WB-MSW v.3: Changelog}} |
|
| |
|
| {| class="wikitable"
| | ==Известные неисправности== |
| |[[File:Web_wb_mir.png |600px|thumb|right|Веб-интерфейс модуля WB-MIR]]
| | [[WB-MIR v2: Errata | Аппаратные ошибки/особенности WB-MIR v.2]], найденные при эксплуатации устройства. |
| |[[File:Web-wb-mir-simple.png|300px|thumb|right|Упрощенный веб-интерфейс модуля WB-MIR]]
| |
| |}
| |
|
| |
|
| | == Ревизии устройства == |
| | [[WB-MIR_v2_-_Modbus_IR_Remote_Control_Revisions | Список ревизий]] |
|
| |
|
| На примере полнофункционального модуля рассмотрим основные органы управления модулем и их назначение.
| | == Изображения и чертежи устройства == <!--T:29--> |
| {| class="wikitable"
| |
| ! Название элемента управления | |
| !Назначение
| |
| |-
| |
| |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||Сброс содержимого всех ячеек памяти. '''Будьте внимательны, очистка ПЗУ будет выполнена без запроса на подтверждение!'''
| |
| |-
| |
| |}
| |
|
| |
|
| == Управление модулем из командной строки ==
| | {{Wbincludes:CDR lib}} |
| Программное обеспечение контроллера Wiren Board включает в себя утилиту modbus_client для работы с устройствами, подключенными к выходам RS-485, по протоколу Modbus, подробное описание команды находится на странице [[Modbus-client]]. Доступ к командной строке описан в статье [[SSH]].
| |
|
| |
|
| === Пример чтения регистров ===
| | '''SVG:''' [[File:WB-MIR.svg.zip]] |
| Проверим, верно ли, что мы подключились именно к модулю нужного типа. (Модуль wb-mqtt-serial должен быть предварительно остановлен). По адресу 200 хранится уникальная сигнатура длиной в 6 регистров. Прочтем 6 регистров, начиная с адреса 200, и преобразуем полученный ответ из шестнадцатеричных цифр в символьную строку:
| |
|
| |
|
| <syntaxhighlight lang="bash">echo -e `modbus_client --debug -mrtu -pnone -s2 /dev/ttyAPP1 \
| | '''Autocad 2013 DXF:''' [[File:WB-MIR.dxf.zip]] |
| -a1 -t0x03 -r200 -c 6 | \
| |
| grep Data | sed -e 's/0x00/\\\x/g' -e 's/Data://' -e 's/\s//g'` </syntaxhighlight>
| |
|
| |
|
| В результате выполнения команды получаем строку, например '''WBMIR'''. В этом примере модуль WB-MIR имеет Modbus-адрес 1.
| | '''Autocad PDF:''' [[File:WB-MIR.pdf]] |
|
| |
|
| === Перезагрузка ===
| | {{Wbincludes: AutoCAD_base}} |
| В ряде случаев может потребоваться перезагрузка модуля. Для этого в регистр 120 (0x78) необходимо записать любое значение, отличное от нуля:
| |
| <syntaxhighlight lang="bash">
| |
| modbus_client --debug -mrtu -pnone -s2 /dev/ttyAPP1 -a1 -t0x06 -r0x78 100
| |
| </syntaxhighlight>
| |
| Такая перезагрузка равносильна сбросу по питанию и изменению адреса устройства на 0x01. Предварительно, конечно, необходимо остановить сервис wb-mqtt-serial. Перезагрузку лучше делать с одним устройством на шине.
| |