Перейти к содержанию

Навигация

WB FAQ/modbus-modules-behind-gateway: различия между версиями

Перенаправление на Socat
(Сложно получилось, откатил)
Метка: ручная отмена
(Перенаправление на Socat)
Метка: новое перенаправление
 
(не показаны 2 промежуточные версии 1 участника)
Строка 1: Строка 1:
#REDIRECT [[Socat]]
{{DISPLAYTITLE: Работа с подключёнными к WB-MGE (WB-MIO-E) устройствами через socat}}
{{DISPLAYTITLE: Работа с подключёнными к WB-MGE (WB-MIO-E) устройствами через socat}}
__TOC__
__TOC__
Строка 19: Строка 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,ispeed=9600,ospeed=9600,parenb=0,cstopb=1,cs8,link=/dev/ttyRS485-5 tcp:192.168.0.7:20108&
   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>
#: в системе появится виртуальный порт <code>/dev/ttyRS485-5</code>, с которым можно работать как с локальным.  
#: если у вас стабильный релиз до 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.  
Строка 49: Строка 51:
# Настройте переадресацию socat:
# Настройте переадресацию socat:
#:<syntaxhighlight lang="bash">
#:<syntaxhighlight lang="bash">
socat -d -d -d -x PTY,raw,ispeed=115200,ospeed=115200,parenb=0,cstopb=2,cs8,link=/dev/ttyRS485-5 tcp:192.168.0.7:23&
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">
Строка 61: Строка 64:
# В первом окне снова создайте тоннель socat, не забудьте изменить скорость в параметрах:
# В первом окне снова создайте тоннель socat, не забудьте изменить скорость в параметрах:
#:<syntaxhighlight lang="bash">
#:<syntaxhighlight lang="bash">
socat -d -d -d -x PTY,raw,ispeed=9600,ospeed=9600,parenb=0,cstopb=2,cs8,link=/dev/ttyRS485-5 tcp:192.168.0.7:23&
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">
translator, wb_editors
4313

правок