Simulating an IoT system for home automation

October 16, 2015 // By Jakob Engblom
Imagine that you are a developer of an embedded control system, such as hotel ventilation and air conditioning systems. The basic system is just doing closed-loop control, controlling the temperature in a hotel room based on the visitor preferences.

However, adding a bit of connectivity to those basic control systems would give you a much more interesting system solution.

Your customers have told you that it would be great to have a central dashboard telling them the total power consumption of all AC units in their building, as well as potentially tweaking the set temperatures of various hotel rooms in order to save power by just slightly adjusting things.

Also, you see some new business models emerging where you could sell software updates to the AC units and the dashboard unit. Existing hardware could be updated with new smarter algorithms without needing a service technician to go out and replace flash ROMs or memory cards. Customers could subscribe to updates, and you could have the AC units report wear so that units can be serviced before they fail rather than after. The sky's the limit!

The overall system design ends up being like this:

At the top, we have the electronics unit attached to the actual AC mechanics and the control panel manipulated by the hotel guest. The electronics unit contains not just the old AC controller board, but also an add-on wireless unit that turns the old AC controllers network connected IoT nodes.

A wireless unit is also found on the gateways or concentrators, boxes that tie the wireless network to a standard wired or wireless Ethernet network. The wireless network is typically a mesh network that self-organizes and makes sure that signals can get from any AC unit to its designated gateway, even if they are not directly in contact with them.

The system rapidly becomes big. If we put a gateway for each floor of a building, we easily have ten or more of them, with each gateway in charge of ten or more AC units. The gateways in turn connect to a central server, where the actual business logic and value added services are implemented. Finally, users interact with the system using a web browser on a laptop or tablet. In this way, you can control the temperature in a room from a tablet, but it sure is a long winding path.

The very important question is, just how do you test the system and the software in a realistic environment?