Skip to content

Virtual MODBUS Slave enabling most PLCs to publish messages to a PubSub infrastructure.

License

Notifications You must be signed in to change notification settings

dicagno/guacamole

Repository files navigation

Guacamole - seasoning for automation

Description

This tool connects any PLCs supporting MODBUS TCP or RTU to an MQTT broker, effectively enabling realtime messaging in already existing devices without impacting them. It comes from a project from 2019, but still useful in several contexts.

Features

  • Emulates a MODBUS slave
  • Low footprint
  • Can be run either on a gateway or on the PLC itself
  • Cross-platform, cross-architecture
  • Supports both TCP and Serial MODBUS masters
  • Forwards register write requests (either single, FC 6 or multiple, FC 16) to the configured PubSub broker (and topic)

Building artifacts

make

Installation

make install

Compile for different architectures, i.e. MIPS Little Endian

GOOS=linux GOARCH=mipsle go build -o ./release/guacamole-mipsel main.go

Installation on remote device

This method makes use of SSH, key-based auth

make deploy USER=myuser IP=192.168.1.1

Usage

service modbus-mqtt enable
service modbus-mqtt start

About

Virtual MODBUS Slave enabling most PLCs to publish messages to a PubSub infrastructure.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published