Most of my applications have focused on telemetry but I had been thinking about local control for solutions that have to run disconnected. In “real-world” deployments connectivity to Azure EventGrid MQTT Broker isn’t 100% reliable (also delay and jitter issues) which are an issue for control at the edge.
The approach to “transforming” telemetry data into “commands” has to be reliable, supportable, testable, scalable and portable (different processor architectures and operating systems). There are several Edge MQTT brokers which meet most, or all of these criteria and this series of posts will use NanoMQ a Linux Foundation Edge project which can run on my development system reComputer Industrial J3011- Fanless Edge AI, and Seeedstudio EdgeBox 200 devices.
The HiveMQClient application could publish and subscribe to topics
The MQTTX application could also publish and subscribe to topics
The HiveMQClient application has no way to “gracefully” shutdown which was visible in the NanoMQ console.
I have cut corners, the support for secure connections to nanoMQ is very limited and this setup should only be used for basic proof of concepts



