A BLE to MQTT bridge for ESP32 that exposes Bluetooth GATT characteristics and advertisements as MQTT topics.
ESP32-BLE2MQTT is a firmware application for ESP32 microcontrollers that bridges Bluetooth Low Energy (BLE) devices to an MQTT broker. It translates BLE GATT characteristics and broadcaster advertisements into MQTT topics, enabling seamless integration of BLE sensors and peripherals into IoT and home automation systems.
IoT developers and hobbyists building home automation or industrial monitoring systems that need to integrate BLE sensors and devices into an MQTT-based ecosystem.
It provides a robust, configurable bridge that simplifies integrating diverse BLE devices into MQTT-based ecosystems, emphasizing automation and interoperability, with features like automatic notifications, connection management, and over-the-air updates.
A BLE to MQTT bridge running on an ESP32
Maps GATT characteristics and supports various broadcasters like iBeacon and Xiaomi sensors, automatically publishing decoded data to MQTT topics with notifications and read/write capabilities.
Implements ownership and connection status topics to prevent conflicts between multiple bridge instances, ensuring stable and conflict-free device management.
Supports both WiFi and Ethernet connectivity with configurable security, including WPA-Enterprise and MQTT SSL, allowing adaptation to diverse network environments.
Enables over-the-air updates for firmware and configuration via MQTT after initial serial flashing, simplifying maintenance and deployment.
Must use ESP-IDF v5.2.1 specifically; the README warns that other versions might not compile or be stable, limiting flexibility and upgrade options.
Requires full ESP-IDF toolchain installation, compiling, and flashing, which can be time-consuming and challenging for those new to embedded development.
For boards like Olimex ESP32-POE, manual configuration changes in JSON and menuconfig are required, indicating lack of out-of-the-box support for all ESP32 variants.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.