Giter Club home page Giter Club logo

goproapp's Introduction

GoProApp

Controls multiple GoPros from a web page.

This is a webo app that provides a front end for the GoProController python class. The app itself is built off of django-quick-start-app.

How it works

The backbone of GoProApp is a program called GoProProxy that runs asynchronously to the server. This proxy periodically grabs the status of every camera in the database and sends commands to cameras when appropriate. GoProProxy utilizes GoProController to do the dirty work of actually communicating to the cameras.

The website portion of GoProApp grabs the latest status data from the database and serves it to the user. It also saves command requests back to the database when generated by the user.

Setup

This app originally required one to first create a Django, but the Django files are now integrated with the repo for easier deployment.

A bash script is also now included to perform the bulk of the required setup steps. This script is tested against Ubuntu 12.04. As a part of the setup procedure, an Apache config and Upstart config are installed into your system. If you do not want this, then take those steps out setup.sh before executing it.

sudo apt-get install git
cd ~/
git clone https://github.com/joshvillbrandt/GoProApp.git
cd ~/GoProApp
./setup.sh

Upon completion of setup.sh, You should now be able to navigate to http://localhost:80/ and see the GoProApp. The GoProApp/proxy.py file is also now running which continuously polls the cameras for their statuses and sends commands to the cameras as they are queued up in the server.

Development

To run GoProApp without Apache and Upstart, launch the site with the Django development server:

cd ~/GoProApp
python manage.py runserver 0.0.0.0:8000

In another terminal window, launch the proxy to communicate with the cameras:

python ~/GoProApp/proxy.py

Todo

I am not planning on adding any additional features at this time. Feel free to contribute with a pull request, however!

Screenshots

GoProApp Screenshot

GoProApp Screenshot

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.