Here you can find the software pieces I am using to implement the basic IoT architecture.
On IoT devices I use custom lightweight open-source firmware based esp-idf/FreeRTOS (there is much to be improved on that code, it is on-going medium priority work)
- ESP8266 (this is the most up-to-date, because it is the most used) : mqtt_esp8266
- ESP32: mqtt_esp32
Eclipse Mosquitto is an open source (EPL/EDL licensed) message broker, suitable for use on all devices from low power single board computers to full servers.
Node-RED is a programming tool for wiring together hardware devices, APIs and online services. It also provides a nice web interface.
Home assistant is an open source home automation that puts local control and privacy first. While it can provide full home automation and it has his own web interface, I use it primarily as a proxy to Google Actions/Google Home in order to get the voice command interface to home automation