meshblu-connector-raspicam

1.0.0 • Public • Published

meshblu-raspicam

Build Status Code Climate Test Coverage npm version Gitter

Meshblu Connector for the Raspberry Pi Camera for use in Octoblu and other services.

This is a Meshblu Connector for the Raspberry Pi Camera, it uses node-raspicam (https://github.com/troyth/node-raspicam) which is a node wrapper for raspistill - the default software for taking images on the RPi Camera.

For more information about Octoblu visit http://www.octoblu.com and connect all the things!

meshblu-raspicam sends a JPG image or a Base64 encoded message (for use with Twitter) to your Octoblu flow! This connector is still under testing so expect bugs.

Whilst node-raspicam outputs all the things, this meshblu connector only outputs a single JPG image at the moment, but can be easily modified to output all the image formats and video. The connector is a script you need to run on your RPi, it is not a gateblu pluggin (at the moment!).

Pre-Reqs:

  1. Raspberry Pi, Raspberry Pi Camera ;-)
  2. Configured Raspberry Pi for Octoblu - the simplest thing to do is configure your RPi as a Gateblu (https://gateblu.readme.io/docs/raspberry-pi)

Usage:

  1. Git Clone this repo to your RPi
  2. npm install meshblu-raspicam
  3. Create a Generic Device, grab the UUID and Token and add to meshblu.json
  4. From the meshblu-raspicam directory, do: npm start
  5. meshblu-raspicam will then connect to Octoblu.
  6. Create your flow, add in your new connector
  7. Take photos!

Options

The vast majority of the options provided with node-raspicam are included. You can configure these from within your flow.
There are lots of options and image effects you can apply to your image.
For a break down of the options, this document is useful: https://www.raspberrypi.org/wp-content/uploads/2013/07/RaspiCam-Documentation.pdf

Notes

Based in part on https://github.com/octoblu/meshblu-cam by @virgilvox Uses node-raspicam https://github.com/troyth/node-raspicam

Auto generated instructions below

Setup Instructions

Travis

  1. gem install travis
  2. travis login

Travis (S3)

For use if you need to push your browserified version

  1. travis encrypt [S3_ACCESS_KEY_SECRET]
  2. add the generated key to the .travis.yml file under secret_access_key in the s3 deploy section.
  3. also add the s3 access_key_id to the same section

End result should look like this:

deploy:
  - provider: s3
    access_key_id: [S3_ACCESS_KEY]
    secret_access_key:
      secure: [S3_ACCESS_KEY_SECRET]
    bucket: [UPLOAD_BUCKET] # octoblu-cdn
    region: us-west-2
    skip_cleanup: true
    detect_encoding: true
    local-dir: deploy
    upload-dir: [UPLOAD_FOLDER] # js
    on:
      tags: true
      all_branches: true
      node: '0.10'

Travis (NPM Deploy)[http://docs.travis-ci.com/user/deployment/npm/]

  1. travis encrypt [NPM_ACCESS_KEY] - this key is found in ~/.npmrc
  2. add the generated key to the .travis.yml file under api_key in the npm deploy section.
  3. also add the npm email to the same section

End result should look like this:

deploy:
  - provider: npm
    skip_cleanup: true
    clean_up: false
    email: [NPM_EMAIL]
    api_key:
      secure: [NPM_ACCESS_KEY]
    on:
      tags: true
      all_branches: true
      node: '0.11'

Usage

Gateblu Installation

Use (gateblu)[https://gateblu.octoblu.com/] to run this as a device.

Manual Installation

  1. npm install meshblu-util -g
  2. npm install meshblu-raspicam or git clone [GIT_URL]
  3. go into connector folder
  4. meshblu-util register -t device:meshblu-raspicam > meshblu.json
  5. meshblu-util claim
  6. npm start or to start with debug DEBUG='meshblu-raspicam*' npm start

Platform Dependencies

Edit the package.json to change the platformDependencies. This will show up when installing the connector in Octoblu and Gateblu.

7521555bf46f4af1c12ff19520968da17fa5ebf4

Package Sidebar

Install

npm i meshblu-connector-raspicam

Weekly Downloads

1

Version

1.0.0

License

MIT

Last publish

Collaborators

  • moodybass