MQTT.md 1.1 KB

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.

Subscribing

Command usage:

curl mqtt://host/topic

Example subscribe:

curl mqtt://host.home/bedroom/temp

This will send an MQTT SUBSCRIBE packet for the topic bedroom/temp and listen in for incoming PUBLISH packets.

Publishing

Command usage:

curl -d payload mqtt://host/topic

Example publish:

curl -d 75 mqtt://host.home/bedroom/dimmer

This will send an MQTT PUBLISH packet to the topic bedroom/dimmer with the payload 75.

What does curl deliver as a response to a subscribe

Whenever a PUBLISH packet is received, curl outputs two bytes topic length (MSB | LSB), the topic followed by the payload.

Caveats

Remaining limitations:

  • Only QoS level 0 is implemented for publish
  • No way to set retain flag for publish
  • No TLS (mqtts) support
  • Naive EAGAIN handling does not handle split messages