ECE497 Project - DIY Emergency Button

Team members: Yuchen Wang

Grading Template
I'm using the following template to grade. Each slot is 10 points. 0 = Missing, 5=OK, 10=Wow!

 00 Executive Summary 00 Installation Instructions 00 User Instructions 00 Highlights 00 Theory of Operation 00 Work Breakdown 00 Future Work 00 Conclusions 00 Demo 00 Late Comments: I'm looking forward to seeing this.

Score: 10/100

(Inline Comment)

Executive Summary
This project is to design and build a remote and portable pushbutton which could send out emergency text or call once it is pressed. The main idea is to use Twilio API on the BeagleBone Blue to implement those functionalities.

For now, the functionalities implemented are sending out texts and calls. Once the upper button of the bluetooth shutter is pressed, Twilio will call a pre-set number. Once the lower button is pressed, that number will receive an emergency text "This is Yuchen. Emergency situation! Need help!"

The audio content of the call cannot be changed due to the access deny of Github.

This DIY emergency button is currently ready for demo.

Packaging
Powered BeableBone Blue and a bluetooth shutter available on Amazon.

Installation Instructions
Give step by step instructions on how to install your project.

sudo apt-get install bluetooth sudo apt-get install blueZ sudo apt-get install pip sudo pip install twilio
 * Include your github path as a link like this to the read-only git site: yuchnw.
 * Be sure your README.md is includes an up-to-date and clear description of your project so that someone who comes across you git repository can quickly learn what you did and how they can reproduce it.
 * Include a Makefile for your code.
 * Run:
 * Include kernel mods.
 * If there is extra hardware needed, include links to where it can be obtained.

User Instructions
Once everything is installed, run: sudo python button.py

Highlights
Here is the Video Demo of this project.

Theory of Operation
Just using python and bash script.

Work Breakdown
This is a solo project.

Future Work
Fix the audio content issue. Currently it cannot access any online audio XML link except for the TwilioDemo itself.

Conclusions
This project is simple but contains some new topics. I have never used Bluetooth package for python before, and now I know that I should import BlueZ in my code. The bone treats the button press actions of the shutter as events, which makes it possible to just check the event code and type in python code as detecting the button press.

I also have faced some bottlenecks during this project. For example, I cannot find a way to directly connect the bone to the shutter using Bluetooth in the python code. To solve this problem, I add a bash script in the project directory which runs a series of [bluetoothctl] commands. Thus, I can make them connect to each other once I run the python file.

This project provides me an opportunity of exploring new knowledge in Embedded Linux. Since it's a solo project, I felt more challenged than usual.