Smart home system
April 21, 2020
For my masters degree project I intended to build my own version of Smart Home system. After some through research (Which was part of my thesis) I decided to base It on Wi-Fi - particular TCP sockets for end devices and HTTP server with web-socket for base station. Before this project I did not used a lot of web technologies so I had to learn while creating. I think thats why I used node.js as my web-server environment - to consolidate languages In the backend and fronted. Now I would probably use Django for it (I love python and JS is... JS ๐).
I have build the base station of the system around a Raspberry Pi with 7" touchscreen on which I displayed the main UI - on the web browser in kiosk mode. User could also log in to the system through web browser on any device from home. One of the requirements for the whole system was to be multi-user and permission based - not everyone could use every device. So I had to build user authentication system and whole DB for Users/Devices (Thats where a Django would shine...).
For the end-devices I used a STM-32 ยตC with ESP-01 Wi-Fi modules communicated through serial. One of the features that I liked about them was WPS for Wi-Fi authentication, so I did not have to build UI for it... In the end I have build three devices - led RGB light controller, smart switch for the wall plug and one temperature sensor. Besides PCB designs I also made the prober prototypes. In the end it was my biggest project yet, I have spend a lot of time on it and i think I am still very proud of what I have done. (Also writing the thesis was much more tiresome and frustrating for me). You can find all of the details in my thesis on Github (if you speak polish ๐).