toy security platform with motion detection implementation for cheap, low-quality camera lens
CSS Python HTML Swift JavaScript Shell Makefile
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
desktop
ios
static
web
.gitignore
LICENSE
README.md

README.md

mockup

MotioSecure

Simple security platform with motion detection implementation for cheap, low-quality camera lens

Mac and iOS apps are coming soon

Ever have a friend hijack your computer while you're away? Ever wanted to catch them red-handed? Run this application to do just that. With just an iOS app and a mac app, you'll be good to go. Applications are pending review. Want it now? See Development installation instructions below.

  • Sends a notification to your phone when motion is detected
  • Saves all detected motion as mp4 videos for playback
  • Surprise the intruder with a live camera feed, and engage with your invader in conversation!
  • Uses Apple security protocols to make live feed, notifications available; no janky, inter-device, unencrypted communication

This is not a serious security platform. For all intents and purposes, I wrote it to prank my friends. With that said, the application actually does what I claim above. I make no guarantees about its ability to prevent theft or its security. Please don't use this seriously.

How it Works

On server-side, opencv abstracts away the camera. We compute the difference across l timesteps and use scipy's SVD to analyze explained variance ratios. If the sum of the top k ratios exceed a threshold, we consider motion to be detected.

opencv provides additional utilities that allow us to encode and write to mp4 videos. A Python interface for Apple's Push Notification Service pyapns allows the Python app to interface with iOS notifications accordingly. A third-party library websockets is used to launch a local socket, giving the application live updates for "motion detected" or not.

  • See the web/ README for more on a locally-hosted web application.
  • See the desktop/ README for how we packaged the application for Mac App Store distribution.
  • See the ios/ README for the mobile component.

screen shot 2017-07-04 at 6 07 28 pm screen shot 2017-07-04 at 6 07 36 pm screen shot 2017-07-04 at 6 07 44 pm screen shot 2017-07-04 at 6 07 50 pm screen shot 2017-07-04 at 6 10 26 pm