Inspiration
This year's connectivity theme really inspired us to strive to create a system which makes the world more connected. We wanted to solve a meaningful problem, rather than to develop something for the sake of developing. As we looked into problems and the technology available to us, we saw an opportunity to save lives. Each year, 36 children lose their lives to the excruciating summer heat of being left in the car by their parents. The temperature in these cars is known to reach upwards of 40°C. _ Something had to be done. _
Nowadays, mobile alerts are everything. People are receiving more alerts on a daily basis than ever before. We took inspiration from home alarm systems which can let you know when an intruder is at your doorstep, and we came up with a system that punishes the negative behavior patterns of neglectful parents.
What it does
With one of the main design goals being simplicity, the system was built to resemble an amber alert. The completely independent module runs on the Telus LTE-M IoT board, and transmits a lot of information to the Azure cloud platform to be analyzed. This information includes things such as the humidity, the temperature, and the GPS coordinates of the target vehicle. After some server-side processing, the system decides the best approach to take. If it determines that: (a) The vehicle is stationary, (b) There is a child in the vehicle, and (c) The vehicle conditions are unsafe, text messages in the form of SMS are repeatedly sent to the parent/guardian, resembling an emergency alert.
If the guardian fails to respond by ensuring the safety of the child, they are notified that the authorities will be contacted next. The idea is to discourage parents/guardians from leaving their children unattended in cars.
How we built it
We began by looking at the available sensor data that we had to work with. We were able to transmit data wireless to the Azure Cloud, so we knew we were on the right track. We then researched what unsafe car conditions for a child to be in were. After fiddling around with Twilio, we discovered how effective their automated SMS messaging API could be.
Next, we created a function on Azure to monitor vehicle conditions using JavaScript. We were successful in reading sensor data, and from there all we had to do was configure our Twilio account with the function on the Azure Cloud which allowed to send SMS messages to a white-listed phone-number. In the future, this could be expanded to keep an online record of unsafe parental patterns and issue warnings or fines based on the frequency of these behaviors.
Challenges we ran into
We had many challenges that we ran into and overcame. It was initially very difficult to find useful documentation on how to use the Telus LTE-M IoT board, but through perseverance and grit (and a little bit of trial and error), we were able to make slow, but steady, progress.
Perhaps the greatest challenge was integrating Azure with Twilio. There was a lot of configuration that needed to be done on the server side to send SMS messages, and we ran into several errors, such as problems registering the Twilio SID on Azure, which required setting environment variables for both the SID and the AuthToken. In the end, we performed extensive research and consultation with mentors at MakeUofT and we were able to complete the configuration and programming and accomplished a fully-functional messaging alert application with potential to decrease injuries of children due to being left in hot cars by neglectful parents.
Accomplishments that we're proud of
We are proud of the originality of our idea, and our error-free implementation of it. We spent a lot of time debugging our programs, and it was truly rewarding seeing everything come together in the end.
What we learned
We learned that it is more important to focus on deliverables, even if they may be a lot simpler than originally intended. With that in mind, we were able to learn a lot about the essential technologies associated with the Azure Cloud Platform as well as the Telus LTE-M IoT board.
We had to program in a variety of languages including C++, C and JavaScript, and though we had some experience with these languages, there was a lot to learn when it came to their application in the cloud.
We were exposed to a lot of server-side cloud programming, and this is the first time we did all compilation, analysis and received output entirely through the cloud. Our device was in the end completely disconnected from any external computers, and used only its hardware to communicate with Azure.
What's next for HeatAlert
The next steps are very broad, and there are many paths that HeatAlert could take.The first of these paths would be to implement a database such as the Cosmos DB to store vehicle data indicating neglectful parent behavior. This way, those who put their kids at risk could be held accountable if they do it on a repeated basis.
Built With
- arduino
- azure
- cloud
- iot
- javascript
- node.js
- rest-api
- telus
- telus-lte-board
- twilio
Log in or sign up for Devpost to join the conversation.