I had mixed feelings when the IoT course started. On one side, Dinesh was nice enough to answer my email and letting me know that full remote implementation was possible. On the other hand, the course came with a warning: "Good programming skills in a system programming language are required (C/C++/Rust, any one of these)". I have used both C and C++ during my bachelor, and I even took elective courses in Electronics during my degree, but would that be good enough? (impostor syndrome is real). Once I stopped overthinking it, I remember how far I came during the last years and I chose to give it a try.
The intro lecture was pretty intense. Just by looking at the deadlines and the schedule, I knew there was a high risk that I will spend my Christmas glued to the screen (and I kinda am atm). I teamed up with 3 lovely finnish girls an one Vaasa student. Since it was still quite early in the course, I made sure to 1. Pick my Raspberry Pi board on time and 2. Brush up my knowledge. I have on store a Pico Groove kit and some spare parts used in Arduino, so with that in mind I started from scratch, wandering around, checking if all my components were useful for the project. During out first videocall, we consider everyone's skills to decide who will be in charge of programming and testing the pico, who will collaborate on the MQTT and NodeRed connection and who will be implementing the web interface / mobile phone application. Since I had the board and the components, I went in with the Pico programming.
Towards the course, we kept exchanging ideas and shaping the project. Since some of the members were not as familiar, we considered to build something simple and add on complexity afterwards. Since I had a digital display, a "visitor counter" project and schematic was submitted as a first draft. While I was implementing the initial code, I found an LCD display in my component drawer, and that replaced the digital display. Throw in some discussion meetings here and there, and the idea took shape: an "access control" software that would work as a security home system. Made the hardware connection, the wiring scheme and pushed some initial code and voilá! Our initial system was up.
As the project grow in complexity, some problems arised. Implementing the MQTT protocol went pretty smooth, but adding the .mqtt connection to our mobile interface did not work as expected. Initial trials with the sensor had it beeping often so we had to add a cooling system. Alas, we did manage to deploy the mobile interface, but the button was not triggering the event ... Since the deadline was approaching, I devided to visit Fahad at the Vaasa University to do a debug session (there is just so much you can do through remote calling). We end up with a gorgeous web interface and the whole project looked professional enough. Now all that was left was preparing for the presentation next day.
Overall, this was one of my best group experiences. All the members were involved with the collaboration, and even the remote members were active during the presentation. I arrived early morning to test the prototype and make sure it was working. We managed answering all the questions about the project architecture and the system functionalities, and Dinesh seemed very pleased. A few things to fix on the data display, but the main point was to have a working physical prototype. Now the question running through my head is: will this be my last IoT course? I do not think so, and I hope it is not. Now if you excuse me, I need to go back to debugging if I want to have enough time to prep my Christmas dinner on 23/12.