To illustrate the use of the MQTT library, we have created two simple Tibbo BASIC applications called"mqtt_publisher"and"mqtt_subscriber".
In our MQTT demo, the publisher device is monitoring three buttons (Tibbits #38). This is done through the keypad (kp.) object.
The three buttons on the publisher device correspond to the red, yellow, and green LEDs (Tibbits #39) on the subscriber device.
As buttons are pushed and released, the publisher device calls mqtt_publish() with topics"LED/Red","LED/Green", and"LED/Red". Each topic's data is either 0 for"button released"or 1 for"button pressed". The related code is in the on_kp() event handler.
The subscriber device subscribes to all three topics with a single call to mqtt_sub() and the line"LED/#". This is done once, inside callback_mqtt_connect_ok().
With every notification message received from the server, the subscriber device gets callback_mqtt_notif() invoked. The LEDs are turned on and off inside this functions's body.
|Project files:||Source Code|
|Documentation:||MQTT Library Documentation|
|Minimum TIDE version:||5.00.00|
|Minimum TiOS version:||3.60|
|Try it on:||Custom TPS configurations"MQTTPublisher"and"MQTTSubscriber"|
The demo was designed to run on our TPS3 boards, but you can easily modify it for other devices.
The easiest way to get the test hardware is to order "MQTTPublisher"and"MQTTSubscriber"TPS configurations.
You can also order all the parts separately: