Skip to content
All work

Raspberry Pi edge device

Smart Cloud Gateway

The edge half of the telemetry pipeline: a small Linux gateway that reads machine registers over Modbus and publishes them over MQTT.

Role
Gateway software and device integration at DCC Group.
Stack
Python · MQTT · Modbus · Raspberry Pi · systemd · Linux
Link
No public URL
MODBUSMQTTEDGE GATEWAY · ILLUSTRATIVE

Original illustrative artwork, not a screenshot of a real system.

The problem

Machines speak Modbus; the cloud speaks MQTT and HTTP. A gateway has to bridge them unattended, reconnect on its own and be simple to provision on site.

My role & responsibilities

  • Python services that poll Modbus devices and publish to MQTT.
  • Network connectivity and reconnection behaviour.
  • Provisioning of new gateways.
  • Running everything as systemd services so it restarts on failure or power loss.

Architecture

  1. 01

    Modbus client

    Reads configured registers from connected machines on an interval.

  2. 02

    MQTT publisher

    Publishes timestamped readings to the broker and reconnects when links drop.

  3. 03

    Service supervision

    systemd units start the services at boot and restart them if they exit.

Engineering decisions

  • Make the gateway stateless where possible, so replacing a device is quick.
  • Let the supervisor, not the application, own restarts.

Challenges

  • Unreliable networks at industrial sites.
  • Provisioning many devices consistently.

What shipped

  • Gateway services for the Smart Cloud platform.

Described conceptually; no hostnames, addresses or credentials are published.

Next case study

Samanya Gyan