IoT based Smart Home Automation System
Home automation has achieved a lot of popularity in recent years, as day-to-day life is getting simpler due to the rapid growth of technology. Almost everything has become digitalized and automatic. In this project, a system for interconnecting sensors, actuators, and other data sources with the
2025-06-28 16:28:17 - Adil Khan
IoT based Smart Home Automation System
Project Area of Specialization Internet of ThingsProject SummaryHome automation has achieved a lot of popularity in recent years, as day-to-day life is getting simpler due to the rapid growth of technology. Almost everything has become digitalized and automatic. In this project, a system for interconnecting sensors, actuators, and other data sources
with the purpose of multiple home automations is proposed. The system is called qToggle and works by leveraging the power of a flexible and powerful Application Programming Interface, which represents the foundation of a simple and common communication scheme. The devices used by qToggle are usually sensors or actuators with an upstream network connection implementing the qToggle API. Most devices used by qToggle are based on ESP8266/ESP8285 chips and/or on Raspberry Pi boards. A smartphone application has been developed that allows users to control
a series of home appliances and sensors. The qToggle system is user friendly, flexible, and can be further developed by using different devices and add-ons.
The purpose of this project is to present qToggle, which is a system designed and developed for multiple home/building automations, including access control and security, appliances control (lights, thermostats, AC, and other appliances), irrigations, and power and energy management. This project represents a building automation solution to reduce the exposure and transmission of COVID-19 during the pandemic situation in workspaces by avoiding touching certain objects and surfaces and for helping managing buildings during an emergency. In this project, we have
focused on smart homes applications, in general, not in a pandemic situation.
In this project, qToggle works with a selected list of devices, imposing a unitary API, firmware, and so on. We provide the open source firmware, meaning that no hacks and no 3rd party hubs or clouds are required; all devices speak the same language (API) and are controlled the same way. The supported devices are tested thoroughly, with a well documented installation procedure. This does not mean that other devices cannot be added to qToggle: there are add-ons that provide bridges and adaptation layers to different peripherals, networks, and technologies. Regarding the number of devices, qToggle is highly scalable thanks to its master–slave architecture. One device can be at the same time a master to other slave devices and a slave for another master, at a higher place in the hierarchy. The core of qToggleServer, as well as the firmware that runs on ESP8266-based devices, are entirely asynchronous, meaning that a request can never block the functioning of the device. In turn, this allows for a relatively large number of incoming requests per second to each device, increasing the scalability of the system.
Benefits of the ProjectIn this project, we proposed a simple solution for home automation based on ESP8266 chips and Raspberry Pi boards. Both choices are cost-effective, small, and easy to work with. Moreover, the proposed qToggle system uses a very basic core API, allowing for a more flexible network design. qToggle is aimed to be a complete smart home prototype, with a lot of functionalities automation, control, monitoring, and security and it is a system that could be continuously developed and improved.
Technical Details of Final DeliverableThe main part of the home automation system based on IoT is the microcontroller. The ESP 8266 Wi-Fi module will represents a set of efficient highly integrated wireless Systems on Chip (SoCs), which will provide a complete and standalone Wi-Fi network solution. The ESP8266EX version is one of the most integrated Wi-Fi chips in the industry. In addition to itsWi-Fi functionalities, ESP8266EX integrates an enhanced version of L106 Diamond series 32-bit processor from Tensilica, with on-chip SRAM. ESP8266EX has seventeen GPIO pins, which can be assigned to various functions by programming the appropriate registers, two power pins, one ground pin, reset pin, and two clock pins. The devices used by qToggle are usually sensors or actuators with an upstream network connection. Keeping the device firmware updated is probably one of the most essential tasks, and it is often neglected when dealing with a
large number of devices. qToggle facilitates this task by allowing updates of the firmware very simply for devices of different types and models. The qToggle API is an intuitive
HTTP API that enables remote controlling of basic hardware ports, such as GPIOs or ADC.
The idea behind qToggle is to control programmable systems having a TCP/IP stack via simple HTTP requests. For example, these systems can be single-board computers or
TCP/IP-enabled microcontrollers. API functions are grouped into the following categories:
- Device management—general status and configuration of the device;
- Port management—port information and configuration;
- Port values—reading and writing values from and to ports;
- Notifications—event notifications;
- Reverse API calls—API calls via reverse HTTP requests.
| Item Name | Type | No. of Units | Per Unit Cost (in Rs) | Total (in Rs) |
|---|---|---|---|---|
| Total in (Rs) | 64400 | |||
| Temperature sensor ME81H | Equipment | 1 | 5000 | 5000 |
| Soil moisture YL69 | Equipment | 4 | 300 | 1200 |
| Paradox PIR sensor | Equipment | 6 | 899 | 5394 |
| Power meter ZMAI-90 | Equipment | 1 | 9000 | 9000 |
| Simple relay board Blitzwolf SS1 | Equipment | 2 | 2700 | 5400 |
| Relay module | Equipment | 6 | 600 | 3600 |
| Touch sensor (Sonoff touch) | Equipment | 2 | 2700 | 5400 |
| Arduino UNO | Equipment | 2 | 1200 | 2400 |
| Raspberry PI 4 | Equipment | 1 | 10000 | 10000 |
| NodeMCU | Equipment | 2 | 1000 | 2000 |
| Components (Res. Cap, solding wire, iron.)) | Equipment | 1 | 2000 | 2000 |
| PCB and its fabrication | Equipment | 1 | 3006 | 3006 |
| Working model of FYP | Miscellaneous | 1 | 10000 | 10000 |