Code Monkey home page Code Monkey logo

gopro-api's Introduction

Control you GoPro camera over wifi via this comprehensive Node.js API. With access to a wide array of settings; you can power your device on or off and alter settings dynamically and backup your videos/images remotely.

Currently only tested/implemented to control a singular GoPro hero3 silver edition, but further work is underway to control multiple and varied devices.

Getting started

To get started, there are three quick start options available:

  • Download the latest release.
  • Clone the repo: git clone https://github.com/chrisgwgreen/GoPro-API.git.
  • Install with node package manager (npm): npm install gopro_hero_api.

Please see details below for details about how to use this API.

Update GoPro

For best results, ensure your GoPro Hero 3 is running the latest firmware (implemented for 3.0.0). The update process is reasonably simple to follow and can be found on the GoPro update page.

What's in the box?

Within the download you'll find the following directories and files:

gopro/
├── libs/
│   ├── gopro.js
├── samples/
│   ├── proto-booth.js
│   ├── auto-power-off.js
│   ├── burst-rate.js
│   ├── camera-mode-status.js
│   ├── capture.js
│   ├── continuous-shot.js
│   ├── delete-all.js
│   ├── download-latest.js
│   ├── field-of-vision.js
│   ├── file-system.js
│   ├── led.js
│   ├── loop-video.js
│   ├── photo-resolution-status.js
│   ├── power.js
│   ├── protune.js
│   ├── status.js
│   ├── video-resolution-status.js
│   ├── volume.js
│   └── white-black.js
├── README.md
├── LICENSE
├── config.js
└── package.json

Bugs and feature requests

If you've found a new bug or a want to suggest a new feature request, please feel free to open a new issue.

Documentation

To handle the asynchronous behaviour of accessing the GoPro remotely, this API is built using when.js; a lightweight implementation of Promises/A+.

As such, the basic usage of this API is as follows:

(function () {

    'use strict';

    var config = require('../config'),
        GoPro = require('../libs/gopro'),
        camera = new GoPro(config.password, config.ip, config.port);

    camera.ready().then(function () {

        camera.status().then(function (status) {
            console.log(status);
        }).catch(function (error) {
            console.log(error.message);
        });

    }).catch(function (error) {
        console.log(error.message);
    });

}());

This snippet turns your device then, once the device is ready, requests it's status which is finally console logged.

Note config.password represents the devices password (by default goprohero).

Please see samples folder for further examples.

API

API will soon be available. In the interim, please refer to the samples directory for examples as to how to use this API.

Versioning

Following Semantic Versioning guidelines as follows:

<major>.<minor>.<patch>

For more information on SemVer, please visit http://semver.org/.

Author

Chris GW Green

Copyright and license

The MIT License (MIT)

Copyright (c) 2013 Chris GW Green

gopro-api's People

Contributors

chrisgwgreen avatar

Watchers

 avatar  avatar

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.