1
0
mirror of https://github.com/moparisthebest/curl synced 2024-08-13 17:03:50 -04:00
curl/docs/MQTT.md
2020-09-21 10:59:26 +02:00

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

  1. Write a mqtt server for the test suite
  2. Create a few tests verifying the existing mqtt functionality
  3. Work on fixing some of the worst limitations - with accompanying tests
  4. 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.