Skip to content

Latest commit

 

History

History
224 lines (106 loc) · 7.78 KB

File metadata and controls

224 lines (106 loc) · 7.78 KB

Turn your Raspberry Pi into a gateway for your devices to the Internet of Things

Why Unix Pipes?

The Unix Pipe is a universal standard for connecting two programs. Below you will find programs for pulling data from devices/sensors and programs for pushing data to databases that you can mix and match by connecting them with a Unix Pipe on something like the $35 Raspberry Pi computer.

Devices / Sensors Programs

Raspberry Pi Temperature

Pull the temperature from the Raspberry Pi's temperature sensor on the CPU.

1-wire temperature sensor

A common inexpesnsive digital sensor that allows multiple sensors to connect to a single GPIO pin

Arduino Firmata adaptor

An Open Pipe Kit command line interface to any Arduino using the Firmata firmware, which is connected to any sensor via analog, digital, i2c etc interface. By Jeff Warren of Public Lab.

SHT1x humidity/temperature sensor

Open Pipe Kit driver for SHT1x humidity/temperature sensors for Raspberry Pi, based on pi-sht1x node library, built for Public Lab's Particle Sensing project: http://publiclab.org/wiki/particle-sensing

Thermofisher PDR1500 dust sensor

An Open Pipe Kit command line interface for interacting with the ThermoFisher pDR-1500 optical dust sensor over USB, built for Public Lab's Particle Sensing project: http://publiclab.org/wiki/particle-sensing

Dylos dust sensor

An Open Pipe Kit command line interface for interacting with the Dylos DC1100 optical dust sensor over USB, built for Public Lab's Particle Sensing project: http://publiclab.org/wiki/particle-sensing

Speck dust sensor

An Open Pipe Kit command line interface for interacting with the CMU Create Lab's Speck optical dust sensor, built for Public Lab's Particle Sensing project: http://publiclab.org/wiki/particle-sensing

Shinyei PPD42 Dust Sensor

An Open Pipe Kit command line interface for interacting with the Shinyei PPD42 optical dust sensor, built for Public Lab's Particle Sensing project: http://publiclab.org/wiki/particle-sensing

Temper1 Waterproof Temperature Sensor

This is our classic temperature sensor for $16. Unfortunately it was discontinued recently in favor of the temper2 sensor. We have a temper2 on the way and we'll test to see if this driver works with it. In the meantime, if you have a temper1 USB sensor, give this a try!

Grove DHT Pro Humidity for GrovePi

Grove DHT Pro Temperature for GrovePi

TI Sensor Tag

Wireless Bluetooth device with IR Temperature Sensor, Humidity Sensor, Pressure Sensor, Accelerometer, Gyroscope, Magnetometer.

Yoctopuce USB Temperature Sensor

A USB temperature sensor from Yoctopuce http://www.yoctopuce.com/EN/products/usb-environmental-sensors/yocto-temperature

Database Programs

Spreadsheets

A CLI for saving data to CSV (Excel) so it can be opened in Excel, Libre Office, or Google Sheets.

Adafruit IO

Nice free web based dashboard.

Google Sheets by Cloudstitch

Push to a Google Sheet using your Cloudstitch project.

FarmOS

Dat: versioned data, collaborated

A CLI for a Dat database http://dat-data.com/. Dat is a version-controlled, decentralized data tool for collaboration between data people and data systems.

Fido: email alerts if out of bounds

A push CLI that will send an email if piped value is over maximum and under minimum. The email will only trigger once for every time the piped value is in range and then goes out of range.

Phant online: try data.sparkfun.com

Drupal Thing API

CouchDB

What makes an Open Pipe Kit program?

A bundle of commands actually. We recommend creating folder of executable commands for your device or database. See below what each command can be.

pull command

A pull command for getting the values of one or more sensors on a device.

  • Issuing a pull command will print a value on a new line and then exit.
  • Output must be in JSON like {"sensor1": 42, "sensor2": 99}.
  • If your device is the kind that prefers to send data over when it feels like it, feel free to not exit and delimit each reading on a new line.

detect command

A detect command to detect the Sensor IDs available on a device.

push command

A push command for sending one or more sensor values to a database. Compatible with piping from both pull and stream.

  • Accepts input over STDIN from a pipe (echo '{"sensor1": 42}' | ./database-cli/push).
  • push only exits when an exit code is received.

install command

An install command for initialization of required environment variables and downloading of dependencies.

onboot command

An onboot command for things that need to be done every time a machine boots and before the push or pull commands are used.

Get involved