A Python and Android attachment for Motion to set up a security system.
Java Python
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Security Cam

Security Cam is a Python and Android attachment for Motion. Motion is a program that monitors the video signal from cameras. The Security Cam application is a client-server architecture on top of Motion.

The Python server manages the Motion process and implements a REST API for controlling the server. The light-weight client runs on Android which is used to actively control the server.


  • Start and stop motion detection remotely
  • Display current camera snapshots
  • Push notifications when motion is detected
  • Retrieve camera snapshots that triggered motion
  • Upload each snapshot directly to your Dropbox


  1. Install Motion, either from package or from source (recommended).

  2. Download the Android client from the Google Play Market.

  3. Get the server Python package:

$ pip install security-cam
  1. Get a GCM API Key (required for receiving push notifications)

  2. Get a Dropbox API access (optional)

    • Go to the Dropbox Apps Console and create a new app
    • App type: Core API
    • Permission: App folder
    • Take note of the API key and App secret
  3. Configure the server /usr/local/etc/security-cam/:

    • Rename motion.conf.example -> motion.conf
    • Rename settings.cfg.example -> settings.cfg
    • Edit the settings.cfg and configure it to your needs
  4. Start the server

    $ ln -s /usr/local/lib/python/dist-packages/securitas/server.py /usr/bin/security-cam
    $ sudo chmod +x /usr/bin/security-cam
    $ security-cam

    You will be prompted to authorize the application with your Dropbox account if you have followed step 5.

  5. Launch the Android application

    • Configure the settings to your needs
    • Port: 4000
  6. Enjoy!

Future Work

Some ideas for the future development:

  • Use Secure Socket Layer (SSL)
  • Implement a snapshot picker