Git Product home page Git Product logo

ngwanzhen / gloverandroid Goto Github PK

View Code? Open in Web Editor NEW
13.0 1.0 5.0 5.79 MB

IoT project with mobile app interface (React Native). Upon device detecting impact, connected mobile phone will send SMS with info on your current location and health status to your pre-set emergency contacts.

Home Page: https://www.youtube.com/watch?v=yPD2hu2EluQ

JavaScript 83.33% Python 3.50% Java 4.20% Objective-C 8.94% Ruby 0.03%
react-native iot bluetooth-arduino gps-location react-native-maps sms-notifications react-native-navigation

gloverandroid's Introduction

Project #4: Glover

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

Getting Started

  1. Go to React Native documentations
  2. Click on 'Building Projects with Native Code' (Note: Target OS: Android)
  3. Install dependencies
  4. Clone this repo
  5. Run yarn install and react-native run-android inside your React Native project folder

ERD

Wireframe


IOT

User Stories

  • 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.

Challenges

  1. Will locked phone disable sending SMS?
  2. Will app running in background continually sense location coordinate and receive bluetooth data?
  3. iOS doesn't seem to allow apps to send messages without prompting users to click 'send'

Future Plans

  1. Deployment to Play Store
  2. 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.
  3. Implementation of accelerometer for increased accuracy
  4. 'Forget Password' feature
  5. Provide settings page to enable users to amend details such as emergency contact, allergies and health status

Authors

Acknowledgments

gloverandroid's People

Contributors

ngwanzhen avatar shumin13 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.