Glover is a collision detection device and phone application that will notify your loved ones on your location when you are out cycling, skiing or even driving. The device should be attached somewhere that may sense the impact and this triggers your phone to send out an SMS to your designated emergency contact with your location and other health related details like blood type and allergies.
This project makes use of:
Hardware
- Arduino Uno
- Piezo Sensor
- 1 Mohm resistor
- 9V battery
- Bluetooth module (HC-05)
Software
- React Native
- Bluetooth library to pair with hardware
- GPS library
- Native geolocation
- Communications library to send SMS
- Go to React Native documentations
- Click on 'Building Projects with Native Code' (Note: Target OS: Android)
- Install dependencies
- Clone this repo
- Run
yarn install
andreact-native run-android
inside your React Native project folder
- User should be able to register and log-in subsequently.
- Registration page will prompt user to key in health-related details and emergency contact.
- Logged-in user should be able to start session that will trigger pairing of bluetooth device for crash detection and turn on GPS for location sensing.
- Upon collision, app will start a 10 seconds countdown that user can dismiss if false-alarm triggered by a bump on the road or a minor accident.
- If user is in a serious accident and is unable to dismiss the countdown, the app will then automatically send out a SMS with information on user's current location and health status to user's pre-set emergency contacts.
- Will locked phone disable sending SMS?
- Will app running in background continually sense location coordinate and receive bluetooth data?
- iOS doesn't seem to allow apps to send messages without prompting users to click 'send'
- Deployment to Play Store
- Live-tracking of location & time to enable live updates to emergency contacts even without crash event. This will enable app to double up as a 'run-keeper' for cyclists, skiers, motorists or even joggers.
- Implementation of accelerometer for increased accuracy
- 'Forget Password' feature
- Provide settings page to enable users to amend details such as emergency contact, allergies and health status
- Wan Zhen - thecodingdog
- Shumin - shumin13
-
To enable direct SMS (not just re-direct you to the SMS function with pre-filled msg) https://github.com/rhaker/react-native-sms-android
-
React-navigation that gives you the router and nav bar https://github.com/spencercarli/getting-started-react-navigation/blob/master/app/config/router.js
-
React-native maps that gives you the ability to see google maps based on supplied coordinates https://github.com/airbnb/react-native-maps
-
Incorporating geolocation (native) to pinpoint current location https://medium.com/@kswanie21/react-native-google-map-with-react-native-maps-572e3d3eee14
-
Deployment to HockeyApp for beta testing https://github.com/benloopcompany/react-native-hockeyapp
-
Tutorials for IOT http://www.instructables.com/id/How-to-Receive-Arduino-Sensor-Data-on-Your-Android/ https://learn.sparkfun.com/tutorials/piezo-vibration-sensor-hookup-guide