A lightweight MQTT broker, client, and bridge with scripting for ESP8266, enabling local IoT networks without cloud dependency.
esp_uMQTT_broker is an MQTT broker, client, and bridge implementation for the ESP8266 microcontroller. It allows the ESP8266 to act as a central communication hub in IoT networks, enabling local MQTT messaging between devices without requiring an external broker. The built-in scripting engine adds automation capabilities for GPIO control, timers, and HTTP interactions.
IoT developers and hobbyists building small to medium-scale local IoT networks, especially those needing offline operation or reduced cloud dependency. It's ideal for ESP8266-based projects requiring MQTT messaging with custom logic.
It provides a fully self-contained MQTT ecosystem on a single cheap microcontroller, eliminating the need for a separate broker server. The scripting engine allows complex behaviors without additional programming, and the bridge feature enables seamless integration with cloud brokers when needed.
MQTT Broker/Bridge on the ESP8266
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Combines a full MQTT broker, client, and bridge on a single ESP8266, enabling local IoT networks without external servers, as shown in the dual network interface support.
Includes a scripting language for GPIO control, timers, HTTP requests, and JSON parsing, allowing custom automation without additional programming, detailed in the SCRIPTING.md.
Saves configuration and retained messages to flash memory, ensuring settings and MQTT state survive reboots, with commands like 'save_retained'.
Operates as both WiFi station and access point, with broker accessible on both interfaces, and supports bridging to external brokers including SSL.
Maximum of 8-13 concurrent MQTT clients due to ESP8266 memory constraints and WiFi driver limits, as specified in the limitations section.
SSL connections to external brokers lack certificate validation, noted in the README as 'Certificate checks are not yet implemented.'
Script upload requires manual steps like setting up a web server or using netcat, and scripts are limited to 4KB in size.
Building and flashing the firmware involves editing user_config.h and using command-line tools, which can be daunting for non-technical users.