12 063
правки
(Новая страница: «<syntaxhighlight lang="bash">root@wirenboard:~# service wb-mqtt-serial stop</syntaxhighlight> Let's try to determine the current address of the module. To do this…») |
|||
Строка 9: | Строка 9: | ||
<syntaxhighlight lang="bash">root@wirenboard:~# service wb-mqtt-serial stop</syntaxhighlight> | <syntaxhighlight lang="bash">root@wirenboard:~# service wb-mqtt-serial stop</syntaxhighlight> | ||
Let's try to determine the current address of the module. To do this, at the command line, run a cyclic command to poll the register of 0x80 devices with addresses from 1 to 247: | |||
<syntaxhighlight lang="bash">root@wirenboard:~# for i in {1..247}; do modbus_client -mrtu /dev/ttyAPP1 --debug -a$i -t3 -r0x80 -s2 -pnone; done 2>/dev/null | grep Data: | <syntaxhighlight lang="bash">root@wirenboard:~# for i in {1..247}; do modbus_client -mrtu /dev/ttyAPP1 --debug -a$i -t3 -r0x80 -s2 -pnone; done 2>/dev/null | grep Data: | ||
Data: 0x0072</syntaxhighlight> | Data: 0x0072</syntaxhighlight> | ||
Result: the address of the connected device is 0x0072, i.e. 114. It takes a little more than 2 minutes to search all addresses from 1 to 247. In the parameters of the modbus_client command call, we specify 2 stop bits( -s2), no parity ( -pnone), the speed of 9600 bit/s is set automatically. Read the command READ_HOLDING_REGISTERS with code 3 (-t3) from the register with the address 0x80 ( -r0x80), the address changes in the cycle from 1 to 247 ( -a$i). On some devices, the led blinks when communicating with them. | |||
[[Файл:Status_flash_mr14.gif|300px|thumb|left|Status led blinks when communication via RS-485 module WB-MR14]] | |||
[[Файл:Status_flash_mr14.gif|300px|thumb|left| | |||
правки