Skip to content

Commit 50203f3

Browse files
committed
Add mdWiki
1 parent 1e24edf commit 50203f3

27 files changed

+855
-0
lines changed

Diff for: LICENSE.txt

+48
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
MDwiki is licensed under the terms of the GNU AGPLv3 with additional terms and
2+
linking exceptions. The AGPLv3 license text can be found in the AGPLv3.txt file, the
3+
additional terms are given below this paragraph.
4+
5+
Linking exceptions
6+
------------------
7+
8+
In addition to the terms in the AGPLv3 the following linking exceptions apply:
9+
10+
The authors of this work grant the rights to dynamically link against the below
11+
listed external sources or binaries during runtime, as an exception to the terms of
12+
the GNU AGPLv3, under the terms that none of that linked code shall be deemed part of
13+
this work, or a derivative work of this work, and as such are not required to meet
14+
the license terms of the AGPLv3 and as such are not covered by the terms of the AGPLv3
15+
when conveying this work.
16+
17+
The full and exhaustive list of those sources excepted from the AGPLv3 are:
18+
19+
* The Google Maps API v3 located at: http://maps.google.com/maps/api/js
20+
* The twitter "follow button" widget located at http://platform.twitter.com/widgets.js
21+
* The GitHub Gist API located at http://gist.github.com/{id}.js. This applies only to
22+
the javascript coded issues by GitHub Inc. and explicitly does not apply to the
23+
content of any GitHub gist.
24+
* The disqus API located at http://<name>.disqus.com/embed.js where <name> is the
25+
userid of the forum.
26+
27+
28+
Additional terms to AGPLv3
29+
-------------------------
30+
31+
In compliance with section 7 of the GNU AGPLv3 the following additional terms apply:
32+
33+
a) The contained and displayed copyright attribution footer notice may not be removed,
34+
modified, altered or styled, or being removed, modified, altered or styled by
35+
external software (scripts, stylesheets, filters) in a way that would considerably
36+
affect visibility or readability of the notice to the user or any third party that
37+
uses the software locally or over the network; this especially includes resizing,
38+
overlaying, hiding or similar techniques.
39+
40+
b) You may adjust or style the copyright footer to suit the appearance or layout of
41+
your website, as long as this does not violate the terms given in section (a)
42+
43+
c) Attribution hyperlinks in the footer have to be kept unaltered.
44+
45+
d) You may add your name to the list of copyright holder(s) in the footer if you make
46+
changes to the work, keeping intact all other copyright holder names
47+
48+
e) Changes to these terms require written permission by the copyright holder(s).

Diff for: README.md

+232
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,232 @@
1+
# Heroic Unix Pipes connecting your devices to the Internet!
2+
3+
<img src=images/pipebot-example2.gif width=100% style="border: none">
4+
5+
6+
7+
8+
9+
10+
11+
## Why Unix Pipes?
12+
The Unix Pipe is a universal standard for connecting two programs. Below you will find programs pulling data from devices and programs for push data to databases that you can mix and match connecting them using the Unix Pipe on something like the $35 Raspberry Pi computer.
13+
14+
15+
16+
17+
18+
19+
20+
## Devices
21+
22+
23+
#### Raspberry Pi Temperature
24+
Pull the temperature from the Raspberry Pi's temperature sensor on the CPU.
25+
26+
- URL: https://github.com/PipeBots/pipebot-raspberry-pi-cpu-temperature-cli
27+
- Download: https://github.com/PipeBots/pipebot-raspberry-pi-cpu-temperature-cli/archive/0.0.0.zip
28+
29+
30+
#### 1-wire temperature sensor
31+
- URL: https://github.com/openpipekit/opk-1-wire-cli
32+
- Download: https://github.com/openpipekit/opk-1-wire-cli/archive/4.tar.gz
33+
34+
35+
#### Arduino Firmata adaptor
36+
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.
37+
38+
- URL: https://github.com/jywarren/opk-firmata-cli
39+
40+
41+
#### SHT1x humidity/temperature sensor
42+
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
43+
44+
- URL: https://github.com/jywarren/opk-sht1x-cli
45+
46+
47+
#### Thermofisher PDR1500 dust sensor
48+
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
49+
50+
- URL: https://github.com/jywarren/opk-thermofisher-pdr1500-cli/
51+
52+
53+
#### Dylos dust sensor
54+
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
55+
56+
- URL: https://github.com/jywarren/opk-dylos-cli
57+
- Download: https://github.com/jywarren/opk-dylos-cli/archive/v0.0.1.tar.gz
58+
59+
60+
#### Speck dust sensor
61+
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
62+
63+
- URL: https://github.com/jywarren/opk-speck-cli/
64+
65+
66+
#### Shinyei PPD42 Dust Sensor
67+
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
68+
69+
- URL: https://github.com/jywarren/opk-shinyei-ppd42-cli/
70+
71+
72+
#### Temper1 Waterproof Temperature Sensor
73+
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!
74+
75+
- URL: https://github.com/openpipekit/opk-cli--temper1
76+
- Download: https://github.com/openpipekit/opk-cli--temper1/archive/0.5.0.tar.gz
77+
78+
79+
#### Grove DHT Pro Humidity for GrovePi
80+
- URL: https://github.com/openpipekit/opk-cli--grove-dht-pro-humidity
81+
- Download: https://github.com/openpipekit/opk-cli--grove-dht-pro-humidity/archive/0.1.0.tar.gz
82+
83+
84+
#### Grove DHT Pro Temperature for GrovePi
85+
- URL: https://github.com/openpipekit/opk-cli--grove-dht-pro-temperature
86+
- Download: https://github.com/openpipekit/opk-cli--grove-dht-pro-temperature/archive/0.1.0.tar.gz
87+
88+
89+
#### TI Sensor Tag
90+
Wireless Bluetooth device with IR Temperature Sensor, Humidity Sensor, Pressure Sensor, Accelerometer, Gyroscope, Magnetometer.
91+
92+
- URL: https://github.com/openpipekit/opk-cli--sensortag
93+
- Download: https://github.com/openpipekit/opk-cli--sensortag/archive/0.2.0.tar.gz
94+
95+
96+
#### Yoctopuce USB Temperature Sensor
97+
A USB temperature sensor from Yoctopuce http://www.yoctopuce.com/EN/products/usb-environmental-sensors/yocto-temperature
98+
99+
- URL: https://github.com/openpipekit/opk-cli--yoctopuce-temperature
100+
- Download: https://github.com/openpipekit/opk-cli--yoctopuce-temperature/archive/0.1.0.tar.gz
101+
102+
103+
104+
105+
106+
107+
## Databases
108+
109+
110+
#### Spreadsheet on your USB Drive
111+
A CLI for saving data to CSV so it can be opened in Excel, Libre Office, or Google Sheets.
112+
113+
- URL: https://github.com/openpipekit/opk-cli--simple-csv
114+
- Download: https://github.com/openpipekit/opk-cli--simple-csv/archive/0.2.0.tar.gz
115+
116+
117+
#### Adafruit IO
118+
- URL: https://github.com/openpipekit/opk-cli--adafruit-io
119+
- Download: https://github.com/PipeBots/pipebot-adafruit-io-cli/archive/0.1.0.zip
120+
121+
122+
#### Google Sheets by Cloudstitch
123+
Push to a Google Sheet using your Cloudstitch project.
124+
125+
- URL: https://github.com/openpipekit/opk-cli--cloudstitch-google-sheets
126+
- Download: https://github.com/openpipekit/opk-cli--cloudstitch-google-sheets/archive/0.4.0.tar.gz
127+
128+
129+
#### FarmOS
130+
- URL: https://github.com/rjsteinert/opk-cli--farmos
131+
- Download: https://github.com/rjsteinert/opk-cli--farmos/archive/0.1.0.tar.gz
132+
133+
134+
#### Dat: versioned data, collaborated
135+
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.
136+
137+
- URL: https://github.com/openpipekit/opk-cli--dat
138+
- Download: https://github.com/openpipekit/opk-cli--dat/archive/v0.0.1.tar.gz
139+
140+
141+
#### Fido: email alerts if out of bounds
142+
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.
143+
144+
- URL: https://github.com/openpipekit/opk-cli--fido
145+
- Download: https://github.com/openpipekit/opk-cli--fido/archive/v0.2.0.tar.gz
146+
147+
148+
#### Phant online: try data.sparkfun.com
149+
- URL: https://github.com/openpipekit/opk-cli--phant
150+
- Download: https://github.com/openpipekit/opk-cli--phant/archive/0.5.0.tar.gz
151+
152+
153+
#### Drupal Thing API
154+
- URL: https://github.com/openpipekit/opk-cli--drupal-thing
155+
- Download: https://github.com/openpipekit/opk-cli--drupal-thing/archive/0.0.2.tar.gz
156+
157+
158+
#### CouchDB
159+
- URL: https://github.com/openpipekit/opk-cli--couchdb
160+
- Download: https://github.com/openpipekit/opk-cli--couchdb/archive/0.0.0.tar.gz
161+
162+
163+
164+
165+
166+
167+
168+
169+
170+
171+
172+
173+
174+
175+
176+
177+
178+
179+
## Standards
180+
Each command must have a `--help` option and we recommend help output follows the docopt standard (http://docopt.org/).
181+
182+
183+
#### pull command
184+
A `pull` command for getting a single reading of one or more sensors on a device.
185+
186+
- Issuing a pull command will print a value on a new line and then exit.
187+
- If there are more than one sensor values returned,
188+
189+
190+
#### stream command
191+
A `stream` command for getting multipe readings of one or more sensors on a device. When a line is returned is up to the logic of the `stream` program.
192+
193+
- Event based sensors make sense to stream as opposed to issuing a `pull` at an arbitrary interval that may miss events.
194+
- Stream commands do not exit after returning a value but instead keep alive.
195+
- Every new value is delimited by a new line.
196+
197+
198+
#### detect command
199+
A `detect` command to detect the Sensor IDs available on a device.
200+
201+
202+
#### push command
203+
A `push` command for sending one or more sensor values to a database. Compatible with piping from both `pull` and `stream`.
204+
205+
- Accepts input over a `--value=<value>` option or over STDIN (`echo "42" | ./database-cli/push`).
206+
- `push` commands exit immediately after completing execution when using the `value` parameter.
207+
- `push` receiving input over a pipe only exit when they receive an exit code over the pipe from another command.
208+
- Support `stream` command by looking for values on new lines.
209+
- When the database requires a schema and at least one field name, use the `--field_name=<field_name>` option. To keep thing simple for now, we take a schemaless approach. See experimental specifications below for schema based approaches.
210+
211+
212+
#### install command
213+
An `install` install command for initialization of required environment variables and downloading of dependencies.
214+
215+
- An install command for initialization of required environment variables and downloading of dependencies.
216+
217+
218+
#### onboot command
219+
An `onboot` command for things that need to be done every time a machine boots and before the push or pull commands are used.
220+
221+
222+
223+
224+
225+
226+
227+
## Get involved
228+
* [Email Forum on Google Groups](https://groups.google.com/forum/#!forum/open-pipe-kit)
229+
* [Live Chat on Gitter](https://gitter.im/openpipekit/openpipekit)
230+
* [Monthly Hangout, first thursday at 8pm ET](https://plus.google.com/hangouts/_/rjsteinert.com/open-pipe-kit)
231+
* [Research Notes tagged on Public Lab](https://publiclab.org/tag/open-pipe-kit)
232+
* [Forum posts tagged on Farm Hack]()

Diff for: blog.md

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Open Pipe Kit Blog
2+
[preview:3](knight-foundation-prototype-demo-day.md)

Diff for: build-a-raspberry-pipebot.md

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
2+
# Build a Raspberry PipeBot
3+
Here are the basic parts for a PipeBot. Most parts can be swapped out if you know what you are doing. Check out the [Guides](guides.md) for inspiration.
4+
- [Raspberry Pi 2 Model B](http://www.mcmelectronics.com/content/en-US/raspberry-pi)
5+
- [Raspberry Pi Case](http://www.amazon.com/Official-Raspberry-Foundation-Case-Model/dp/B00ZS26ZJA/ref=sr_1_1?ie=UTF8&qid=1444957520&sr=8-1&keywords=Official+raspberry+pi+2+model+b+case)
6+
- [Micro SD Card](http://goo.gl/xXPZuX) with [Pirateship for Pi](http://openpipekit.github.io/pirate.sh/#!index.md)
7+
- [USB Power Supply](http://www.microcenter.com/product/441187/Micro-USB_Power_Supply_for_Raspberry_Pi_B_with_Built-in_4ft_Cable_-_2_Amp)
8+
- [A WiFi USB Dongle if you need it](http://www.microcenter.com/product/361805/150Mbps_Wireless_N_USB_Adapter)
9+
- [USB Flash Drive](http://www.microcenter.com/product/281032/16GB_USB_20_Flash_Drive)
10+
11+
![](images/opk.jpg)
12+
13+

0 commit comments

Comments
 (0)