Smart Home - My bachelor project
Smart Home 🏡
I developed a Smart House in miniature. I used a wide range of tools such as Node.js, WebSocket, Ionic, Angular, Swagger, MongoDB, Arduino, Python, Raspberry PI, Docker, Sensors, NodeMCU ESP8266 modules, RFID module and many other hardware compoments.
The Smart House has the following functionalities: monitoring of several parameters (temperature, humidity, gas, soil humidify, air quality), fire and water leak warning, lighting and air conditioning control. Access system based on RFID system with the possibility to add new users to the system in real time and access monitoring.
Awards
🏆 This project won the First Place at Session of Student Scientific Circles 2020 - University of Transylvania, Electrical Engineering and Computer Science, Specialization in Telecommunications Technologies and Systems.
Architecture
In the diagram below we can see that I used 4 x NodeMCU ESP8266 WIFI modules for data transmission of which 3 x modules were used for data transmission from sensors to Node.js Server via WebSocket and the fourth module was used to control lighting and air conditioning.
I used a NoSQL database to store the data from sensors, the server is written in Node.js and the access system based on RFID in python.
API Documentation
Communication and data flow diagram
The process of developing the hardware side
Behind the scenes
The system up and running by Docker Compose
Mobile Application - First Iteration
Mobile Application - Second Iteration
Learning more and more things I developed a new design and new functionalities to the app.
The Access System interface
I created an interface for the access system, in which we can add/delete new users to the system in real time, we can see user access logs and the status of the door with a magnetic sensor.
Results
I built a miniature Smart House where I learned a lot
Future directions
- Security: data encryption, authentication on several levels, HTTPS
- New sensors: vibration, water level
- Application standardization: flexibility
- New features: IP surveillance cameras, alarm system
- Data processing using Kafka Apache and MQTT
- Migrate backend in Spring Boot