Things Bus: Difference between revisions
From Pumping Station One
m Bot: Cosmetic changes |
|||
| Line 10: | Line 10: | ||
There are 3 basic node types in things bus: | There are 3 basic node types in things bus: | ||
* Sensors. | * Sensors. Sensors produce data | ||
* Actuators. | * Actuators. Data Sinks consume data, and probably do something interesting with it. | ||
* Neurons. | * Neurons. Neurons take in sensory data, manipulate it in some way, and send the data to actuators. | ||
=== Sensors === | === Sensors === | ||
A simple of an example of a sensor would be a temperature sense in the space. | A simple of an example of a sensor would be a temperature sense in the space. A temperature sensor would be a Raspberry Pi hooked into a temperature sense, and would send out the current temperature every 5 minutes. | ||
Sensors make data available by using a zmq bind PUB socket. | Sensors make data available by using a zmq bind PUB socket. | ||
| Line 22: | Line 22: | ||
=== Actuators === | === Actuators === | ||
An Actuator is something that, when triggered, does something. | An Actuator is something that, when triggered, does something. It doesn't have to be physical. An actuator could be as simple as an led wired into a Raspberry Pi that can be triggered by a Neuron. | ||
Actuators consume data by using a zmq bind PULL socket | Actuators consume data by using a zmq bind PULL socket | ||
| Line 41: | Line 41: | ||
Examples: | Examples: | ||
* | * A Dust Collection Node would likely be both a sensor (Is it on?) and an actuator (Turn it on) | ||
== A Simple Example == | == A Simple Example == | ||
The following is an example of a Neuron. | The following is an example of a Neuron. It connects to sensory input, the hackerpspace's front and back doors, and sense data to an actuator, zirc, an actuator that writes data to #pumpingstationone on irc.freenode.net | ||
Before running the example, you must have a recent python, recent libzmq installed, and must have pyzmq installed. | Before running the example, you must have a recent python, recent libzmq installed, and must have pyzmq installed. | ||
| Line 77: | Line 77: | ||
== Hardware == | == Hardware == | ||
We are targetting Beagle Bone Blacks for node hardware. | We are targetting Beagle Bone Blacks for node hardware. While in theory, the hardware can be anything, having a consistent dev platform is useful. | ||
The BBB has 2 blocks of GPIO lines, and the capability of supporting up to 4 Serial devices. A lot of the types of data we want to collect are available over gpio and serial. | The BBB has 2 blocks of GPIO lines, and the capability of supporting up to 4 Serial devices. A lot of the types of data we want to collect are available over gpio and serial. | ||
==Things Bus Broker == | == Things Bus Broker == | ||
For certain types of nodes, a broker that maintains state is useful. | For certain types of nodes, a broker that maintains state is useful. | ||
For details of this system, see https://github.com/eastein/thingsbus | For details of this system, see https://github.com/eastein/thingsbus | ||