Revisiting my ESP32 Electronic Lock Prototype
When I first started publicizing EasyDocker on Reddit and it started gaining some traction, I started looking back at all the projects I’ve developed until now. One in particular, the Electronic Lock Prototype, is one that not only taught me how to develop on top of microcontrollers, but it also gave me a broader view of what was possible to do with code.
This project was developed as part of an academic assignment for the Electronics class in my early years as a Computer Science undergrad student at the University of São Paulo (USP).
The code itself has nothing fancy, the ESP32 runs a bare-bones webserver written in C++ with a button that when pressed will send a signal through a relay to open an electronic lock. In fact, the simplicity of this project is what makes it unusable, as no security concern was addressed – it is worth noting that this was not the goal all along, so no problem with that.
If I were to develop this today, I would at least offload the webserver to a separate infrastructure running on a local server, and restrain the ESP32 board responsibility to only send the signal over to the lock. This would allow for a more robust security architecture on the webserver, with authentication (and possibly authorization) checks and enable audition logs on access.
Here’s a (very badly recorded) video example of it being used in the republica that I lived in during the college days:
Even though this project was never used in a real world scenario, it served as a motivation to dive deeper into understanding software engineering as I realized that coding enabled me to not only create things that I could interact digitally, but it also empowered me to create things that had an impact in the physical world.
Though it could be seen as completely unrelated, I also give credits to this project for the fact that working on it also rekindled a passion in me for doing things myself from start to finish, and gave me the confidence that I could repair or tweak anything that is technology related.
Lastly, it also made me feel familiar around microcontrollers and embedded systems, which eventually led me to buy another ESP32 learning kit around two years ago.
This kit came with a bunch of sensors and actuators, and I bought it to play around and learn a bit more about how the embedded development landscape was looking like – even though I didn’t work at this industry at the time – and I ended up learning about Home Assistant and PlatformIO, which I’ve used to build a few other prototypes over the weekends.
So, to draw a conclusion: developing projects that are totally out of your background will not only expose you to new knowledge, but it will also help you see things you already know with a different viewpoint.
Also, surrounding yourself with different technologies can only be positive as it allows you to mess with things as your curiosity for them emerges, allowing you to master them with lesser effort.
<< Previous Post
|
Next Post >>