Сделал простой, но рабочий шлюз SMH4/Trim5 в MQTT.
Поддерживается как публикация значений, так и отслеживание
значений (типы bool, int, long, real).
Публикуются и отслеживаются только значения, заданные
блоком `Mem`, имеющие префикс `mqtt:` в своем названии.
Префикс можно задать параметром `-prefix` в командной
строке.
Шлюз имеет набор параметров:
Код:
Usage of ./shm2mqtt:
-broker string
The broker URI (default "tcp://127.0.0.1:1883")
-cfg string
Path to logix load_files.srv (default "/projects/load_files.srv")
-fullsync int
Full publish tick interval, s (default 60)
-prefix string
Variable label prefix (default "mqtt:")
-reconnect int
Reconnect pause, s (default 10)
-shm string
System V shared memory file (default "/dev/shm/wsi")
-tick int
Publish tick interval, ms (default 100)
Если кому-то нужно/интересно -- исходный код в репозитории:
https://github.com/gelsrc/shm2mqtt (пока GitHub подвис, загружу позже).
Специально для непонятливых: пользователь GEL не является сотрудником Segnetics