A security glove that uses gestures to initiate tasing and automatically conveys an SOS message through our application. We use ESP8266 wifi module to form a connection with the cloud and a low voltage circuit as a tasing prototype and a MPU6050 accelerometer to act as a gesture sensor that initiates the tasing action and updates the data on the cloud through wifi module. When the data is being updated, we use cloud services to initiate an SOS message. This device acts as the interface between the hardware and the backend. It constantly reads the data from the MPU6050 sensor and once the condition for the gesture is detected it sends an http Get request along with the message title and coordinates obtained from a Geolocation API as a query parameter to our backend. This module has an inbuilt gyroscope, accelerometer and temperature which we will be calibrating to identify the gesture performed by the user.Lot of fatalities occur simply because of delayed medical assistance because the individual affected wasn't in the physical state to notify hospitals or family about their medical emergency.
-
I2C dev libraries
-
ESP8266WiFi
-
ESP8266 http client access
We have made our own api to send a get request for updating the database inorder to send a SOS message through our application: http://security-glove.herokuapp.com/notify
Once the gesture is detected the request is sent to send notification with the appropriate message. The notification is received on the mail and the app as well:
The Chidori mobile appication serves as the primary interface for the user to add contacts to be notified and also customize the body of the message which will be sent via the app and the mail. Flutter app development framework is used to make the “Chidori” mobile application. The app will provide the user an intuitive interface to add the contact details to be notified and also to customize the body of the message to be sent when the gesture gets triggered.- Run
git clone https://github.com/C-Harshul/Chidori-FrostHack.git
on your terminal. - Open the Chidori-App folder in a Flutter project.
- Run
flutter pub get
in the project terminal and get the dependencies. - Use
flutter run debug
to run the app in your local emulator or debugging device.
-
SplashScreen package : splashscreen: ^1.3.5 -> Used to show a spashscreen at the time of opening the app
-
HTTP package : http: ^0.12.0+2 -> Used to make http requests to the node API
We developed our own custom NodeJS API to handle requests from both hardware and app clients. The following is the link to our REST API deployed on heroku -: http://security-glove.herokuapp.com
- express : NPM package used to build web apps and APIs.
- firebase-admin : NPM package to link the backend to firebase for Realtime Database and Cloud Messaging(FCM).
- nodemailer : NPM package to send custom automated mails.
- POST :
{{url}}/contacts/addContact
-- Add contacts to the Firebase Realtime Database - GET :
{{url}}/contacts
-- Get the contacts from the Firebase Realtime Database - PATCH:
{{url}}/contacts/<Contact Name>
-- Edit the contacts in Firebase Realtime Database - GET :
{{url}}/notify?title=<Message title>&lat=<lat>&long=<longitude>
-- Notify the contacts stored in the database with the appropriate message - POST :
{{url}}/message/addMessage
-- Add custom messages to the database. - GET :
{{url}}/message
-- Get the list of messages for the gestures - PATCH:
{{url}}/message/edit/<Message title>
-- Edit the body of the message
- The primary use case is sending messages in case of medical emergencies when the user is not in the condition to type an SOS message.
- It can also be used to send messages during emergencies such as kidnapping where the user can perform the gesture to notify family and the police.
- The accuracy of the location can be improved if a dedicated GPS module can be used instead of using the Geolocation API which simply provides the vague location of the user.
- There can be features that allow the user to calibrate their own gestures opening up infinite possibilities of gestures and messages.
- The efficiency of the requests can be dramatically improved if shifted from Heroku to a more production-worthy platform like AWS.