This is an old revision of the document!
Internet of Things frameworks play a crucial role in developing IoT applications by providing integration systems for implementing home automation complemented with ready-to-use firmware for various hardware platforms. It allows the developers to create whole control systems and IoT devices without writing the whole software from scratch. This makes developing new ideas easier for non-experienced beginners and enthusiasts, in some situations, to modify the behaviour of devices available on the market. What is even more important is that they make it possible to integrate IoT equipment coming from different vendors. There are several IoT frameworks available, with popular home automation systems: Domoticz[1], OpenHAB[2], Home Assistant[3], and ready-to-use firmware including Tasmota[4], ESPHome[5], ESPEasy[6], and ESPurna[7]. All kinds of firmware initially was developed for ESP8266 SoCs but now have been redesigned to support ESP32 and other hardware platforms. With the appearance of new microcontrollers by Beken and Realtec companies, new versions of firmware were created with OpenBeken[8] as the example. Each of these firmware choices has its characteristics and use cases. They usually implement MQTT communication protocol and specific protocols used in popular home automation systems, including Domoticz, OpenHAB, and Home Assistant.
ESPHome allows users to define device configurations, sensor readings, and automation straightforwardly. ESPHome users benefit from the Home Assistant community, providing strong support.
Framework | Platform |
---|---|
Tasmota | ESP8266, ESP32 |
ESPHome | ESP8266, ESP32, RP2040, BK72xx, RTL87xx |
ESPEasy | ESP8266, ESP32 |
ESPurna | ESP8266 |
OpenBeken | BK72xx |
The choice between Tasmota, ESP Easy, ESPHome, ESPurna and OpenBeken largely depends on the user's specific needs, choice of hardware platform, and familiarity with IoT device configuration.
Node-RED [9] is an open-source, flow-based development tool and runtime environment designed for visual programming. IBM Emerging Technology Services initially developed it and is now part of the OpenJS Foundation. It can be used for any purpose that uses a flow-based programming model, which is especially useful for IoT (Internet of Things) and home automation applications.
Key aspects and features of Node-RED:
Node-RED is used in various applications, including home automation, industrial automation, data processing, and IoT solutions. Its visual approach to programming and extensive library of nodes make it a valuable tool for rapidly prototyping and building applications that involve data processing and automation.