No description
  • C 60.7%
  • Python 18.6%
  • C++ 18.3%
  • CMake 2.3%
  • Shell 0.1%
Find a file
Euripedes Rocha 03d21a3e61
Some checks failed
CI / Pre-commit checks (push) Has been cancelled
CI / Build (latest) (push) Has been cancelled
CI / Build (release-v6.0) (push) Has been cancelled
CI / Host tests (push) Has been cancelled
Release and Upload Component / release-please (push) Has been cancelled
Release and Upload Component / upload_components_dry_run (push) Has been cancelled
Release and Upload Component / upload_components_release (push) Has been cancelled
Release and Upload Component / update_mirror_tags (push) Has been cancelled
Release and Upload Component / deploy_docs (push) Has been cancelled
Merge branch 'ci-pin-idf-ci' into 'master'
MR: ci: Pin idf-ci version
See merge request espressif/esp-mqtt!375
2026-11-06 13:12:00 +01:00
.ci refactor: Split message library into subcomponent 2026-10-01 10:58:39 +02:00
.github/workflows ci: Fix documentation deployment 2026-10-20 15:01:26 +02:00
.gitlab ci: Ignore build warnings from managed components 2026-11-06 10:42:04 +01:00
cmake feat: Add support for percent-encoding in password and it's corresponding test 2026-04-23 16:05:24 +02:00
docs ci: Fix documentation deployment 2026-10-20 15:01:26 +02:00
examples ci: Adds a canary build with newlib compat disabled 2026-10-05 13:47:28 +02:00
include refactor: Reorganize mqtt5 property management to mqtt5_msg library 2026-10-01 06:53:56 +02:00
lib fix(mqtt5): Encode joined subscription topics 2026-11-03 10:53:48 +01:00
test fix(mqtt5): Encode joined subscription topics 2026-11-03 10:53:48 +01:00
.build-test-rules.yml ci: Adopt filepatterns to control CI load 2026-10-23 10:40:00 +02:00
.editorconfig Add support outbox, changed API 2018-02-16 02:40:16 +07:00
.gitignore ci: Fix documentation deployment 2026-10-20 15:01:26 +02:00
.gitlab-ci.yml ci: Add HTML prebuild report 2026-04-23 09:57:55 +02:00
.gitmodules feat: add mqtt conformance test app 2026-04-16 09:11:08 +02:00
.idf_build_apps.toml ci: Adopt filepatterns to control CI load 2026-10-23 10:40:00 +02:00
.idf_ci.toml ci: Pin idf-ci version 2026-11-06 10:42:04 +01:00
.pre-commit-config.yaml ci: Accept test as a commit type 2026-10-19 15:56:18 +02:00
.release-please-manifest.json chore: release 1.1.0 2026-07-30 12:10:10 +02:00
CHANGELOG.md chore: release 1.1.0 2026-07-30 12:10:10 +02:00
CMakeLists.txt refactor: Split message library into subcomponent 2026-10-01 10:58:39 +02:00
conftest.py ci: Fix deprecated module removed from python 2026-10-29 14:32:30 +01:00
idf_component.yml chore: release 1.1.0 2026-07-30 12:10:10 +02:00
Kconfig feat: Allows esp-mqtt task and work buffers to be allocated in external memory 2026-07-28 10:23:23 +02:00
LICENSE Change to Apache license 2016-09-11 10:16:33 +07:00
mqtt5_client.c fix: Avoid double-free on duplicated connack response info 2026-11-02 15:47:04 +01:00
mqtt_client.c refactor: Split message library into subcomponent 2026-10-01 10:58:39 +02:00
pyproject.toml ci: Adds target tests and move to gitlab components 2025-10-01 13:14:17 +02:00
pytest.ini ci: Fix pytest compatibility issue 2026-11-02 16:17:35 +01:00
README.md ci: Fix documentation deployment 2026-10-20 15:01:26 +02:00
release-please-config.json ci: Fix release-plase PR commit pattern 2026-07-30 12:47:18 +02:00
SECURITY.md chore: Introduce SECURITY.md 2026-09-22 09:45:54 +02:00
static-analysis-rules.yml ci: employ new static analysis utilities 2019-06-06 17:00:03 +02:00

ESP32 MQTT Library

GitHub Actions Workflow Status License GitHub contributors

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).
  • Support for MQTT 3.1.1 and 5.0

How to use

ESP-MQTT is available through the ESP-IDF Component Manager and ships as a standard ESP-IDF component.

  • To add it via the Component Manager (recommended), declare the dependency in your project's idf_component.yml, for example:

    dependencies:
      espressif/mqtt: "*"
    

    Replace * with the version constraint you want to track, or run idf.py add-dependency espressif/mqtt.

  • For local development, clone this repository as mqtt so the component name matches:

    git clone https://github.com/espressif/esp-mqtt.git mqtt
    

Documentation

License

Older IDF versions

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