3efac7b7fac4f518c019e0e7856cff0c5277c662
Some cloud server (e.g. exosite) takes empty username with password. When password is set without username, the current esp-mqtt implementation will ignore the username and only set password. This violates MQTT-3.1.2-22 [1]. To address this issue, send zero length username if password is set without username. [1] MQTT-3.1.2-22: If the User Name Flag is set to 0 then the Password Flag MUST be set to 0. Signed-off-by: Axel Lin <axel.lin@ingics.com>
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%