Проблемы сети после перехода с тестового релиза на стабильный

Добрый вечер, после переход с тестового релиза 2207 на стабильный релиз 2204 ПЛК Wirenboard ver 6.9 стал себя странно вести

  1. пропала сеть, не смог подключиться по старому Ip адресу. 192.168.1.99
  2. проверил на Wifi-маршрутизаторе может у него поменялся IP адрес, новый адрес стал 192.168.1.107
  3. после пару минут адрес вернулся на старый 192.168.1.99
    В Web интерфейсе странное поведение, приложил 2 скриншота, через puTTy проблем с подключением нет

Добрый день. Каким образом устанавливается адрес? Покажите состояния и адреса интерфейсов.
Можно, кстати и конфиг сети сразу.

Как настроен порт и адрес управления? Есть ли обмен по websocket из браузера?

файл etc/network/interface

interfaces (384 Байта)
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 10.29.50.30
gateway 10.29.0.250
hwaddress 68:27:19:8c:ec:d4
mtu 1500
netmask 255.255.0.0

auto eth1
iface eth1 inet static
address 192.168.1.99
gateway 192.168.1.1
mtu 1500
netmask 255.255.255.0

#allow-hotplug wlan0
#iface wlan0 inet static
#address 192.168.42.1
#netmask 255.255.255.0

не совсем понимаю вопрос

Ошибок нет, вполне работоспособен.
И нет, с таким конфигом “чужой адреса” не может сам нбыть назначен. А “192.168.1.107” именно пинговался, по нему можно было зайти?

Отвечает ли контроллер на 192.168.1.99:18883?


Слушает ли на 18883?

netstat -nvl |grep 18883
netstat: no support for `AF INET (sctp)' on this system.
netstat: no support for `AF INET (sctp)' on this system.
netstat: no support for `AF IPX' on this system.
netstat: no support for `AF AX25' on this system.
netstat: no support for `AF X25' on this system.
netstat: no support for `AF NETROM' on this system.
netstat: no support for `AF ROSE' on this system.
tcp        0      0 0.0.0.0:18883           0.0.0.0:*               LISTEN     

Видимо нет.

libs.eac10661c139e4b03a9c.js:50 WebSocket connection to ‘ws://192.168.1.99:18883/mqtt’ failed:
b._doConnect @ libs.eac10661c139e4b03a9c.js:50
b.connect @ libs.eac10661c139e4b03a9c.js:50
connect @ libs.eac10661c139e4b03a9c.js:50
(anonymous) @ main.eac10661c139e4b03a9c.js:1
(anonymous) @ libs.eac10661c139e4b03a9c.js:133
completeTask @ libs.eac10661c139e4b03a9c.js:133
(anonymous) @ libs.eac10661c139e4b03a9c.js:133
libs.eac10661c139e4b03a9c.js:50 WebSocket connection to ‘ws://192.168.1.99:18883/mqtt’ failed:
b._doConnect @ libs.eac10661c139e4b03a9c.js:50
b._disconnected @ libs.eac10661c139e4b03a9c.js:50
b._on_socket_error @ libs.eac10661c139e4b03a9c.js:50
(anonymous) @ libs.eac10661c139e4b03a9c.js:50
main.eac10661c139e4b03a9c.js:1 reconnect timer fired
libs.eac10661c139e4b03a9c.js:50 WebSocket connection to ‘ws://192.168.1.99:18883/mqtt’ failed:
b._doConnect @ libs.eac10661c139e4b03a9c.js:50
b.connect @ libs.eac10661c139e4b03a9c.js:50
connect @ libs.eac10661c139e4b03a9c.js:50
(anonymous) @ main.eac10661c139e4b03a9c.js:1
(anonymous) @ libs.eac10661c139e4b03a9c.js:133
completeTask @ libs.eac10661c139e4b03a9c.js:133
(anonymous) @ libs.eac10661c139e4b03a9c.js:133
libs.eac10661c139e4b03a9c.js:50 WebSocket connection to ‘ws://192.168.1.99:18883/mqtt’ failed:
b._doConnect @ libs.eac10661c139e4b03a9c.js:50
b._disconnected @ libs.eac10661c139e4b03a9c.js:50
b._on_socket_error @ libs.eac10661c139e4b03a9c.js:50
(anonymous) @ libs.eac10661c139e4b03a9c.js:50
main.eac10661c139e4b03a9c.js:1 reconnect timer fired
libs.eac10661c139e4b03a9c.js:50 WebSocket connection to ‘ws://192.168.1.99:18883/mqtt’ failed:
b._doConnect @ libs.eac10661c139e4b03a9c.js:50
b.connect @ libs.eac10661c139e4b03a9c.js:50
connect @ libs.eac10661c139e4b03a9c.js:50
(anonymous) @ main.eac10661c139e4b03a9c.js:1
(anonymous) @ libs.eac10661c139e4b03a9c.js:133
completeTask @ libs.eac10661c139e4b03a9c.js:133
(anonymous) @ libs.eac10661c139e4b03a9c.js:133
libs.eac10661c139e4b03a9c.js:50 WebSocket connection to ‘ws://192.168.1.99:18883/mqtt’ failed:
b._doConnect @ libs.eac10661c139e4b03a9c.js:50
b._disconnected @ libs.eac10661c139e4b03a9c.js:50
b._on_socket_error @ libs.eac10661c139e4b03a9c.js:50
(anonymous) @ libs.eac10661c139e4b03a9c.js:50
main.eac10661c139e4b03a9c.js:1 reconnect timer fired
libs.eac10661c139e4b03a9c.js:50 WebSocket connection to ‘ws://192.168.1.99:18883/mqtt’ failed:
b._doConnect @ libs.eac10661c139e4b03a9c.js:50
b.connect @ libs.eac10661c139e4b03a9c.js:50
connect @ libs.eac10661c139e4b03a9c.js:50
(anonymous) @ main.eac10661c139e4b03a9c.js:1
(anonymous) @ libs.eac10661c139e4b03a9c.js:133
completeTask @ libs.eac10661c139e4b03a9c.js:133
(anonymous) @ libs.eac10661c139e4b03a9c.js:133
libs.eac10661c139e4b03a9c.js:50 WebSocket connection to ‘ws://192.168.1.99:18883/mqtt’ failed:
b._doConnect @ libs.eac10661c139e4b03a9c.js:50
b._disconnected @ libs.eac10661c139e4b03a9c.js:50
b._on_socket_error @ libs.eac10661c139e4b03a9c.js:50
(anonymous) @ libs.eac10661c139e4b03a9c.js:50
main.eac10661c139e4b03a9c.js:1 reconnect timer fired
libs.eac10661c139e4b03a9c.js:50 WebSocket connection to ‘ws://192.168.1.99:18883/mqtt’ failed:
b._doConnect @ libs.eac10661c139e4b03a9c.js:50
b.connect @ libs.eac10661c139e4b03a9c.js:50
connect @ libs.eac10661c139e4b03a9c.js:50
(anonymous) @ main.eac10661c139e4b03a9c.js:1
(anonymous) @ libs.eac10661c139e4b03a9c.js:133
completeTask @ libs.eac10661c139e4b03a9c.js:133
(anonymous) @ libs.eac10661c139e4b03a9c.js:133
libs.eac10661c139e4b03a9c.js:50 WebSocket connection to ‘ws://192.168.1.99:18883/mqtt’ failed:
b._doConnect @ libs.eac10661c139e4b03a9c.js:50
b._disconnected @ libs.eac10661c139e4b03a9c.js:50
b._on_socket_error @ libs.eac10661c139e4b03a9c.js:50
(anonymous) @ libs.eac10661c139e4b03a9c.js:50
main.eac10661c139e4b03a9c.js:1 reconnect timer fired

Есть возможность принудительно установить стабильную версию 2207 и сбросить всё настройки.
Версия WB 6.9.1A/5
S/N: AP75N5I4

На контроллере порт слушается?

root@wirenboard-AP75N5I4:~# netstat -nvl |grep 18883
netstat: no support for AF INET (sctp)' on this system. netstat: no support for AF INET (sctp)’ on this system.
netstat: no support for AF IPX' on this system. netstat: no support for AF AX25’ on this system.
netstat: no support for AF X25' on this system. netstat: no support for AF NETROM’ on this system.
netstat: no support for `AF ROSE’ on this system.
root@wirenboard-AP75N5I4:~#

В /etc/mosquitto/mosquitto.conf нужно поменять persistence true на persistence false.
После - перезапустить брокер (или контроллер). Ну и снова проверьте - слушается ли порт.

Всё работает, спасибо. :blush:
Подскажите как настроить Шлюз MQTT - Modbus RTU/TCP slave

Соответствия каналов и регистров


Содержимое файла wb-mqtt-mbgate.conf (240 Байт)

{
“debug”: false,
“modbus”: {
“host”: “*”,
“port”: 502
},
“mqtt”: {
“host”: “localhost”,
“port”: 1883
},
“registers”: {
“remap_values”: false,
“holdings”: [],
“inputs”: [],
“coils”: [],
“discretes”: []
}
}
Само реле работает нормально


На другом ПЛК WB при настройке Шлюз MQTT - Modbus RTU/TCP slave
сразу отображается MQTT имена и нужно только подставить значения Modbus адресов.

Здравствуйте!
Проверьте, что сервис wb-mqtt-mbgate работает:

systemctl status wb-mqtt-mbgate

Если не работает, что запустите его:

systemctl start wb-mqtt-mbgate

На странице конфигурации в веб-интерфейсе должны будут появиться регистры.

root@wirenboard-AP75N5I4:~# systemctl status wb-mqtt-mbgate
● wb-mqtt-mbgate.service - Wiren Board MQTT to Modbus TCP gateway
Loaded: loaded (/lib/systemd/system/wb-mqtt-mbgate.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2022-09-01 11:42:48 UTC; 4min 43s ago
Process: 458 ExecStartPre=/usr/bin/wb-mqtt-mbgate-confgen -c /etc/wb-mqtt-mbgate.conf (code=exited, status=0/SUCCESS)
Main PID: 1268 (wb-mqtt-mbgate)
CGroup: /system.slice/wb-mqtt-mbgate.service
└─1268 /usr/bin/wb-mqtt-mbgate -c /etc/wb-mqtt-mbgate.conf

Sep 01 11:42:34 wirenboard-AP75N5I4 systemd[1]: Starting Wiren Board MQTT to Modbus TCP gateway…
Sep 01 11:42:47 wirenboard-AP75N5I4 wb-mqtt-mbgate-confgen[458]: /tmp/1662032562.1677301/retain_hack
Sep 01 11:42:47 wirenboard-AP75N5I4 wb-mqtt-mbgate-confgen[458]: Failed to open config
Sep 01 11:42:48 wirenboard-AP75N5I4 systemd[1]: Started Wiren Board MQTT to Modbus TCP gateway.
Sep 01 11:42:49 wirenboard-AP75N5I4 wb-mqtt-mbgate[1268]: INFO: [mqtt] Default host and port detected, checking if UNIX so
Sep 01 11:42:49 wirenboard-AP75N5I4 wb-mqtt-mbgate[1268]: INFO: [mqtt] UNIX socket not found, falling back to TCP connecti
Sep 01 11:42:49 wirenboard-AP75N5I4 wb-mqtt-mbgate[1268]: INFO: [modbus] Modbus listening
Sep 01 11:42:49 wirenboard-AP75N5I4 wb-mqtt-mbgate[1268]: INFO: [mbgate] Start loops
Sep 01 11:42:50 wirenboard-AP75N5I4 wb-mqtt-mbgate[1268]: INFO: [mqtt] connection estabilished with code “0”

Работает…

Помогло рестарт …

Спасибо.
Возможно периодом опроса реле отрегулировать невозможность одновременного срабатывания K1-K6 при замыкании inputs 1-6.

Как работает на данный момент:
1.Есть 12 реле WBMR6L ver2.
2.Реле отвечают за подачу воды отрыл, закрыл.
3.Информация об открытии, закрытии я беру из SNMP протокола она представлена в виде числа, которое я обрабатываю на встроенном JS.
VirtualDevicePump41.js (4.1 КБ)
После обработки смотрю визуализацию (виртуальных реле) открытия закрытия в веб интерфейсе.

На данном этапе у меня возникают трудности.

  • При обрыве сети у меня остается последний полученный сигнал (открыт или закрыт), после возобновления работы сети в Web интерфейсе ничего не меняется, при опросе через командную строку всё работает.
    Это Web интерфейс
    |snmp_10.41.52.103_public|Channel 2|value|/devices/snmp_10.41.52.103_public/controls/Channel 2||Ошибка: r|
    |—|—|—|—|—|—|
    |snmp_10.41.52.104_public|Channel 2|value|/devices/snmp_10.41.52.104_public/controls/Channel 2|-1610612604|OK|

Это командная строка
root@wirenboard-AXIR7TYX:~# snmpwalk -On -v2c -c public 10.41.52.103 1.3.6.1.4.1.26381.1.2.0
Timeout: No Response from 10.41.52.103

root@wirenboard-AXIR7TYX:~# snmpwalk -On -v2c -c public 10.41.52.104 1.3.6.1.4.1.26381.1.2.0
Timeout: No Response from 10.41.52.104

/devices/snmp_10.41.52.104_public/controls/Channel 2
filename.csv (656 Байт)

4.Нет четкой закономерности Web интерфейса и командной строки даже когда нет обрыва связи.

5.Обработку виртуальных реле отправляю на сенсорную панель, на которой можно регулировать интервалы открытия закрытия.

Посоветуйте как упростить данную модель работы.

Если это вопрос, то он не совсем понятен. В любом случае, думаю, что это плохое решение. Как вариант - хотя бы программная блокировка в правилах. При этом нужно отключить управление выходами реле непосредственно от аппаратных входов.

подскажите как это реализовать?