IOT Smart Home
The smart home system will have overall four main mechanisms:
All of these mechanisms will be monitored and managed from a central iOS mobile Application controlled by voice commands developed by us. The systems key functionalities include: ● A Swinging door mechanism
● Controllable lights
● System controlled Curtains.
● Temperature Regulation
The purpose of this smart home system is to seemingly integrate technology controlled advanced systems in daily life, making one's living experience effortless and efficient.
Team
Adeeba Asif
Coder & Software Lead
Adeeba handled the project coding and software development.
Her programming skills ensured the system ran smoothly and efficiently.
Hassan Al Darwish
Assembler & Tester
Hassan focused on assembling the project and testing its components.
His careful approach ensured everything functioned as intended.
Nicolas Alberto Antonini
Designer & Skilled Worker
Nicolas contributed the project design and applied strong hands-on skills.
His work brought structure and precision to the overall build.
Mohammad Suleman Akram
Software Engineer & Troubleshooter
Mohammad managed coding, testing, and troubleshooting for the project.
His problem-solving ensured a fully functional and reliable system.
Abdullah Ali
Mechanical Assembler
Abdullah handled the mechanical assembly of the project.
His practical skills helped put all mechanical components together seamlessly.
Materials/Supplies:
- ESP32 microcontroller
- 2 x Servo Motor
- 220 Ohm Resistors for each LED
- 74HC595 Switch register Serial in parallel out
- Jumper wires
- Temperature/Humidity Sensor
- breadboard
- LEDqq
- 10mm x 8mm brass butterfly hinges
- Curtain fabric toile/muslin
- Fan 12V
- Photoresistor/LDR
- mirror : aluminium foil/glass cubes
- red/green laser
- L298N motor driver
Main Features:
App:
Assistant: Example data set, using a TFIDFvectorizer to turn words into numeric vectors, using logistic regression to train the model since features are now numeric. Logistic regression used bc output is categorical and bc it gives probabilities of what category the input belongs to which
is useful for deciding when to use an output and when to ask the user for clarification. For the replying part a dictionary of responses for each intent is used and a random response is returned.
API: sensor monitoring, device control and communication between app and hardware is done by setting up a broker where communication happens using Eclipse’s Mosquitto on a local device. Swift communicates with the backend done in python using flask API and python backend and the ESP32 microcontroller communicate with each other using publish-subscribe messaging protocol.
Pipeline 1:
Swift —> API —> Python AI
This pipeline handles interpreting user input and converting it into action. The user communicates with the app using voice commands. The app records the audio and sends it to the backend API. The backend is done using python; the audio is processed using:
1. Whisper to convert speech to text
2. Natural Language Processing to identify user intent
The backend then returns a structured response which is used by the app to trigger action Pipeline 2:
Swift —> API —> MQTT— —> ESP32 —> Devices
This pipeline handles sensor monitoring, device control and communication between app and hardware. Setting up a broker where communication happens using Eclipse’s Mosquitto on a local device, Swift and the ESP32 microcontroller communicate with each other using publish-subscribe messaging protocol
AI Voice Command System:
Using Swift’s AVAudioRecorder library to record audio. Creating a Audio Visualizer View. Recording is set to mono, at 44100 samples/s (CD-Quality) saved as a ‘.wav’ file which whisper can interpret easily.
Door:
Initial Research:
Creating a smart door system that can be opened and closed using a mobile app. An ESP32 microcontroller is used, allowing wireless communication with the app. A servo motor controls the door’s movement by rotating to specific angles for opening and closing. This system improves convenience and security, allowing one’s life to look effortless and peaceful.
3D Printing Research:
Typical Dimensions Research: To determine a proper scale and average size of the prototypes, several factors must be taken into account. In the research we conducted we found: Door:
● The Average Door Size: 0.8m x 2.1m - This can be the relative foundation scale for our door.
● Hinges Average Doors will use Butterfly hinges: 5.08cm wide x 6.03 cm high ● Online we have found small hinges that will fit perfect to the model: Hinge for the door: Small 10mm x 8mm brass butterfly hinges
Area around Door:
● Swing Area: The door sweeps an arc equal to its width. This would mean it requires a perpendicular distance of clearance which is equal to its width.
● Door Frame + Wall: Completely dependent on how large wires or mechanisms such as servos would take up.
Lights:
Initial Research:
Smart lighting system allowing users to control lights remotely using a mobile app. An LED light connected to an ESP32 can be turned on and off through an app using Wi-Fi. The ESP32 acts as a microcontroller that receives commands from the app and controls the LED light. This system highlights how everyday devices can be improved by being controlled smartly.
3D Printing Research:
The research that was handled for the lighting was managed slightly differently, we researched typical components for a prototyped lighting system in several rooms in our model. Housing/Walls
● Housing for the Lights: Simple extrude rectangle to represent the wall, Some hole callouts (circle) for LED’s to stick out of.
● Possible measurements for walls: 6cm x 10cm
● Possibly include second wall to create inner layer/boundary for mechanics inside.
LED
● Typical LED Sizing: Depends on scale of LED/light: Measurements online from LED’s : 3mm, 5mm, 8mm, 10mm diameter
Curtain:
Initial Research:
This aims in creating a smart curtain that can be opened and closed using a mobile app. The ESP32 is used to receive commands and control the system. An N20 DC motor is used to move the curtain, and the L298N motor driver controls the motor’s direction and speed. This system supports smart homes and demonstrates basic IoT control.
3D Printing Research:
Using measurements and dimensions from reputable home brands like IKEA we were able to investigate the relative size of a curtain and the space required so we can effectively scale it down to a point where it is functional in our prototypes and blocks light.
Pole
● Typical Curtain Pole Length (Source: IKEA HUGAD): Min. length: 210 cm, Max. length: 385 cm
● Pole Hole Diameter: 2.8 cm/28 mm
● For our prototypes mechanics to work the pole would require a long hole for string to be able to pass through.
Ring
● Rings for Hanging/Connecting Diameter (Source: IKEA SYRLIG): 2.5 cm/25 mm Curtains
● Curtain Fabrics Best For Small scale Prototyping can range, however typical ones we researched were: Toile and Muslin for their thin and lightweight properties. Window System
● Prototype of Window System: Includes window and sufficient wall space surrounding for mechanics.
These measurements can then be referenced when designing models in SolidWorks. Scale of prototype: ?
Fan:
This focuses on developing smart fan that can be controlled via a mobile app. The system uses an ESP32 microcontroller to send signals to an L298N motor driver, which powers a small fan. By sending commands through the app the fan can turn on or off.This system demonstrates a simple yet effective approach to smart homes creating a user friendly smart device.
Temperature Control:
Initial Research:
The ESP32 will measure the temperature and humidity using sensors DHT11. The collected data will be then sent to the app allowing users to monitor environment.