Line 10: |
Line 10: |
| There are 3 basic node types in things bus: | | There are 3 basic node types in things bus: |
| | | |
− | * Sensors. Sensors produce data | + | * Sensors. Sensors produce data |
− | * Actuators. Data Sinks consume data, and probably do something interesting with it. | + | * Actuators. Data Sinks consume data, and probably do something interesting with it. |
− | * Neurons. Neurons take in sensory data, manipulate it in some way, and send the data to actuators. | + | * 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 temperature sensor would be a Raspberry Pi hooked into a temperature sense, and would send out the current temperature every 5 minutes. | + | 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. 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. | + | 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 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. 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 | + | 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. While in theory, the hardware can be anything, having a consistent dev platform is useful. | + | 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 |
| | | |