We have friends who drive home after a long day at the University who are often exhausted. They are usually not aware that they're unfit for driving. We want to implement an IoT solution to help people recognize when they're unfit to drive, and to help prevent accidents.
What it does
Using the TELUS LTE-M IoT Starter Kit, we used IBM Cloud Platform to provide a front end data visualization for all the sensors incorporated. Some of the external sensors that were incorporated were a capacitive touch sensor, buzzer, and photoresistor. For the onboard sensors on the X-NUCLEO-IKS01A2, we incorporated the temperature, barometer, humidity, and accelerometer data.
Using IBM Watson's Visual Recognition, we aimed to determine whether the driver was falling asleep or not. We trained a model on IBM's services but did not eventually connect the two.
Instead, from Node-RED, we injected an image to be compared on IBM Watson's Visual Recognition, instead of our own model set.
How we built it
Using the TELUS LTE-M IoT Starter Kit, we first implemented their starter code. Using ARM Cortex's mbed IDE, we programmed the later external sensors, and enabled the onboard sensors of the X-NUCLEO-IKS01A2. We connected the data to IBM Cloud as our third party IoT server.
Through Node-RED, we send the payload to IBM Cloudant as well. We trained a data set on IBM Watson's Visual Recognition platform for sleepy people, using public image sets from Caltech and Yale. Finally, we aimed to incorporate IBM Watson's Visual Recognition on Node-RED
Challenges we ran into
The biggest challenge we had was trying to incorporate OpenCV with IBM's Cloud services. As well, we initially aimed to use the Intel RealSense camera, but eventually did not get it to work.
Understanding STM32's datasheets and peripherals was a challenge, as we were unfamiliar with their syntax and libraries.
As well, we were able to program the heart rate monitor and a vibration setting that would activate once the heart rate went below a certain threshold. However, we also encountered difficulties with incorporating the FitBit with IBM's Cloud Services.
Accomplishments that we're proud of
We were proud that we were able to successfully incorporate each individual aspect of our project. They all worked successfully on their own. Our members learned a lot about working with sensors on Arduino, and are very excited to use it in the future!
Our group were composed of very different skills, but we were able to mesh together very well. With a few beginners on the team, we were still able to successfully incorporate our own projects.
What we learned
We learned a lot about hardware programming, and OpenCV.
What's next for Sleep Deprivation Prevention IoT Kit
We were planning to hopefully incorporate the GPS Antenna. As well, we had a vibration sensor that we were planning to incorporate if the driver went off the road, and a tracking sensor to see if the vehicle is travelling within the road lines. Of course there is a lot of fine tuning involved.