Projects
Solution Overview

Solution Overview

The Smart Home project will comprise the following parts:

1. Microcontroller Circuits

The solution will have four circuits, each using one of the three most popular boards - Arduino Nano, Raspberry Pico, and ESP32 - with various modules and components distributed across them. The Arduino Nano and ESP32 will be programmed using the Arduino IDE and the Arduino C language while the Raspberry Pico will be programmed using the Thonny IDE and the microPython language.

2. Node-RED Platform

Node-RED is a low-code IoT Platform that can be used to exchange data between the circuits and the mobile app via the MQTT Broker without requiring the boards to have WiFi capabilities. Node-RED can be run on any computer to which the circuits need to be connected using a standard USB cable. We will use the Raspberry Pi to run Node-RED but you can use a laptop or desktop computer if you do not want to procure and setup a Raspberry Pi.

3. MQTT Broker

An MQTT Broker on the cloud is the easiest way to exchange data between physical microcrontroller circuits and the IoT app. You can set up a local broker on your computer or you can use one of many free brokers available on the cloud as a Platform-as-a-Service (PaaS) offering.

4. Mobile IoT App

While we will not cover how to develop the mobile app, you will learn how IoT Mobile Apps can be configured and how they function to display data from the sensors to the user and accept control signals from the user to send them to devices/appliances.

Solution Variants

The solution will have two variants:

1. Inter-board Communication

The first variant will implement inter-board communication using either the UART or the LoRa protocol between the two Nanos, Pico and the ESP32. The ESP32 will be programmed to connect to a WiFi network and exchange data with the MQTT broker on the cloud which will exchange data with the mobile IoT app. The ESP32 will also be programmed to exchange data with the mobile app over BLE.

The components for this variant are shown below:

Smart Home Solution Components

2. Node-RED Low-code Platform

In the second variant each board will be connected to a Raspberry Pi or a personal computer and exchange data with the Node-RED low-code platform running on the computer. Node-RED will connect to a WiFi network and exchange data with the MQTT broker on the cloud which will exchange data with the mobile IoT app. In this there will be no data exchange with the IoT app over BLE hence the ESP32 circuit will not be required.

The components for this variant are shown below:

Smart Home Solution Components