Soble's Arduino Device
Our inspiration for this project came from the alarming number of people that still lose their life due to being in driving under the influence related accidents. In our eyes, we were surprised to see the number of DUIs not decreasing at an alarming rate in the past few years even with the presence of technology growing in cars. We saw this as a problem we could tackle and is what drew out inspiration.
What it does
Soble approaches the problem of driving under the influence by avoiding that situation with the driver. Based on the Trueface API our app analyzes our users face, before they enter the car, for any signs of intoxication. Depending on whether the user is fit to drive or not our app either allows the user to enter the car or gives the option of an Uber for contacting a friend. It prohibits entry to the car by blocking the radio frequency that car keys operate on so once a user is deemed not intoxicated they are allowed to enter their car. In the event of a malfunction in our detection, the user can override the program but will then need to pass a series of reaction tests before they are let into the car.
How we built it
We made an iOS app that interfaces with an Arduino device via Bluetooth. The Arduino is connected to a Bluetooth module so data can be sent back and forth between the device and the phone itself. For communicating between the app and the Arduino we used software serial through Adafruit's Bluefruit LE UART Friendly module. We utilized this to our advantage by collecting data from a GPS module that is used to locate your car and monitor your driving. To stop the user from entering the car we are using a 433 megahertz radio transmitter to "block" the radio transmission between the keyfob of the car and the receiver inside of the car if appropriate. To create out the app we used XCode, the Apple IDE using Swift. We utilized multiple APIs, such as the UberRides API, Twilio API, and Trueface API to receive data and perform actions such as sending text messages, requesting a Uber ride and we plan to implement the AI model to identify intoxication.
Challenges we ran into
The majority of challenges we ran into during this hackathon were dealing with the software of the app and the Bluetooth connectivity. In terms of software, we were all inexperienced working in XCode and with Swift. Most of the time developing the app was learning how to work in XCode and learning the basics of Swift. Simple things like defining variables were foreign to us. Beyond this, we were having trouble implementing the Trueface API that we indented to use as were could not get the API key and SSO authorization from the developers. The Bluetooth connection between the app and the device was also something new to us. We were having trouble using the software serial feature of the Bluefruit but were able to overcome this.
Accomplishments that we're proud of and what we learned
We are proud that we were able to make a successful app in iOS. This was our first iOS app and we were able to make an app that worked for Soble. We learned a lot about the Apple development environment through this hack and we are excited to work with it in the future. Along with this, we are proud of the fact that we challenged ourselves more with the hardware aspect of our hack. We haven't worked with a GPS module or the Bluefruit before this hack and working with these two things taught us a lot about software serial communication and how it can be implemented in our future hacks.
What's next for Soble
In the future, we hope to develop the app further. We want to use the Trueface API to its full capacity to provide the most accurate results for our app.