5813
правок
Kilpio (обсуждение | вклад) |
Kilpio (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
Инструкция по работе с ИК-приёмопередатчиком в устройствах WB-MS, WB-MSW, WB-MIR}} | |||
= Назначение = | = Назначение = | ||
Инфракрасный приёмопередатчик, установленный в устройствах WB-MS, WB-MSW модификации I и WB-MIR, предназначен для записи сигналов с ИК-пультов ДУ бытовых устройств и дальнейшего управления бытовой техникой: кондиционерами, телевизорами и т.д. Модули WB-MIR v.2 и WB-MSW v.3 поддерживают около 80 ИК-команд (зависит от объема занимаемой в памяти). | Инфракрасный приёмопередатчик, установленный в устройствах WB-MS, WB-MSW модификации I и WB-MIR, предназначен для записи сигналов с ИК-пультов ДУ бытовых устройств и дальнейшего управления бытовой техникой: кондиционерами, телевизорами и т.д. Модули WB-MIR v.2 и WB-MSW v.3 поддерживают около 80 ИК-команд (зависит от объема занимаемой в памяти). | ||
Строка 44: | Строка 44: | ||
Чтобы записать сигнал под номером <code>i</code> с пульта ДУ в память, запишите 1 в регистр флагов по адресу <code>5300 + i</code>. Затем направьте пульт ДУ на ИК-приёмник и нажмите кнопку на пульте. После отпускания кнопки, завершите запись сигнала, записав 0 в регистр флагов по адресу <code>5300 + i</code>. | Чтобы записать сигнал под номером <code>i</code> с пульта ДУ в память, запишите 1 в регистр флагов по адресу <code>5300 + i</code>. Затем направьте пульт ДУ на ИК-приёмник и нажмите кнопку на пульте. После отпускания кнопки, завершите запись сигнала, записав 0 в регистр флагов по адресу <code>5300 + i</code>. | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
#Начинаем запись сигнала с номером 1. Устройство подключено к порту /dev/ | #Начинаем запись сигнала с номером 1. Устройство подключено к порту /dev/ttyRS485-1 и имеет Modbus-адрес 16 | ||
root@wirenboard:~# modbus_client --debug -m rtu -b9600 -s2 -pnone /dev/ | root@wirenboard:~# modbus_client --debug -m rtu -b9600 -s2 -pnone /dev/ttyRS485-1 -a16 -t5 -r5301 1 | ||
#Направляем пульт на окно приемника и нажимаем кнопку на пульте ДУ | #Направляем пульт на окно приемника и нажимаем кнопку на пульте ДУ | ||
root@wirenboard:~# modbus_client --debug -m rtu -b9600 -s2 -pnone /dev/ | root@wirenboard:~# modbus_client --debug -m rtu -b9600 -s2 -pnone /dev/ttyRS485-1 -a16 -t5 -r5301 0 | ||
#Завершаем запись сигнала с номером 1 | #Завершаем запись сигнала с номером 1 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 54: | Строка 54: | ||
Чтобы воспроизвести сигнал под номером <code>i</code> из памяти, запишите 1 в регистр флага по адресу <code>5100 + i</code>. Если сигнал под номером <code>i</code> не был записан ранее, будет возвращена ошибка. Пока идёт воспроизведение сигнала, регистр флага по адресу <code>5100 + i</code> будет установлен в 1, а затем сам установится в 0. Пока идёт воспроизведение сигнала, никакие другие операции с ИК-приёмопередатчиком по Modbus не будут доступны. | Чтобы воспроизвести сигнал под номером <code>i</code> из памяти, запишите 1 в регистр флага по адресу <code>5100 + i</code>. Если сигнал под номером <code>i</code> не был записан ранее, будет возвращена ошибка. Пока идёт воспроизведение сигнала, регистр флага по адресу <code>5100 + i</code> будет установлен в 1, а затем сам установится в 0. Пока идёт воспроизведение сигнала, никакие другие операции с ИК-приёмопередатчиком по Modbus не будут доступны. | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
#Отдаём команду воспроизвести сигнал с номером 1. Устройство подключено к порту /dev/ | #Отдаём команду воспроизвести сигнал с номером 1. Устройство подключено к порту /dev/ttyRS485-1 и имеет Modbus-адрес 16 | ||
root@wirenboard:~# modbus_client --debug -m rtu -b9600 -s2 -pnone /dev/ | root@wirenboard:~# modbus_client --debug -m rtu -b9600 -s2 -pnone /dev/ttyRS485-1 -a16 -t5 -r5101 1 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==== Редактирование сигнала в постоянной памяти ==== | ==== Редактирование сигнала в постоянной памяти ==== | ||
Строка 160: | Строка 160: | ||
Проверим, верно ли, что мы подключились именно к модулю нужного типа. (Модуль wb-mqtt-serial должен быть предварительно остановлен). По адресу 200 хранится уникальная сигнатура длиной в 6 регистров. Прочтем 6 регистров, начиная с адреса 200, и преобразуем полученный ответ из шестнадцатеричных цифр в символьную строку: | Проверим, верно ли, что мы подключились именно к модулю нужного типа. (Модуль wb-mqtt-serial должен быть предварительно остановлен). По адресу 200 хранится уникальная сигнатура длиной в 6 регистров. Прочтем 6 регистров, начиная с адреса 200, и преобразуем полученный ответ из шестнадцатеричных цифр в символьную строку: | ||
<syntaxhighlight lang="bash">echo -e `modbus_client --debug -mrtu -pnone -s2 /dev/ | <syntaxhighlight lang="bash">echo -e `modbus_client --debug -mrtu -pnone -s2 /dev/ttyRS485-1 \ | ||
-a1 -t0x03 -r200 -c 6 | \ | -a1 -t0x03 -r200 -c 6 | \ | ||
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> | ||
В результате выполнения команды получаем строку, например '''WBMIR'''. В этом примере модуль WB-MIR имеет Modbus-адрес 1. | В результате выполнения команды получаем строку, например '''WBMIR'''. В этом примере модуль WB-MIR имеет Modbus-адрес 1. |
правок