2025-04-29 02:51:27 -04:00

54 lines
1.1 KiB
Markdown

<!--
Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
SPDX-License-Identifier: curl
-->
# 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 sends 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 sends 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