MQTT
Some information about MQTT and how to use it in a MQTTDevice environment.
What ist MQTT
MQTT is a publish-and-subscribe protocol. Clients, devices and applications publish and subscribe into topics handled by a broker. In a CraftbeerPi environment a sensor is a publishing and an actor is a subscribing device. Devices or applications never communicate directly, instead they send and receive messages managed in topics by the MQTT broker. A topic looks like a named channel or folder, eg induction/temp or upstairs/bathroom/light. Hundreds of different topics are possible. Each topic behave like a message in- and outbox. Messages are send in a compact JSON format, also known as payloads. A simple payload from a sensor device can look like this: { "value": 21.2 }. The sensor publishes this message into a topic. All subscribed clients, devices or application to this topic will receive the sensor message "value 21.2". A simple payload from CraftbeerPi to an actor can be { "state": "on"}. CBPi4 publishes this message into a topic to switch on an actor. An actor must subcribe to this topics to receive this message.
MQTT summary
sensors are publishing payloads (sensor values) into topics
actors subscribe to topics to receive payloads (commands)
every published payload will always be sent to a MQTT broker
the MQTT broker sends every received payload to all subscribing devices and applications
craftbeerpi subscribes to all sensor topics and publishes actor commands in actor topics
all sensor and actor topics are unique
How to use it
Do not hazzle on technical details. MQTT topics are named channels like folders. So it is a good approach to start with a clear channel structure. A mash tun needs an induction hub, an agitator and a temperature sensor. MQTT topcis can look like this:
mash/sensor mash/agitator mash/induction
Descriptive MQTT topics are highly recommended.
Last updated