6756e62387e732e99305578999b4705cc379e6a5
* Queueing publish messages to outbox when the client is not connected (default=off -> messages are queued if disconnected) * Use of incremental msg-id instead of random id (default=off -> msg-id uses platform_random()) * Posting a new event-id if a queued message gets deleted from the outbox (default=off -> events are not posted) Detailed description of included `esp-mqtt` changes (da850b0add1e71b3659bfac5d797cc834dc3e89b...9ea804e0ab5368d5ab53ae2301a5fec9d1f12f1a) * mqtt: Remove unused mqtt_header_state_t - esp-mqtt commit: https://github.com/espressif/esp-mqtt/commit/b7158a4aea69e95210a6dec5d1636f52a1795dbb - esp-mqtt MR: espressif/esp-mqtt!84 - Merges https://github.com/espressif/esp-mqtt/pull/180 * Cleanup public include dirs - esp-mqtt commit: https://github.com/espressif/esp-mqtt/commit/f65d5d05db9b984065079e622e0adeac4c4c7db7 - esp-mqtt MR: espressif/esp-mqtt!85 * Config: Add a new option to use incremental message id - esp-mqtt commit: https://github.com/espressif/esp-mqtt/commit/8bb4a26f46b9bb0b00f66d61671833a184fc7afa - esp-mqtt MR: espressif/esp-mqtt!85 - Closes https://github.com/espressif/esp-mqtt/issues/176 * Publish: Add new API to enqueue qos>0 messages - esp-mqtt commit: https://github.com/espressif/esp-mqtt/commit/dc7fd5c0b1c132dc0e3c265db6bc2ac886f0f0b2 - esp-mqtt MR: espressif/esp-mqtt!85 - Closes https://github.com/espressif/esp-mqtt/issues/155 * Config: Add a new option to disable publishing when disconnected - esp-mqtt commit: https://github.com/espressif/esp-mqtt/commit/f44dcb1c26e47cc96eef379810a343246d8c265b - esp-mqtt MR: espressif/esp-mqtt!85 - Related https://github.com/espressif/esp-mqtt/issues/177 * Events: Add new event to report deleted messages from outbox - esp-mqtt commit: https://github.com/espressif/esp-mqtt/commit/2e35d4d4d53a9a4d74c475de228e8c78f69a51bd - esp-mqtt MR: espressif/esp-mqtt!85 * Publish: Allow for qos=0 messages to be stored using esp_mqtt_client_enqueue() - esp-mqtt commit: https://github.com/espressif/esp-mqtt/commit/e2de0f3e3eb4d4afd4fdb5c2860a96a2ab8b1e21 - esp-mqtt MR: espressif/esp-mqtt!85
ESP32 MQTT Library
Features
- Based on: https://github.com/tuanpmt/esp_mqtt
- Support MQTT over TCP, SSL with mbedtls, MQTT over Websocket, MQTT over Websocket Secure
- Easy to setup with URI
- Multiple instances (Multiple clients in one application)
- Support subscribing, publishing, authentication, will messages, keep alive pings and all 3 QoS levels (it should be a fully functional client).
How to use
ESP-MQTT is a standard ESP-IDF component. Please refer to instructions in ESP-IDF
Documentation
-
Please refer to the standard ESP-IDF, documentation for the latest version: https://docs.espressif.com/projects/esp-idf/
-
Documentation of ESP-MQTT API: https://docs.espressif.com/projects/esp-idf/en/latest/api-reference/protocols/mqtt.html
License
- MQTT Package - Stephen Robinson - contiki-mqtt
- Others @tuanpmt Apache License
Older IDF verisons
For ESP-IDF versions prior to IDFv3.2, please clone as a component of ESP-IDF:
git submodule add https://github.com/espressif/esp-mqtt.git components/espmqtt
and checkout the ESP-MQTT_FOR_IDF_3.1 tag
Languages
C
96.5%
C++
1.7%
Shell
1.1%
CMake
0.7%