GitHub Repo (private): https://github.com/jcp1016/BeaconOnBoard
Source Code Highlights Monitoring BeaconOnBoard/controller/full_bob.py The main monitoring process running on the micro controller. When temperature exceeds 24 degrees Celsius a thread is started for the PIR motion sensor. If motion is detected by the sensor, the camera is started and we use OpenCV to detect motion with the camera. An image is captured and uploaded to AWS S3 and notifications are published to an SNS topic for display on the Android app. Internet Connectivity BeaconOnBoard/controller/attach_gprs.py Defines the PDP context and uses AT commands to connect the SIM900 modem to the GPRS network. Required before calling pppd which sets up the peer-to-peer connection with the ISP. BeaconOnBoard/configs/enable_serial_port Enables serial and serial1 on ttyMFD1 (UART1) for the GPRS shield to communicate with the Intel Edison micro controller BeaconOnBoard/etc/ppp/peers/provider Parameters passed to pppd which establishes a peer-to-peer connection with the ISP and routes wifi over ppp0 instead of wlan0 for data transfer Android App Signup + Notification BeaconOnBoard/full_bob/app/src/main/java/ <numerous Java source files> Signs up subscribers for a BoB device, receives notifications from BoB when danger is detected and displays picture of car interior along with real-time temperature and elapsed time since danger was detected Web App Notification BeaconOnBoard/aws/lambda/SendSMS.py For use with the web app, it is triggered when a photo is uploaded to AWS S3 in the device specific bucket. Publishes a text message to an AWS SNS topic. Subscribers can receive the message by SMS or email. Message includes a link to the device specific web app url. BeaconOnBoard//aws/s3/www/alert.html Single page web app that allows a BoB subscriber to view a picture of the car interior along with current interior temperature and elapsed time since danger was detected. Interacts with the device by reading from and writing to AWS DynamoDB. |
BoB | Two sensors and a camera in the car connect to a web and app user interface. |