|
|
Строка 131: |
Строка 131: |
| |- | | |- |
| |} | | |} |
|
| |
| == Управление модулем из командной строки ==
| |
| Программное обеспечение контроллера Wiren Board включает в себя утилиту modbus_client для работы с устройствами, подключенными к выходам RS-485, по протоколу Modbus, подробное описание команды находится на странице [[Modbus-client]]. Доступ к командной строке описан в статье [[SSH]].
| |
|
| |
| === Пример чтения регистров ===
| |
| Проверим, верно ли, что мы подключились именно к модулю нужного типа. (Модуль wb-mqtt-serial должен быть предварительно остановлен). По адресу 200 хранится уникальная сигнатура длиной в 6 регистров. Прочтем 6 регистров, начиная с адреса 200, и преобразуем полученный ответ из шестнадцатеричных цифр в символьную строку:
| |
|
| |
| <syntaxhighlight lang="bash">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'` </syntaxhighlight>
| |
|
| |
| В результате выполнения команды получаем строку, например '''WBMIR'''. В этом примере модуль WB-MIR имеет Modbus-адрес 1.
| |
|
| |
| === Перезагрузка ===
| |
| В ряде случаев может потребоваться перезагрузка модуля. Для этого в регистр 120 (0x78) необходимо записать любое значение, отличное от нуля:
| |
| <syntaxhighlight lang="bash">
| |
| modbus_client --debug -mrtu -pnone -s2 /dev/ttyAPP1 -a1 -t0x06 -r0x78 100
| |
| </syntaxhighlight>
| |
| Такая перезагрузка равносильна сбросу по питанию и изменению адреса устройства на 0x01. Предварительно, конечно, необходимо остановить сервис wb-mqtt-serial. Перезагрузку лучше делать с одним устройством на шине.
| |