translator, wb_editors
4544
правки
Matveevrj (обсуждение | вклад) (Перенаправление на Socat) Метка: новое перенаправление |
|||
(не показано 12 промежуточных версий 2 участников) | |||
Строка 1: | Строка 1: | ||
#REDIRECT [[Socat]] | |||
{{DISPLAYTITLE: Работа с подключёнными к WB-MGE (WB-MIO-E) устройствами через socat}} | {{DISPLAYTITLE: Работа с подключёнными к WB-MGE (WB-MIO-E) устройствами через socat}} | ||
__TOC__ | |||
== modbus_client == | == modbus_client == | ||
Утилита [[ Modbus-client | modbus_client]] для опроса устройств по протоколам Modbus RTU и Modbus TCP из командной строки не умеет работать с протоколом Modbus over TCP, который используется для коммуникации с модулем WB-MGE и WB-MIO-E по сети Ethernet. | Утилита [[ Modbus-client | modbus_client]] для опроса устройств по протоколам Modbus RTU и Modbus TCP из командной строки не умеет работать с протоколом Modbus over TCP, который используется для коммуникации с модулем WB-MGE и WB-MIO-E по сети Ethernet. | ||
Строка 18: | Строка 20: | ||
# Запустите перенаправление. Предположим, что модуль WB-MGE (WB-MIO-E) имеет IP-адрес 192.168.0.7, тогда в одном терминале на контроллере нужно выполнить команду: | # Запустите перенаправление. Предположим, что модуль WB-MGE (WB-MIO-E) имеет IP-адрес 192.168.0.7, тогда в одном терминале на контроллере нужно выполнить команду: | ||
#:<syntaxhighlight lang="bash"> | #:<syntaxhighlight lang="bash"> | ||
socat -d -d -d -x PTY,raw, | socat -d -d -d -x PTY,raw,b115200,parenb=0,cstopb=1,cs8,link=/dev/ttyRS485-5 tcp:192.168.0.7:20108& | ||
</syntaxhighlight> | </syntaxhighlight> | ||
#: | #: если у вас стабильный релиз до wb-2207 включительно, вместо параметра <code>b115200</code>, используйте <code>ispeed=9600,ospeed=9600</code>. | ||
В системе появится виртуальный порт <code>/dev/ttyRS485-5</code>, с которым можно работать как с локальным. | |||
Теперь открываете второй терминал и, с помощью утилиты [[ Modbus-client | modbus_client]] читаете и записываете значения в регистры устройств, подключенных к шлюзу по сети RS-485. В качестве адреса используете Modbus-адреса устройств. При этом в первом терминале остается запущенной команда socat. | Теперь открываете второй терминал и, с помощью утилиты [[ Modbus-client | modbus_client]] читаете и записываете значения в регистры устройств, подключенных к шлюзу по сети RS-485. В качестве адреса используете Modbus-адреса устройств. При этом в первом терминале остается запущенной команда socat. | ||
Строка 39: | Строка 42: | ||
Исходные данные: | Исходные данные: | ||
# Eсть шлюз WB-MGE, настроенный на Modbus over TCP и имеющий IP-адрес 192.168.0.7, порт 23. | |||
# К шлюзу подключено устройство WB-MDM3 с адресом 58 | |||
# У устройства и в настройках шлюза выставлена скорость 115200 кбит/с. | |||
Инструкция: | Инструкция: | ||
# Дважды подключитесь к контроллеру по [[SSH]],у вас должно быть открыто два окна: первое для создания тоннеля socat, второе для отправки команд устройству. | # Дважды подключитесь к контроллеру по [[SSH]],у вас должно быть открыто два окна: первое для создания тоннеля socat, второе для отправки команд устройству. | ||
# Остановите wb-mqtt-serial. | # Остановите [[wb-mqtt-serial]]. | ||
# Настройте переадресацию socat: | # Настройте переадресацию socat: | ||
#:<syntaxhighlight lang="bash"> | #:<syntaxhighlight lang="bash"> | ||
socat -d -d -d -x PTY,raw, | socat -d -d -d -x PTY,raw,b115200,parenb=0,cstopb=2,cs8,link=/dev/ttyRS485-5 tcp:192.168.0.7:23& | ||
</syntaxhighlight> | </syntaxhighlight> | ||
#: если у вас стабильный релиз до wb-2207 включительно, вместо параметра <code>b115200</code>, используйте <code>ispeed=9600,ospeed=9600</code>. | |||
# Во втором окне измените скорость порта устройства на 9600 кбит/с: | # Во втором окне измените скорость порта устройства на 9600 кбит/с: | ||
#:<syntaxhighlight lang="bash"> | #:<syntaxhighlight lang="bash"> | ||
modbus_client --debug -mrtu -pnone -s2 /dev/ttyRS485-5 -a58 -t0x06 -r110 96 | modbus_client --debug -mrtu -b115200 -pnone -s2 /dev/ttyRS485-5 -a58 -t0x06 -r110 96 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
# В первом окне разорвите соединение socat клавишами <kbd>Ctrl</kbd>+<kbd>C</kbd>. | # В первом окне разорвите соединение socat клавишами <kbd>Ctrl</kbd>+<kbd>C</kbd>. | ||
# Подключите Ethernet кабель шлюза WB-MGE к ноутбуку, откройте браузер и введите IP-адрес шлюза | # Подключите Ethernet кабель шлюза WB-MGE к ноутбуку, откройте браузер и введите IP-адрес шлюза. | ||
# В веб-интерфейсе шлюза измените настройки порта с 115200 кбит/с на 9600 кбит/с | # В веб-интерфейсе шлюза измените настройки порта с 115200 кбит/с на 9600 кбит/с | ||
# Подключите шлюз к контроллеру по Ethernet. | # Подключите шлюз к контроллеру по Ethernet. | ||
# В первом окне снова создайте тоннель socat, не забудьте изменить скорость в параметрах: | # В первом окне снова создайте тоннель socat, не забудьте изменить скорость в параметрах: | ||
#:<syntaxhighlight lang="bash"> | #:<syntaxhighlight lang="bash"> | ||
socat -d -d -d -x PTY,raw, | socat -d -d -d -x PTY,raw,b115200,parenb=0,cstopb=2,cs8,link=/dev/ttyRS485-5 tcp:192.168.0.7:23& | ||
</syntaxhighlight> | </syntaxhighlight> | ||
#: если у вас стабильный релиз до wb-2207 включительно, вместо параметра <code>b115200</code>, используйте <code>ispeed=9600,ospeed=9600</code>. | |||
# Во втором окне прошейте устройство, например, утилитой wb-mcu-fw-updater: | # Во втором окне прошейте устройство, например, утилитой wb-mcu-fw-updater: | ||
#:<syntaxhighlight lang="bash"> | #:<syntaxhighlight lang="bash"> | ||
Строка 68: | Строка 73: | ||
# После окончания прошивки верните в устройстве старую скорость 115200 кбит/с: | # После окончания прошивки верните в устройстве старую скорость 115200 кбит/с: | ||
#:<syntaxhighlight lang="bash"> | #:<syntaxhighlight lang="bash"> | ||
modbus_client --debug -mrtu -pnone -s2 /dev/ttyRS485-5 -a58 -t0x06 -r110 1152 | modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyRS485-5 -a58 -t0x06 -r110 1152 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
# В первом окне разорвите соединение socat клавишами <kbd>Ctrl</kbd>+<kbd>C</kbd>. | # В первом окне разорвите соединение socat клавишами <kbd>Ctrl</kbd>+<kbd>C</kbd>. | ||
# Подключите Ethernet кабель шлюза WB-MGE к ноутбуку, откройте браузер и введите IP-адрес шлюза | # Подключите Ethernet кабель шлюза WB-MGE к ноутбуку, откройте браузер и введите IP-адрес шлюза. | ||
# В веб-интерфейсе шлюза измените настройки порта с 9600 кбит/с на 115200 кбит/с. | # В веб-интерфейсе шлюза измените настройки порта с 9600 кбит/с на 115200 кбит/с. | ||
# Подключите шлюз к контроллеру по Ethernet. | |||
# Запустите wb-mqtt-serial | # Запустите wb-mqtt-serial | ||
Если вам нужно прошить несколько устройств, то вы можете | Если вам нужно прошить несколько устройств, то вы можете сперва изменить им скорость, перенастроить шлюз, а потом так же поочереди их прошить, вернуть им прежнюю скорость и снова перенастроить шлюз. | ||
== Информация по теме на портале == | == Информация по теме на портале == | ||
* [https://support.wirenboard.com/t/kak-smenit-proshivku-ili-skorost-u-modulya-wb-podklyuchyonnogo-k-tcp-portu/8480 Как сменить прошивку или скорость у модуля Wiren Board, подключённого к TCP порту?] | * [https://support.wirenboard.com/t/kak-smenit-proshivku-ili-skorost-u-modulya-wb-podklyuchyonnogo-k-tcp-portu/8480 Как сменить прошивку или скорость у модуля Wiren Board, подключённого к TCP порту?] | ||
* [https://support.wirenboard.com/t/wb-mio-e-nastrojka-podklyuchennogo-ustrojstva-modbus-client/8471 WB-MIO-E - настройка подключенного устройства modbus_client] | * [https://support.wirenboard.com/t/wb-mio-e-nastrojka-podklyuchennogo-ustrojstva-modbus-client/8471 WB-MIO-E - настройка подключенного устройства modbus_client] |