64 lines
1.4 KiB
Plaintext
64 lines
1.4 KiB
Plaintext
MQTT shell example
|
|
==================
|
|
|
|
This sample shows how to create an interactive MQTT client using the
|
|
Zephyr shell and the Paho's MQTT Library.
|
|
|
|
Instructions
|
|
------------
|
|
|
|
1. Read carefully the README file in samples/net/paho_mqtt_client.
|
|
|
|
2. Clone Paho's MQTT Library:
|
|
|
|
git clone https://git.eclipse.org/r/paho/org.eclipse.paho.mqtt.embedded-c paho
|
|
|
|
3. make pristine && make are enough to build this sample.
|
|
|
|
So far, IPv4 addresses are still hard-coded in the config.h file.
|
|
|
|
Quick guide
|
|
-----------
|
|
|
|
The Zephyr shell allows you to type commands in the debug console.
|
|
|
|
To connect with the gateway, use the following command:
|
|
|
|
mqtt_shell> repeat_until_ok connect zephyr_galileo
|
|
|
|
repeat_until_ok will iterate until the command returns 0.
|
|
|
|
To ping the gateway:
|
|
|
|
mqtt_shell> ping
|
|
|
|
To subscribe to any zephyr's subtopic, type the following command:
|
|
|
|
mqtt_shell> subscribe zephyr/#
|
|
|
|
In your host, open another terminal and publish some random messages:
|
|
|
|
mosquitto_pub -t "zephyr/lamps" -m "lamp1:OK"
|
|
|
|
mosquitto_pub -t "zephyr/doors" -m "door3:OPEN"
|
|
|
|
To read these messages from Galileo, type:
|
|
|
|
mqtt_shell> read
|
|
topic: zephyr/lamps, msg: lamp1:OK
|
|
|
|
mqtt_shell> read
|
|
topic: zephyr/doors, msg: door3:OPEN
|
|
|
|
Observe that the Galileo MQTT shell is subscribed to "zephyr/#".
|
|
|
|
To publish a message:
|
|
|
|
mqtt_shell> publish zephyr "Hello!"
|
|
|
|
To repeat a command multiple times:
|
|
|
|
mqtt_shell> repeat 5 ping
|
|
|
|
This will send 5 consecutive pings to the gateway.
|