The inspiration for our project is straightforward. Two of our three members are part of the UCSB Cycling Team. All three of us are UCSB students. Cycling is an integral part of our lives, whether it is an everyday means of getting to class or a serious hobby.
Though we all like to bike, it isn't the safest activity by any means. Biking on campus is often just mayhem, and cycling elsewhere can be even more intimidating if you don't know the roads. It's these challenges of biking that led us to come up with CrashMaps: a solution that makes cycling safer by looking out for you while you're on the road, and informing you before you leave. The Firebox that we created to collect data for CrashMaps was used to help save the lives of those involved in accidents, and especially those that are cycling alone. All three of us have gotten into serious bike accidents before, and who knows where we would be if we happened to get into these accidents while biking alone.
What it does
CrashMaps is a device-software package that protects cyclists. The Firebox is a device associated with CrashMaps that attaches to your bike and monitors you as you ride. It is equipped with an accelerometer and a gyroscope. If you happen to crash, Firebox will know. It communicates with an app on your phone through a Firebase real-time database to contact your emergency contacts when you may not be able to.
In addition, the crash data (location, severity, time, etc.) of all CrashMaps users are uploaded to a Firebase database and put together to form a heatmap of common crash locations over Google Maps. This is visible through our website crashmaps.herokuapp.com.
How I built it
We used a raspberry pi 4 with an accelerometer and gyroscope to build the Firebox. The software for detecting crashes also uploads crash data to the Fireboard realtime database. We built the accompanying Android app in Android Studio using Java. We used the native functionality of Android to place calls to emergency contacts, used the realtime Firebase database to communicate with the Firebox (raspberry pi), and the website. The website also accesses the realtime Firebase database to put together data from all uploaded crashes to generate the heatmap of dangerous roads.
Challenges I ran into
We ran into difficulties learning how to integrate Firebase into our project. We spent looots of time pouring over documentation and asking for help from the Firebase team. Massive shoutout to the Firebase team for their awesome help and patience. You guys carried us <3
Accomplishments that I'm proud of
We are proud of managing to learn the API's and get all the components of our project to communicate effectively and fairly seamlessly. The fact that all the devices managed to communicate together was amazing
What I learned
We learned most about how to effectively use API's, and how to put a project with many components together. Launching a website on a host was also a challenge for us.
What's next for CrashMaps
CrashMaps can be expanded and have a wide range of useful applications. We may gather more data about crashes on campus and provide to the school's safety department to improve the safety and flow of UCSB's characteristic bike paths, hopefully reducing the huge amount of accidents that occur daily. Moreover, we can use other sensors to use CrashMaps and Firebox as a safety device for dangerous activities such as rock climbing.