rbn-base

0.0.5 • Public • Published

rbn

This is a bit of software that was built for the raspberry pi, but should work on any linux box. It's good at doing things like passing data from bluetooth low energy devices over a websocket connection, or sending data from a connected arduino up to firebase. It consists of two parts - interfaces and transports.

Interfaces

Interfaces allow the pi to collect data from other devices. Currently, the following interfaces are supported:

You should restart the pi after plugging in a new interface, to make sure the OS picks up the changes

Transports

Got some data from an interface? Awesome. Transports let you send that data somewhere on the internet.

Easy Mode

  1. Download and unzip the grid image from here.
  2. Write it onto an SD card by following this guide.
  3. Plug the SD card into your pi, and SSH into it (user:pass is pi:pi)

Hard Mode

  1. SSH onto your raspberry pi, and change to your home directory.
  2. Run `git clone git@github.com:robinpowered/robin-grid.git'.
  3. Change into the grid directory with a cd robin-grid.
  4. Run npm install --production to pull down and install dependancies.

Customizing

To add or remove interfaces and transports, and configure the behavior of the grid, change the options in config.json. By default, config.json looks like this:

{
  "autoUpdate": false,
  "runOnBoot": true,
  "transports": {
    "rbn-websocket": {
        "endpoint": "http://robin-grid.omrdev.com"
    }
  },
  "interfaces": {
    "rbn-rfid": {}
  }
}
 

Besides the interfaces and transports objects, the supported options are:

  • autoUpdate - update automatically when a new version is released (default: false)
  • runOnBoot - run the grid automatically when the OS boots up using forever (default: true)

Running

Streaming logs and debugging

If you want to run the base station and stream the log output, run sudo DEBUG=base,websocket,ble nodemon grid.js

The DEBUG=namespace1,namespace2,namespace3 parameter is there to help you cut down on the number of logs for easier viewing. Each module has a corresponding namespace - rbn-rfid logs on the rfid namespace, rbn-websocket logs on the socket namespace, etc.

  • If you don't have nodemon installed, run npm install -g nodemon*

Also, a note on the autoUpdate option - if you have autoUpdate set to true and your pi has been rebooted recently, chances are the grid is already running. Do a sudo forever list to check, and a sudo forever stopall to kill it before you run the nodemon command above.

Readme

Keywords

none

Package Sidebar

Install

npm i rbn-base

Weekly Downloads

1

Version

0.0.5

License

none

Last publish

Collaborators

  • holmesal