Building the home automation client
Home automation basically consists of activating and deactivating things based on a precondition. For example, we might want to turn on a light when someone enters a room at night. Throughout this book, we have activated and deactivated many things based on preconditions, but most of them were not connected to a network. We are now going to learn how we can send signals over a network. These signals are going to be used as preconditions. After completing this section, we will be fully prepared for building our own home automation clients that can be triggered over a network.
The client that is going to run on the Arduino Nano 33 IoT is simply going to connect to an MQTT broker and then subscribe to a topic. When a message comes in for the topic, we need to deserialize the message and perform the action that is defined in the message.
For our example project, we are going to turn an LED on and off. Of course, a single LED might not be enough...