Difference between revisions of "Things Bus"
Line 2: | Line 2: | ||
− | = Alpha Quality: thingsbus python + zeromq system = | + | == Alpha Quality: thingsbus python + zeromq system == |
For details of this system, see https://github.com/eastein/thingsbus - more documentation to be filled in here later. | For details of this system, see https://github.com/eastein/thingsbus - more documentation to be filled in here later. | ||
− | = Already Integrated = | + | == Already Integrated == |
See [https://wiki.pumpingstationone.org/Category:Things_Bus_Data_Sources things bus data sources] for things we already integrated with Things Bus. | See [https://wiki.pumpingstationone.org/Category:Things_Bus_Data_Sources things bus data sources] for things we already integrated with Things Bus. | ||
− | = Things We Want To Integrate = | + | == Things We Want To Integrate == |
Status notices should be published so that consumers can subscribe to sections of the space that they are interested in for example: | Status notices should be published so that consumers can subscribe to sections of the space that they are interested in for example: | ||
Line 70: | Line 70: | ||
See [https://wiki.pumpingstationone.org/Category:Future_Things_Bus_Data_Sources future things bus data sources] for things to be integrated with Things Bus. | See [https://wiki.pumpingstationone.org/Category:Future_Things_Bus_Data_Sources future things bus data sources] for things to be integrated with Things Bus. | ||
− | = Future Features = | + | == Future Features == |
− | == Issuing commands == | + | === Issuing commands === |
Commands for items should be sent to a queue, the controller/interface for the time should be subscribed to the queue and process the commands, queues should be laid out in a similar way to topics. Messages should also be json and well formed and documented. | Commands for items should be sent to a queue, the controller/interface for the time should be subscribed to the queue and process the commands, queues should be laid out in a similar way to topics. Messages should also be json and well formed and documented. | ||
− | + | == Examples == | |
− | + | === Dust collector status messages === | |
Transmitted to: /topic/PS1/Workshop/WoodShop/DustCollector | Transmitted to: /topic/PS1/Workshop/WoodShop/DustCollector | ||
Line 98: | Line 98: | ||
</pre> | </pre> | ||
− | + | === Dust collector commands === | |
Transmitted to: /queue/PS1/Workshop/WoodShop/DustCollector | Transmitted to: /queue/PS1/Workshop/WoodShop/DustCollector |
Revision as of 03:54, 12 January 2015
We want to make a super-easy-to-integrate-with way to handle sensors and actuators around the space.
Alpha Quality: thingsbus python + zeromq system
For details of this system, see https://github.com/eastein/thingsbus - more documentation to be filled in here later.
Already Integrated
See things bus data sources for things we already integrated with Things Bus.
Things We Want To Integrate
Status notices should be published so that consumers can subscribe to sections of the space that they are interested in for example:
- Workshop
- AC
- Extraction
- ColdMetals
- Bandsaw
- Bridgeport
- BridgeportCNC
- Lathe
- HotMetals
- Forge
- Lincoln100
- Lincoln125
- ArgonTank
- WoodShop
- Dustcollector
- Dustmeter
- sawstop
- bandsaw
- CNC
- Taz
- AO-100
- ShopBot
- Electronics
- Projector
- Lounge
- AC
- Projector
- Bar
- Kitchen
- BrewFridge
- Fridge
- Stove
- General Area
- Doors
- Front
- Front Doorbell
- Rear
- Lounge - Front and back
- Starewell - Top and bottom
- Bathrooms
- Front
- Lights
- A/C & Heat
- Doors
- Workshop
- Forge
- Dust Collector
- LN2 Scale
- Systems
- Chillmon
- Schedmon
- DHCP
- Netlogon
- Access control
See future things bus data sources for things to be integrated with Things Bus.
Future Features
Issuing commands
Commands for items should be sent to a queue, the controller/interface for the time should be subscribed to the queue and process the commands, queues should be laid out in a similar way to topics. Messages should also be json and well formed and documented.
Examples
Dust collector status messages
Transmitted to: /topic/PS1/Workshop/WoodShop/DustCollector
On event:
{ "source": "DustCollection", "location": "workshop", "messageType": "status", "status": "Dust collector turned on", "transition": true }
Periodic status:
{ "source": "DustCollection", "location": "workshop", "messageType": "status", "status": "Dust collector active", "transition": false }
Off event:
{ "source": "DustCollection", "location": "workshop", "messageType": "status", "status": "Dust collector turned off", "transition": fase }
Dust collector commands
Transmitted to: /queue/PS1/Workshop/WoodShop/DustCollector
Turn system on:
{ "target": "DustCollection", "location": "workshop", "messageType": "command", "command": "on"}
Turn system off:
{ "target": "DustCollection", "location": "workshop", "messageType": "command", "command": "off"}
References
The thread that started this off: https://groups.google.com/forum/#!topic/pumping-station-one/ogqSHK08DAI
Other Links
https://wiki.muc.ccc.de/uberbus:start?redirect=1
https://wiki.muc.ccc.de/uberbus:ubd
https://wiki.muc.ccc.de/uberbus:protocols
http://stackoverflow.com/questions/1534655/creating-a-program-to-be-broadcasted-by-avahi