WB-MIR V2 how to

Появилась необходимость дистанционно управлять кондиционеоами (сплиты TOSOT) через ик. Других интерфейсов у них нет. Приобрел WB-MIR V2, контроллер есть стороннего производителя.
На данный момент общаюсь с модулем по modbus - читаю с него напряжение, версию прошивки и прочую служебную информацию. Пытаюсь записать команду с пульта - никакой обратной связи нет. При попытке передать - тишина. Встал двухканальным осциллографом на приемник и на передатчик - сигнал с пульта приёмник видит. На передатчике тишина.
Как понять произошла ли запись команды? Можно ли тестово записью в какой либо регистр что-то передать по ик дабы выяснить - мне повезло и у меня бракованное изделие или не повезло и кривые руки?
Ну и так, пожелание на будущие ревизии - у контролера явно не все ноги задействованы. Можно добавить хоть какую то индикацию в виде 1-2 светодиодов?

1 лайк

Здравствуйте.
Сообщите какая версия прошивки и аппаратной ревизии у устройства.
А также подробнее описать ваши действия (команды) и что ожидаете получить.

Просто прочитать можно, саму “команду” или ее длину.
Длина:

Примеры чтения команд: Запись команд ДУ в WB-MIR v.2 - #8 от пользователя BrainRoot
И тут: WB-MSW v.3 IR - #8 от пользователя BrainRoot

Да.
То есть, проще всего - вот так прямо в RAM банк записать.
Ну или отобразить ROM банк в RAM и записать в него.

Вообще под это и скрипты есть: Инструкция по работе с ИК-приёмопередатчиком в устройствах WB-MSW, WB-MIR — Wiren Board

Я немного разбираюсь в том как работает, так что надеюсь, смогу помочь. А пульт при записи подносите прямо к красному кругу?

1 лайк

Hw v1.84M
Fw 4.16.19

Ну раз я вижу посылку с приёмника осциллографом - видимо да, подношу куда надо)

Пишу с контроллера в регистр 5301 1, подношу пульт, жму на нем кнопку, пишу в 5301 0.
После пишу в 5101 1 - на выходе тишина.

Так.
Проверил у себя (RAM)
записал в 5001 1, нажал на пульт, записал 0:

root@wirenboard-AGH767IU:~# modbus_client --debug -mrtu -b115200 -pnone -s2 /dev/ttyRS485-1 -a98 -t0x05 -r5001 1
Data to write: 0x1
Opening /dev/ttyRS485-1 at 115200 bauds (N, 8, 2)
[62][05][13][89][FF][00][50][C7]
Waiting for a confirmation...
<62><05><13><89><FF><00><50><C7>
SUCCESS: written 1 elements!
root@wirenboard-AGH767IU:~# modbus_client --debug -mrtu -b115200 -pnone -s2 /dev/ttyRS485-1 -a98 -t0x05 -r5001 0
Data to write: 0x0
Opening /dev/ttyRS485-1 at 115200 bauds (N, 8, 2)
[62][05][13][89][00][00][11][37]
Waiting for a confirmation...
<62><05><13><89><00><00><11><37>
SUCCESS: written 1 elements!

Читаю из RAM первые 125 :регистров команды:

root@wirenboard-AGH767IU:~# modbus_client --debug -mrtu -b115200 -pnone -s2 /dev/ttyRS485-1 -a98 -t0x03 -r2000 -c125
Opening /dev/ttyRS485-1 at 115200 bauds (N, 8, 2)
[62][03][07][D0][00][7D][8C][F5]
Waiting for a confirmation...
<62><03><FA><00><0D><1E><F1><01><C4><01><C0><00><35><00><A3><00><3C><00><33><00><3B><00><A0><00><3A><00><A0><00><3B><00><33><00><3A><00><33><00><3A><00><A0><00><3B><00><33><00><3A><00><33><00><3B><00><9F><00><3B><00><33><00><3A><00><33><00><3B><00><A0><00><3A><00><A0><00><3B><00><33><00><3A><00><A0><00><3B><00><A0><00><3A><00><33><00><3B><00><A0><00><3A><00><A0><00><3B><00><A0><00><3B><00><A0><00><3A><00><A0><00><3B><00><A0><00><3B><00><32><00><3B><00><A0><00><3A><00><33><00><3B><00><32><00><3B><00><33><00><3B><00><32><00><3B><00><32><00><3B><00><33><00><3A><00><33><00><3B><00><A0><00><3B><00><32><00><3B><00><32><00><3B><00><33><00><3B><00><32><00><3B><00><32><00><3B><00><33><00><3A><00><A0><00><3B><00><33><00><3A><00><A0><00><3B><00><A0><00><3B><00><A0><00><3A><00><A0><00><3B><00><A0><00><3B><00><A0><00><3A><02><13><01><BA><01><C5><00><37><00><A3><00><3B><00><32><00><3B><00><A0><00><3B><00><A0><00><3A><00><33><00><3B><00><32><00><3B><00><A0><00><3B><00><32><00><3B><00><33><00><3A><00><A0><00><3B><AD><E0>
SUCCESS: read 125 of elements:
	Data: 0x000d 0x1ef1 0x01c4 0x01c0 0x0035 0x00a3 0x003c 0x0033 0x003b 0x00a0 0x003a 0x00a0 0x003b 0x0033 0x003a 0x0033 0x003a 0x00a0 0x003b 0x0033 0x003a 0x0033 0x003b 0x009f 0x003b 0x0033 0x003a 0x0033 0x003b 0x00a0 0x003a 0x00a0 0x003b 0x0033 0x003a 0x00a0 0x003b 0x00a0 0x003a 0x0033 0x003b 0x00a0 0x003a 0x00a0 0x003b 0x00a0 0x003b 0x00a0 0x003a 0x00a0 0x003b 0x00a0 0x003b 0x0032 0x003b 0x00a0 0x003a 0x0033 0x003b 0x0032 0x003b 0x0033 0x003b 0x0032 0x003b 0x0032 0x003b 0x0033 0x003a 0x0033 0x003b 0x00a0 0x003b 0x0032 0x003b 0x0032 0x003b 0x0033 0x003b 0x0032 0x003b 0x0032 0x003b 0x0033 0x003a 0x00a0 0x003b 0x0033 0x003a 0x00a0 0x003b 0x00a0 0x003b 0x00a0 0x003a 0x00a0 0x003b 0x00a0 0x003b 0x00a0 0x003a 0x0213 0x01ba 0x01c5 0x0037 0x00a3 0x003b 0x0032 0x003b 0x00a0 0x003b 0x00a0 0x003a 0x0033 0x003b 0x0032 0x003b 0x00a0 0x003b 0x0032 0x003b 0x0033 0x003a 0x00a0 0x003b 

Вторая часть команды:

root@wirenboard-AGH767IU:~# modbus_client --debug -mrtu -b115200 -pnone -s2 /dev/ttyRS485-1 -a98 -t0x03 -r2125 -c125
Opening /dev/ttyRS485-1 at 115200 bauds (N, 8, 2)
[62][03][08][4D][00][7D][1E][0F]
Waiting for a confirmation...
<62><03><FA><00><32><00><3B><00><33><00><3B><00><9F><00><3B><00><A0><00><3B><00><32><00><3B><00><A0><00><3B><00><A0><00><3A><00><33><00><3B><00><A0><00><3A><00><A0><00><3B><00><A0><00><3B><00><A0><00><3A><00><A0><00><3B><00><A0><00><3A><00><33><00><3B><00><A0><00><3A><00><33><00><3B><00><32><00><3B><00><33><00><3A><00><33><00><3B><00><32><00><3B><00><33><00><3A><00><33><00><3B><00><9F><00><3B><00><33><00><3B><00><32><00><3B><00><32><00><3B><00><33><00><3A><00><33><00><3B><00><32><00><3B><00><A0><00><3B><00><32><00><3B><00><A0><00><3B><00><9F><00><3E><00><9D><00><3D><00><9E><00><3D><00><9D><00><3D><00><9E><00><3D><FF><B1><00><06><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><4C><95>
SUCCESS: read 125 of elements:
	Data: 0x0032 0x003b 0x0033 0x003b 0x009f 0x003b 0x00a0 0x003b 0x0032 0x003b 0x00a0 0x003b 0x00a0 0x003a 0x0033 0x003b 0x00a0 0x003a 0x00a0 0x003b 0x00a0 0x003b 0x00a0 0x003a 0x00a0 0x003b 0x00a0 0x003a 0x0033 0x003b 0x00a0 0x003a 0x0033 0x003b 0x0032 0x003b 0x0033 0x003a 0x0033 0x003b 0x0032 0x003b 0x0033 0x003a 0x0033 0x003b 0x009f 0x003b 0x0033 0x003b 0x0032 0x003b 0x0032 0x003b 0x0033 0x003a 0x0033 0x003b 0x0032 0x003b 0x00a0 0x003b 0x0032 0x003b 0x00a0 0x003b 0x009f 0x003e 0x009d 0x003d 0x009e 0x003d 0x009d 0x003d 0x009e 0x003d 0xffb1 0x0006 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 

Отлично.
Теперь сбрасываю (чищу) содержимое RAM перезапуском.

root@wirenboard-AGH767IU:~# modbus_client --debug -mrtu -b115200 -pnone -s2 /dev/ttyRS485-1 -a98 -t0x06 -r120 1
Data to write: 0x1
Opening /dev/ttyRS485-1 at 115200 bauds (N, 8, 2)
[62][06][00][78][00][01][C1][80]
Waiting for a confirmation...
<62><06><00><78><00><01><C1><80>
SUCCESS: written 1 elements!

Пробую записать команду прямо в регистры RAM, первые 123 регистра:

root@wirenboard-AGH767IU:~# modbus_client --debug -mrtu -b115200 -pnone -s2 /dev/ttyRS485-1 -a98 -t0x10 -r2000 0x000d 0x1ef1 0x01c4 0x01c0 0x0035 0x00a3 0x003c 0x0033 0x003b 0x00a0 0x003a 0x00a0 0x003b 0x0033 0x003a 0x0033 0x003a 0x00a0 0x003b 0x0033 0x003a 0x0033 0x003b 0x009f 0x003b 0x0033 0x003a 0x0033 0x003b 0x00a0 0x003a 0x00a0 0x003b 0x0033 0x003a 0x00a0 0x003b 0x00a0 0x003a 0x0033 0x003b 0x00a0 0x003a 0x00a0 0x003b 0x00a0 0x003b 0x00a0 0x003a 0x00a0 0x003b 0x00a0 0x003b 0x0032 0x003b 0x00a0 0x003a 0x0033 0x003b 0x0032 0x003b 0x0033 0x003b 0x0032 0x003b 0x0032 0x003b 0x0033 0x003a 0x0033 0x003b 0x00a0 0x003b 0x0032 0x003b 0x0032 0x003b 0x0033 0x003b 0x0032 0x003b 0x0032 0x003b 0x0033 0x003a 0x00a0 0x003b 0x0033 0x003a 0x00a0 0x003b 0x00a0 0x003b 0x00a0 0x003a 0x00a0 0x003b 0x00a0 0x003b 0x00a0 0x003a 0x0213 0x01ba 0x01c5 0x0037 0x00a3 0x003b 0x0032 0x003b 0x00a0 0x003b 0x00a0 0x003a 0x0033 0x003b 0x0032 0x003b 0x00a0 0x003b 0x0032 0x003b 0x0033 0x003a
Data to write: 0x000d 0x1ef1 0x01c4 0x01c0 0x0035 0x00a3 0x003c 0x0033 0x003b 0x00a0 0x003a 0x00a0 0x003b 0x0033 0x003a 0x0033 0x003a 0x00a0 0x003b 0x0033 0x003a 0x0033 0x003b 0x009f 0x003b 0x0033 0x003a 0x0033 0x003b 0x00a0 0x003a 0x00a0 0x003b 0x0033 0x003a 0x00a0 0x003b 0x00a0 0x003a 0x0033 0x003b 0x00a0 0x003a 0x00a0 0x003b 0x00a0 0x003b 0x00a0 0x003a 0x00a0 0x003b 0x00a0 0x003b 0x0032 0x003b 0x00a0 0x003a 0x0033 0x003b 0x0032 0x003b 0x0033 0x003b 0x0032 0x003b 0x0032 0x003b 0x0033 0x003a 0x0033 0x003b 0x00a0 0x003b 0x0032 0x003b 0x0032 0x003b 0x0033 0x003b 0x0032 0x003b 0x0032 0x003b 0x0033 0x003a 0x00a0 0x003b 0x0033 0x003a 0x00a0 0x003b 0x00a0 0x003b 0x00a0 0x003a 0x00a0 0x003b 0x00a0 0x003b 0x00a0 0x003a 0x0213 0x01ba 0x01c5 0x0037 0x00a3 0x003b 0x0032 0x003b 0x00a0 0x003b 0x00a0 0x003a 0x0033 0x003b 0x0032 0x003b 0x00a0 0x003b 0x0032 0x003b 0x0033 0x003a 
Opening /dev/ttyRS485-1 at 115200 bauds (N, 8, 2)
[62][10][07][D0][00][7B][F6][00][0D][1E][F1][01][C4][01][C0][00][35][00][A3][00][3C][00][33][00][3B][00][A0][00][3A][00][A0][00][3B][00][33][00][3A][00][33][00][3A][00][A0][00][3B][00][33][00][3A][00][33][00][3B][00][9F][00][3B][00][33][00][3A][00][33][00][3B][00][A0][00][3A][00][A0][00][3B][00][33][00][3A][00][A0][00][3B][00][A0][00][3A][00][33][00][3B][00][A0][00][3A][00][A0][00][3B][00][A0][00][3B][00][A0][00][3A][00][A0][00][3B][00][A0][00][3B][00][32][00][3B][00][A0][00][3A][00][33][00][3B][00][32][00][3B][00][33][00][3B][00][32][00][3B][00][32][00][3B][00][33][00][3A][00][33][00][3B][00][A0][00][3B][00][32][00][3B][00][32][00][3B][00][33][00][3B][00][32][00][3B][00][32][00][3B][00][33][00][3A][00][A0][00][3B][00][33][00][3A][00][A0][00][3B][00][A0][00][3B][00][A0][00][3A][00][A0][00][3B][00][A0][00][3B][00][A0][00][3A][02][13][01][BA][01][C5][00][37][00][A3][00][3B][00][32][00][3B][00][A0][00][3B][00][A0][00][3A][00][33][00][3B][00][32][00][3B][00][A0][00][3B][00][32][00][3B][00][33][00][3A][9B][AB]
Waiting for a confirmation...
<62><10><07><D0><00><7B><89><34>
SUCCESS: written 123 elements!

Вторая часть, пишу значимое вместе с двумя нулевыми регистрами в конце:

modbus_client --debug -mrtu -b115200 -pnone -s2 /dev/ttyRS485-1 -a98 -t0x10 -r2123 0x00a0 0x003b 0x0032 0x003b 0x0033 0x003b 0x009f 0x003b 0x00a0 0x003b 0x0032 0x003b 0x00a0 0x003b 0x00a0 0x003a 0x0033 0x003b 0x00a0 0x003a 0x00a0 0x003b 0x00a0 0x003b 0x00a0 0x003a 0x00a0 0x003b 0x00a0 0x003a 0x0033 0x003b 0x00a0 0x003a 0x0033 0x003b 0x0032 0x003b 0x0033 0x003a 0x0033 0x003b 0x0032 0x003b 0x0033 0x003a 0x0033 0x003b 0x009f 0x003b 0x0033 0x003b 0x0032 0x003b 0x0032 0x003b 0x0033 0x003a 0x0033 0x003b 0x0032 0x003b 0x00a0 0x003b 0x0032 0x003b 0x00a0 0x003b 0x009f 0x003e 0x009d 0x003d 0x009e 0x003d 0x009d 0x003d 0x009e 0x003d 0xffb1 0x0006 0x0000 0x0000
Data to write: 0x00a0 0x003b 0x0032 0x003b 0x0033 0x003b 0x009f 0x003b 0x00a0 0x003b 0x0032 0x003b 0x00a0 0x003b 0x00a0 0x003a 0x0033 0x003b 0x00a0 0x003a 0x00a0 0x003b 0x00a0 0x003b 0x00a0 0x003a 0x00a0 0x003b 0x00a0 0x003a 0x0033 0x003b 0x00a0 0x003a 0x0033 0x003b 0x0032 0x003b 0x0033 0x003a 0x0033 0x003b 0x0032 0x003b 0x0033 0x003a 0x0033 0x003b 0x009f 0x003b 0x0033 0x003b 0x0032 0x003b 0x0032 0x003b 0x0033 0x003a 0x0033 0x003b 0x0032 0x003b 0x00a0 0x003b 0x0032 0x003b 0x00a0 0x003b 0x009f 0x003e 0x009d 0x003d 0x009e 0x003d 0x009d 0x003d 0x009e 0x003d 0xffb1 0x0006 0x0000 0x0000 
Opening /dev/ttyRS485-1 at 115200 bauds (N, 8, 2)
[62][10][08][4B][00][52][A4][00][A0][00][3B][00][32][00][3B][00][33][00][3B][00][9F][00][3B][00][A0][00][3B][00][32][00][3B][00][A0][00][3B][00][A0][00][3A][00][33][00][3B][00][A0][00][3A][00][A0][00][3B][00][A0][00][3B][00][A0][00][3A][00][A0][00][3B][00][A0][00][3A][00][33][00][3B][00][A0][00][3A][00][33][00][3B][00][32][00][3B][00][33][00][3A][00][33][00][3B][00][32][00][3B][00][33][00][3A][00][33][00][3B][00][9F][00][3B][00][33][00][3B][00][32][00][3B][00][32][00][3B][00][33][00][3A][00][33][00][3B][00][32][00][3B][00][A0][00][3B][00][32][00][3B][00][A0][00][3B][00][9F][00][3E][00][9D][00][3D][00][9E][00][3D][00][9D][00][3D][00][9E][00][3D][FF][B1][00][06][00][00][00][00][92][32]
Waiting for a confirmation...
<62><10><08><4B><00><52><3A><11>
SUCCESS: written 82 elements!

Воспроизвожу команду:

root@wirenboard-AGH767IU:~# modbus_client --debug -mrtu -b115200 -pnone -s2 /dev/ttyRS485-1 -a98 -t0x05 -r5002 1 
Data to write: 0x1
Opening /dev/ttyRS485-1 at 115200 bauds (N, 8, 2)
[62][05][13][8A][FF][00][A0][C7]
Waiting for a confirmation...
<62><05><13><8A><FF><00><A0><C7>
SUCCESS: written 1 elements!

Кондиционер пискнул, значение температуры изменилось.
Советую попробовать записать в RAM регистры и воспроизвести для проверки.

К сожалению или к счастью у меня нет контроллера Wirenboard, запускать Linux ради проверки - как то сложновато. Щас буду с контроллером который имеется изголяться

Пока отбой. Оказалось дело в типе переменной - в моём контроллере правильный тип для записи в 5301 - логический. До этого писал 1 байт беззнак целый. Добавьте эту информацию в wiki, чтобы такие как я не наступали на костыли.

А при чем тут линукс?
Любым виндовым модбас клиентом то-же самое по аналогии сделать.

1 лайк

Из виндовых я использовал только QmodMaster. В нем такое сложновато оформить. Проверил на кондиционере - все ок, команды с WB-MIR работают.

1 лайк

Нет, modbus команда записи в coil - она всегда-всегда одинакова, совершенно безотносительно того как в контроллере представляется.
Именно поэтому всегда стараюсь приводить сами байты посылок и ответов. Да, громоздко - но позволяет понять что ж именно пишем в шину и получаем из нее.

QmodMaster не использовал… А под Windows нету “нормального” консольного клиента разве?

Не задавался вопросом поиска консольного клиента для windows - как то без него всегда решались задачи.

Эта тема была автоматически закрыта через 7 дней после последнего ответа. В ней больше нельзя отвечать.