Supervisory control and data acquisition (SCADA) systems reside in the background of industrial environments, performing all sorts of critical jobs in ad hoc setups, depending on the exact requirements of the installation. When you think about home automation systems, they are pretty much the same thing. It's an ad-hoc system assembled with off-the-shelf components and a few custom bits thrown in. [Stefan Schnitzer] clearly has a wealth of knowledge about SCADA in industrial environments and is bringing it to the home for their entry in the Hackaday 2024 Home Sweet Home Automation Contest.
I built my own house from scratch, [Stefan] By routing wiring and adding sensors where needed during interior work, you can create a clean, completely custom installation covering lighting, heating, ventilation, and more. Robot vacuum cleaner and cat feeder. There are no dangerous conduits or visible wiring.
SCADA systems are designed hierarchically, which makes them easier to understand. At the bottom of the hierarchy, level 0, are the physical variables and control mechanisms, including temperature control, door lock status, cat feeder, and so on. Above that is Level 1, which is the physical interface between Level 0 and Level 2. This Level 1 hardware is based on the Arduino UNO and Mega2560 collection, keeping costs low. Luxury additions included a Pixtend I/O board that connects directly to the Level 2 hardware, a Raspberry Pi3 that forms a SCADA supervisor and runs a web server for direct low-level control, and a Modbus TCP driver. For Ethernet modules used with Arduino. This Pi also runs an MQTT broker and Codesys software PLC. Finally, levels 3 and 4 are the coordination/production layer, implemented on another Raspberry Pi3 running NodeRed and Grafana. InfluxDB is used for local data storage. This Pi also receives images from IP cameras placed around it and connections to services outside your home.
DIY PLC hacking is not done very often. This is from his 2016, but it's still relevant. If you're wondering how to protect all this complexity, we did a hack chat on this subject a few years back.