mirror of
https://github.com/moparisthebest/curl
synced 2024-08-13 17:03:50 -04:00
e1485bd069
Follow-up to e37e446868
1.0 KiB
1.0 KiB
MQTT in curl
Usage
A plain "GET" subscribes to the topic and prints all published messages. Doing a "POST" publishes the post data to the topic and exits.
Example subscribe:
curl mqtt://host/home/bedroom/temp
Example publish:
curl -d 75 mqtt://host/home/bedroom/dimmer
What does curl deliver as a response to a subscribe
It outputs two bytes topic length (MSB | LSB), the topic followed by the payload.
Caveats
Remaining limitations:
- No username support
- Only QoS level 0 is implemented for publish
- No way to set retain flag for publish
- No username/password support
- No TLS (mqtts) support
- Naive EAGAIN handling won't handle split messages
Work
- Write a mqtt server for the test suite
- Create a few tests verifying the existing mqtt functionality
- Work on fixing some of the worst limitations - with accompanying tests
- Consider replacing the client-side MQTT code with wolfMQTT
Credits
The initial MQTT patch was authored by Björn Stenberg. This work is built upon that patch and has been expanded since.