Связь с контроллером Yart1.8(Серебрум)

Добрый день
Мне нужно связать WB8 с моими Yart1.8(Серебрум) для обмена переменными.
Из программы MobaXterm с помощью Modbus TCP мне удается читать и записывать
переменные типа float из WB8 в Yart1.8 c IP 192.168.1.252
Как сделать, чтобы к примеру топик “wb-w1/28-3c01f095d3d7” на постоянной основе, каждые 5 сек писался по Modbus TCP Yart1.8 c IP 192.168.1.252

С уважением
Сергей

Добрый день.
Если я верно понимаю - контроллер WB8 в этой схеме - мастер. Который опрашивает устройство. Если ошибаюсь - поправьте.
Для реализации - достаточно описать устройство-slave в контроллере Wiren Board с помощью шаблона.
Это позволит работать с регистрами представленными в контроллере по конвенции.
Если нужно периодически публиковать какое-то значение в топик - то пишется правило на wb-rules.
То есть задача делится на две: Представление устройства в стандартном виде для работы с ним и собственно публикация.

Да, если я делаю запросы со стороны WB, значит он выступает мастером.
Если возможно, хотелось бы иметь пример такого шаблона и пример подобного правила

С уважением
Сергей

Пример шаблонов можно посмотреть на контроллере в /usr/share/wb-mqtt-serial/templates/

Пример использования setInterval: GitHub - wirenboard/wb-rules: Rule engine for Wiren Board

Спасибо

Что-то я не понимаю
Создал шаблон, прилагаю скан,
загрузил его в /usr/share/wb-mqtt-serial/templates
далее пытаюсь добавить новое устройство в конфигурационные
файлы, но появляется требование ввести адрес устройства
Но ведь я Modbus TCP. а не Modbus RTU



С уважением

Шестой байт в Modbus TCP пакете - это ID устройства. Его конечно нужно указать.

Привожу строку моего запроса на запись
modbus_client_rpc --debug -mtcp -c2 -r2299 -t0x10 -o1000 -p502 192.168.1.252 0x792d 0x4087
не понимаю, где здесь шестой байт???

С уважением

Тайм-аут,
нужно разобраться

С уважением

Шестой байт - в пакете TCP. Если вы не указываете какой-то параметр - используется значение по умолчанию.

Добрый день
да, есть параметр по умолчанию “-a1”
я провел эксперимент, сделал записи в переменную в Yart1.8 разных значений с
разными значениями адреса, привожу:
modbus_client_rpc --debug -mtcp -a9 -c2 -r2299 -t0x10 -o1000 -p502 192.168.1.252 0x792d 0x4180
modbus_client_rpc --debug -mtcp -a10 -c2 -r2299 -t0x10 -o1000 -p502 192.168.1.252 0x792d 0x4184
modbus_client_rpc --debug -mtcp -a11 -c2 -r2299 -t0x10 -o1000 -p502 192.168.1.252 0x792d 0x4189
modbus_client_rpc --debug -mtcp -a101 -c2 -r2299 -t0x10 -o1000 -p502 192.168.1.252 0x792d 0x4181
К моему удивлению все работают и какое же из этих значений я должен поставить в поле адрес
Дополнительный вопрос
Во вкладке Устройства, скан прилагаю
должен ли быть выбран порт TCP


С уважением

Лучше, думаю, уточнить в документации устройства. Если оно в текущей версии работает с “любым” ID - то если установите, например, “1” - не факт что после обновления прошивки, например, или в следующей ревизии устройства значение не изменится.

Да. Как правило - 502.