Frank has a dog.
Frank’s dog enjoys being outside for extended periods of time.
Frank’s dog likes to go outside immediately when the upstairs tenants' dogs are outside and come in when they are not.
Frank’s dog also likes to dig and perform other undesirable behaviours when it is bored or would like to come inside.
Frank is often busy and can not monitor his dog 24/7.
Don’t be like Frank.
Noah has a dog.
Noah also has a Watchdog.
Noah is notified if his dog digs or would like to be let inside/outside.
Noah can focus on his studies and not worry about his dog.
Be like Noah.
The Watchdog (pi) requests a config file from the flask server, if response fails it uses a local file.
It will then take pictures every 'intervalTime' seconds, and check the image for specific objects chosen by the user, using yolov2 or yolov2-tiny.
If a desired object is found the image and yolo log data are sent to the server, stored in a mongoDB (database) and send to the user (SMS/Email/Web-App).
The user configuration can be changed in real time on the web-app or locally on the Watchdog.
Each sub folder has a respective portion of the stack and instructions on how to get it up and running on your local machine for development and testing purposes. The Watchdog database just base MongoDB, so no there is no need to store related files here as it is hosted on Google Cloud (Flask will auto connect to this so internet is required).
.
├── /flaskApp/ # Backend Flask app
├── /piApp/ # Rasberry Pi object detection
├── /webApp/ # Isomorphic web app
- object recognition on raspberry pi
- server to communicate with pi/user/database
- web app for server/database configuration
- Specifiy parameters for user to be notified about
- Notify user via email/sms
- Optomize object recognition w tiny weights
- Android application user interface for configuration/notifications
- Train dog-digging data and add to classes
Andrew Nash | Mark Duffett |
Web App & Backend | Raspberry Pi Object Detection |
Licensed under SPDX standard BSD-4-clause