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

(Добавил про обновление через socat)
Строка 32: Строка 32:


== Обновление прошивки ==  
== Обновление прошивки ==  
{{note|info|Инструкция подразумевает базовые навыки работы в коммандной строке, знание синтаксиса socat и хорошее понимание работы наших устройств. Ниже мы рассмотрим синтетический пример, который может сильно отличаться от вашей ситуации.}}
Если у вас есть физический доступ к шлюзу, то будет гораздо проще прошить устройства просто подключив их напрямую к контроллеру или ноутбуку.
Так как загрузчик наших устройств может работать только на скорости 9600 кбит/с, то и устройства за шлюзом должны работать на этой же скорости, как и сам шлюз.


Допустим, у нас есть шлюз WB-MGE и подключенное к нему устройство WB-MDM3 с адресом 58 и работающее на скорости 115200 кбит/с:
Этот способ сложен и подразумевает базовые навыки работы в коммандной строке, знание синтаксиса утилиты socat и хорошее понимание работы наших устройств. Ниже мы рассмотрим синтетический пример, который может сильно отличаться от вашей ситуации.
 
Так как загрузчик наших устройств может работать только на скорости 9600 кбит/с, то и устройства за шлюзом должны работать на этой же скорости, как и сам шлюз.
 
Исходные данные:
* 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.
Строка 42: Строка 50:
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,ispeed=115200,ospeed=115200,parenb=0,cstopb=2,cs8,link=/dev/ttyRS485-5 tcp:192.168.0.7:23&
</syntaxhighlight>
</syntaxhighlight>
# Во втором окне измените скорость порта устройства на 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 -pnone -s2 /dev/ttyRS485-5 -a58 -t0x06 -r110 96
Строка 64: Строка 72:
# В первом окне разорвите соединение socat клавишами <kbd>Ctrl</kbd>+<kbd>C</kbd>.
# В первом окне разорвите соединение socat клавишами <kbd>Ctrl</kbd>+<kbd>C</kbd>.
# Подключите Ethernet кабель шлюза WB-MGE к ноутбуку, откройте браузер и введите IP-адрес шлюза, например, 192.168.0.7
# Подключите Ethernet кабель шлюза WB-MGE к ноутбуку, откройте браузер и введите IP-адрес шлюза, например, 192.168.0.7
# В веб-интерфейсе шлюза измените настройки порта с 9600 кбит/с на 115200 кбит/с
# В веб-интерфейсе шлюза измените настройки порта с 9600 кбит/с на 115200 кбит/с.
# Запустите wb-mqtt-serial
# Запустите wb-mqtt-serial