Our group came from the Illinois Institute of Technology, a small technological institution located in the neighborhood of Bronzeville in Chicago. While the area does not have the highest crime rates in Chicago, theft and burglary reports do happen. We wanted to make a simple, accessible, and effective device that can be used as a budget security system to help stop crime in struggling areas.
What it does
PiAlert is a security system that is set up on your home network. Once connected to your network, you may SMS text messages to PiAlert's number in order to use it. Sending "Start" activates the system. Once the system is activated, the infrared sensor will begin checking for intruders. If an intruder is detected, you will receive a call as well as a SMS text alerting you of the situation, and the speaker will set off an alarm sound. The user may then opt to inform authorities by sending a "911" command, or they may confirm it was a false positive with a "False Positive" command to restart the system. Sending "Shutdown" will shutdown the system.
How we built it
Raspberry Pi - Main machine.
Infrared Sensor - Detects Intruders.
Python - Manage a script that connects the Twilio API to the input of the sensor.
Twilio API - Used as a simple interface for the user to communicate with the PiAlert.
Challenges we ran into
There were not many online guides available to help us set up the sensor, it required a lot of trial and error to hook it up correctly to the input of the Raspberry Pi.
We would have loved to have the PiAlert send pictures of the intruder straight to the user. However, all cameras were checked out, so we were unable to implement this even though we figured out how to send pictures to the user.
Trying to work on a SMS based project while your phone is constantly losing service is never a fun experience.
Communicating from the Raspberry Pi to Twilio was easy. Communicating from Twilio to the Raspberry Pi was another story. We needed the user to be able to send out messages in order to communicate with PiAlert, and that wasn't possible without a separate HTTP server. We were able to work around this by using Flask and ngrok to tunnel from Twilio to the Pi directly, this breakthrough allowed the PiAlert to stand up and exceed our expectations.
Accomplishments that we're proud of
The biggest achievement we have, is that PiAlert works. The infrared sensor's API runs correctly. Twilio's API runs correctly. The speakers play an alarm sound. You are able to use SMS to fully control the PiAlert, and have it send messages back to the user when there is an intruder. We are even able to have it call phone numbers with voice messages and send pictures!
What we learned
We learned a ton about implementing different API's, including Twilio, Flask, and GPIO.
Not a single person in our group has worked with a raspberry pi before, and we gained a lot of experience using it ourselves.
We were able to properly implement multiprocessing in order to play the alarm sound once an intruder is detected, and continue on with the python script.
What's next for PiAlert
PiAlert could use a camera to send more information about the potential intruder to the user.
PiAlert could be used as a budget security system for struggling areas.
The use of PiAlert is not just restricted to security, it may be used by facilities such as hospitals and nursing homes to keep track of patients.