Skip to content

sulanth/shm2mqtt

 
 

Repository files navigation

shm2mqtt

Утилита для обеспечения взаимодействия между контроллерами SMH4 / Trim5 и MQTT-брокером.

Общая информация

Поддерживается как публикация значений, так и отслеживание значений.

Значения отслеживаются через разделяемую память SMLogix, а конфигурация переменных считывается из файла /projects/load_files.srv.

Поддерживаются следующие типы для публицакии или отслеживания:

  • bool;
  • int;
  • long;
  • real.

Использование

Публикуются и отслеживаются только значения, заданные блоком Mem, имеющие префикс mqtt: в своем названии. Префикс можно задать параметром -prefix в командной строке.

Пример использования

Пример использования

Утилита shm2mqtt имеет следующий набор параметров командной строки:

Usage of ./shm2mqtt:
  -broker string
        The broker URI (default "tcp:https://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)

Подключение брокера поддерживается различными протоколами (поддерживаемые библиотекой paho.mqtt.golang) и задается схемой URI. Примеры URI даны ниже:

  • tcp:https://192.168.111.1:1883
  • ws:https://192.168.111.1:9001

Сборка

Утилита использует MQTT-библиотеку paho.mqtt.golang. Перед сборкой приложения нужно выгрузить зависимости, выполнив команды:

go get golang.org/x/text/encoding/charmap
go get golang.org/x/net/websocket
go get golang.org/x/net/proxy
go get github.com/eclipse/paho.mqtt.golang

Программу можно собрать из Windows, запустив файл build_linux.bat.

About

Шлюз SMLogix и MQTT

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 99.6%
  • Batchfile 0.4%