This shows you the differences between two versions of the page.
iothings:proiecte:2023:smartlock [2024/01/16 10:14] cristina.mustatea software desc |
iothings:proiecte:2023:smartlock [2024/01/16 11:17] (current) cristina.mustatea removed "datasheet" |
||
---|---|---|---|
Line 5: | Line 5: | ||
Git Repo: https://github.com/cozzoo/SmartLock.git\\ | Git Repo: https://github.com/cozzoo/SmartLock.git\\ | ||
Video Demo:https://drive.google.com/file/d/1CLmVIQDFO4Gkl8qLKqH47F718Nh1zUgw/view?usp=sharing\\ | Video Demo:https://drive.google.com/file/d/1CLmVIQDFO4Gkl8qLKqH47F718Nh1zUgw/view?usp=sharing\\ | ||
- | Slides: https://docs.google.com/presentation/d/15u2QfCTyhC0O2Ejqf5nhIk7VQ9atWrWkD72XmPtRX9A/edit?usp=sharing\\ | + | Slides: https://docs.google.com/presentation/d/1a5u2QfCTyhC0O2Ejqf5nhIk7VQ9atWrWkD72XmPtRX9A/edit?usp=sharing\\ |
---- | ---- | ||
=== Project Description === | === Project Description === | ||
Line 16: | Line 16: | ||
* Power Source - rated 12V & 2A\\ | * Power Source - rated 12V & 2A\\ | ||
* 12V White LED | * 12V White LED | ||
- | * L289N Motor Driver Module (datasheet): https://www.handsontec.com/dataspecs/module/L298N%20Motor%20Driver.pdf\\ | + | * L289N Motor Driver Module: https://www.handsontec.com/dataspecs/module/L298N%20Motor%20Driver.pdf\\ |
+ | * Prototyping board, soldering and jumpers | ||
+ | * One 50kOhm resistor | ||
- | {{ :iothings:proiecte:2023:smartlock.png?direct&300 |}} | + | {{ :iothings:proiecte:2023:smartlock.png?direct&700 |}} |
\\ | \\ | ||
---- | ---- | ||
=== Project Setup === | === Project Setup === | ||
I used a simple plastic storage container with 2 drawers to be able to easily create my prototype. I also chose this model to be able to drill through the plastic and arrange my components to it's design is more pleasant. \\ | I used a simple plastic storage container with 2 drawers to be able to easily create my prototype. I also chose this model to be able to drill through the plastic and arrange my components to it's design is more pleasant. \\ | ||
- | I hid the ESP controller, the LED and the motor driver under this top lid. I wanted to be able to still access the board in case modifications to the Arduino sketch needed to be done. | + | I hid the ESP controller, the LED and the motor driver under this top lid. I wanted to be able to still access the board in case modifications to the [[https://github.com/cozzoo/SmartLock/blob/main/ESP32Sketch/SmartLock-ESP.ino | Arduino sketch]] needed to be done. |
{{ :iothings:proiecte:2023:20240105_172522.jpg?direct&300 |}} \\ | {{ :iothings:proiecte:2023:20240105_172522.jpg?direct&300 |}} \\ | ||
In the back of the container, I have the input for the 12V power source, as well as the Reed sensor which registers whether or not the door has been opened. The initial Reed sensor broke after I initially added it. I has a spare 3-pin module. After connecting it I saw it worked without a problem, so I chose to leave it as it was. | In the back of the container, I have the input for the 12V power source, as well as the Reed sensor which registers whether or not the door has been opened. The initial Reed sensor broke after I initially added it. I has a spare 3-pin module. After connecting it I saw it worked without a problem, so I chose to leave it as it was. | ||
Line 46: | Line 48: | ||
* **home_away_triggered**: we monitor the state of the mode; | * **home_away_triggered**: we monitor the state of the mode; | ||
* **switch_state**: monitors the state of the Reed sensor | * **switch_state**: monitors the state of the Reed sensor | ||
+ | == App Architecture == | ||
+ | {{:iothings:proiecte:2023:webapp.drawio.png?direct&700|}}\\ | ||
+ | == Web App == | ||
+ | The web app was created using HTML, CSS and JavaScript.\\ | ||
+ | \\ Users can chose to activate/deactivate the **Home Away** mode. | ||
+ | {{ :iothings:proiecte:2023:homeaway.png?direct |}} \\ | ||
+ | {{:iothings:proiecte:2023:hoverunlock.png?direct|}} \\ | ||
+ | {{:iothings:proiecte:2023:hoverlocked.png?direct|}} | ||
+ | \\ **Unlock** commands are possible with just the press of a button. | ||
+ | ---- | ||
+ | === Conclusions === | ||
+ | I enjoyed making this prototype. I also learned a lot about the ESP32 controller and the interconnectivity it has with other platforms. It is cheap and reliable, while delivering suitable functionalities for an IoT project. | ||
+ | ---- | ||
+ | === Further Work === | ||
+ | I was also interested of using the [[https://cordova.apache.org | Cordova]] framework to transform the web app to a native Android APK file. So users can also have access to some nicer features, inherent to mobile devices. This would bring the project closer to an actual physical implementation, which could potentially be marketed, improved, and shrunk down (maybe integrated, as well). | ||
---- | ---- | ||
=== Other Resources === | === Other Resources === | ||
Followed this tutorial to create my initial web app: https://randomnerdtutorials.com/esp32-firebase-web-app/#install-nodejs. | Followed this tutorial to create my initial web app: https://randomnerdtutorials.com/esp32-firebase-web-app/#install-nodejs. | ||
+ | ---- | ||
+ | === Bibliography === | ||
+ | https://firebase.google.com \\ | ||
+ | https://firebase.google.com/docs/database/web/read-and-write#web-namespaced-api_3 | ||
+ |