Today, thanks to the rapid development of microelectronics, communication channels, Internet technologies and Artificial Intelligence, the topic of smart homes is becoming more and more relevant. The human home has undergone significant changes since the Stone Age and during the era of Industrial Revolution 4.0 and the Internet of Things, it became comfortable, functional and safe. Solutions are coming to the market that turn an apartment or a country house into complex information systems that can be controlled from anywhere in the world using a smartphone. Moreover, for human-machine interaction, knowledge of programming languages is no longer required - thanks to speech recognition and synthesis algorithms, a person speaks with a smart home in his native language.
Some smart home systems currently on the market are a logical development of cloud video surveillance systems, the developers of which have realised the need for a comprehensive solution not only for monitoring, but also for managing remote objects.
First, let's talk about how to make a smart home from an ordinary apartment, summer house or cottage. This usually requires placing the following equipment in the dwelling:
sensors measuring various parameters of the external environment;
executive devices acting on external objects;
a controller that performs calculations in accordance with the measurements of the sensors and the embedded logic, and issues commands for the actuators.
The following figure shows a diagram of a smart home, which contains sensors for water leakage (1) in the bathroom, temperature (2) and lighting (3) in the bedroom, a smart socket (4) in the kitchen and a CCTV camera (5) in the hallway.
Currently, wireless sensors operating under the RF433, Z-Wave, ZigBee, Bluetooth and WiFi protocols are widely used. Their main advantages are ease of installation and use, as well as low cost and reliability. manufacturers seek to bring their devices to the mass market and make them available to the average user.
Sensors and actuators, as a rule, are connected via a wireless interface to a smart home controller (6) - a specialized microcomputer that unites all these devices into a single network and controls them.
However, some solutions can combine a sensor, an actuator and a controller at the same time. For example, a smart plug can be programmed to turn on or off on a schedule, and a cloud video surveillance camera can record video when triggered by a motion detector. In the simplest cases, you can do without a separate controller, but to create a flexible system with many scenarios, one is necessary.
To connect the smart home controller to the global network, a conventional Internet router (7) can be used, which has long become a familiar household appliance in any home. There is one more argument in favor of the smart home controller - if the connection to the Internet is lost, the smart home will continue to work normally thanks to the block of logic stored inside the controller, and not in the cloud service.
Smart home controller
The controller for the cloud smart home system discussed in this article is based on the Raspberry Pi 3 model B + single board microcomputer , which was released in March 2018 and has sufficient resources and performance for smart home tasks. It includes a quad-core Cortex-A53 processor on 64-bit ARMv8-A architecture, clocked at 1.4 GHz, as well as 1 GB of RAM, Wi-Fi 802.11ac, Bluetooth 4.2 and a Gigabit Ethernet adapter that works over USB 2.0.
The assembly of the controller is very simple - a microcomputer (1) is installed in a plastic case (2), then an 8 GB memory card in microSD format with software (3) and a USB Z-Wave network controller (4) are installed in the corresponding slots. The smart home controller is connected to the mains via a 5V, 2.1A power adapter (5) and a USB - micro-USB cable (6). Each controller has a unique identification number, which is recorded in the configuration file at the first start and is required to interact with the cloud smart home services.
The smart home controller software was developed by the author of this article based on the Linux Raspbian Stretch operating system . It consists of the following main subsystems:
server process for interacting with smart home equipment and the cloud;
a graphical user interface for setting configuration and operating parameters of the controller;
databases for storing controller configuration.