Difference between revisions of "RQ"
(→Messages: Update Temperate Sensors section and message format.) |
(→IRC: updating with new payload format. captured by using mqtt.fx client and triggering an !alert in the #makerslocal irc channel) |
||
(13 intermediate revisions by 4 users not shown) | |||
Line 14: | Line 14: | ||
== MQTT Info== | == MQTT Info== | ||
− | When connecting to mqtt be sure to set your clientid to something useful like 'rqirc'. This will help to determine who is causing problems if/when they do. | + | * Currently we only support mqtt connects, and not websockets (maybe soon). |
+ | * When connecting to mqtt be sure to set your clientid to something useful like 'rqirc'. This will help to determine who is causing problems if/when they do. | ||
==== Local Host ==== | ==== Local Host ==== | ||
+ | * type: mqtt | ||
* dns: iot | * dns: iot | ||
* ip: 10.56.0.18 | * ip: 10.56.0.18 | ||
Line 22: | Line 24: | ||
==== Remote Host ==== | ==== Remote Host ==== | ||
+ | * type: mqtt | ||
* host: 256.makerslocal.org | * host: 256.makerslocal.org | ||
* port: 35801 | * port: 35801 | ||
Line 30: | Line 33: | ||
[https://github.com/itsamenathan/rqirc rqirc] will send out a message for thing like '!string'. | [https://github.com/itsamenathan/rqirc rqirc] will send out a message for thing like '!string'. | ||
example: !alert I cut my finger off | example: !alert I cut my finger off | ||
− | ml256/irc/makerslocal/command/alert {"command":"alert", " | + | ml256/irc/makerslocal/command/alert {"command":"alert","nick":"jimshoe","channel":"#makerslocal","message":"I cut my finger off"} |
example: !shopstatus | example: !shopstatus | ||
Line 36: | Line 39: | ||
==== Temperature Sensors ==== | ==== Temperature Sensors ==== | ||
− | Six Synapse RM-150 wireless temperature sensors are placed around the building that check in every five minutes. | + | Six Synapse Wireless Inc. RM-150 (unreleased & not-supported) wireless temperature sensors are placed around the building that check in every five minutes. They are currently located in the "kitchen", "office", "loft", "memberstorage", "fablab", and "tool" areas. The RM-150 in "memberstorage" has an additional external k-type themocouple input connected on "ext0". |
Ambient temperature in tool area: | Ambient temperature in tool area: | ||
− | ml256/tool/temp/ambient {"temperature": | + | ml256/tool/temp/ambient {"units": "f", "sensor": "ambient", "temperature": 84.56, "location": "tool"} |
Ambient temperature in the fablab: | Ambient temperature in the fablab: | ||
− | ml256/ | + | ml256/kitchen/temp/ambient {"units": "f", "sensor": "ambient", "temperature": 83.66, "location": "kitchen"} |
External thermocouple sensor temperature in member storage: | External thermocouple sensor temperature in member storage: | ||
− | ml256/memberstorage/temp/ext0 {"temperature": | + | ml256/memberstorage/temp/ext0 {"units": "f", "sensor": "ext0", "temperature": 84.91999999999999, "location": "memberstorage"} |
==== Wiki Changes ==== | ==== Wiki Changes ==== | ||
− | + | The wiki is using [https://www.mediawiki.org/wiki/Extension:XMLRC XMLRC] plugin to send an xml message out over udp. Currently this is happing from remote->dev. On dev a small nodejs script is running that is converting the XML to JSON and sending it out over mqtt. | |
+ | |||
+ | ml256/wiki/changes | ||
+ | { | ||
+ | "type":"edit", | ||
+ | "ns":"2", | ||
+ | "title":"User:Jimshoe", | ||
+ | "rcid":"20018", | ||
+ | "pageid":"1716", | ||
+ | "revid":"19945", | ||
+ | "old_revid":"19938", | ||
+ | "user":"Jimshoe", | ||
+ | "oldlen":"1147", | ||
+ | "newlen":"1146", | ||
+ | "timestamp":"2016-04-17T03:14:28Z", | ||
+ | "comment":"spaces", | ||
+ | "wikiid":"wikidb" | ||
+ | } | ||
+ | |||
+ | ==== Big Sign ==== | ||
+ | This is the big sign at the shop. | ||
+ | ml256/bigsign/alert {"source": "itsamenathan", "message": "this is only a test"} | ||
+ | |||
+ | ==== CasCADE ==== | ||
+ | This is the change machine at the shop. | ||
+ | |||
+ | Emitted when a withdrawal is made: | ||
+ | ml256/cascade/withdrawal {"user": "tylercrumpton", "amount": 0.50} | ||
+ | Also emitted when a withdrawal is made: | ||
+ | ml256/cascade/bank {"funds": 23.50} | ||
+ | Some errors are also emitted: | ||
+ | ml256/cascade/error {"error": "NO_MACHINE_FUNDS", "message": "Machine funds are depleted."} | ||
+ | ml256/cascade/error {"error": "NO_USER_FOUND", "message": "No user with that ID was found."} | ||
+ | |||
+ | ==== Events ==== | ||
+ | This is a message sent from [https://github.com/makerslocal/eventwitter eventwitter] | ||
+ | |||
+ | ml256/event/reminder | ||
+ | { | ||
+ | "type": "VEVENT", | ||
+ | "params": [], | ||
+ | "start": "2016-05-10T23:30:00.000Z", | ||
+ | "end": "2016-05-11T02:00:00.000Z", | ||
+ | "uid": "19SAp3aKyx2KXESnxLzpFA", | ||
+ | "summary": "Workshop Safety Class", | ||
+ | "url": "http://ml256.org/w34w", | ||
+ | "description": "http://ml256.org/w34w", | ||
+ | "msg": "week" | ||
+ | } | ||
== History == | == History == |
Latest revision as of 23:24, 22 February 2019
Contents
[hide]Overview
Redqueen is a way to pass messages between all the iot devices we have at the shop in a way that is documented and expected.
Network Setup
We currently have two mqtt brokers setup, one that is local to the shop and is wide open for anything to send/receive. The other broker is located on our remote webserver and is exposed publicly with SSL and a username/password, meaning you will need to ask an Admin for access. All messages are mirrored between the brokers.
Local only Available from outside -------------- -------------------------- | iot server | <----> | remote.makerslocal.org | -------------- --------------------------
Messages
Messages will be send in 1st person. As in "I (door) changed my status to open.". This is different than "Hey you, door....OPEN!".
MQTT Info
- Currently we only support mqtt connects, and not websockets (maybe soon).
- When connecting to mqtt be sure to set your clientid to something useful like 'rqirc'. This will help to determine who is causing problems if/when they do.
Local Host
- type: mqtt
- dns: iot
- ip: 10.56.0.18
- port: default, 1883
- user/pass: Not needed
Remote Host
- type: mqtt
- host: 256.makerslocal.org
- port: 35801
- user/pass: Ask admin for access
Messages
IRC
rqirc will send out a message for thing like '!string'.
example: !alert I cut my finger off ml256/irc/makerslocal/command/alert {"command":"alert","nick":"jimshoe","channel":"#makerslocal","message":"I cut my finger off"} example: !shopstatus ml256/irc/gen/command/shopstatus {"command":"shopstatus", "channel":"##gen", "user":"tylercrumpton", "message":""}
Temperature Sensors
Six Synapse Wireless Inc. RM-150 (unreleased & not-supported) wireless temperature sensors are placed around the building that check in every five minutes. They are currently located in the "kitchen", "office", "loft", "memberstorage", "fablab", and "tool" areas. The RM-150 in "memberstorage" has an additional external k-type themocouple input connected on "ext0".
Ambient temperature in tool area:
ml256/tool/temp/ambient {"units": "f", "sensor": "ambient", "temperature": 84.56, "location": "tool"}
Ambient temperature in the fablab:
ml256/kitchen/temp/ambient {"units": "f", "sensor": "ambient", "temperature": 83.66, "location": "kitchen"}
External thermocouple sensor temperature in member storage:
ml256/memberstorage/temp/ext0 {"units": "f", "sensor": "ext0", "temperature": 84.91999999999999, "location": "memberstorage"}
Wiki Changes
The wiki is using XMLRC plugin to send an xml message out over udp. Currently this is happing from remote->dev. On dev a small nodejs script is running that is converting the XML to JSON and sending it out over mqtt.
ml256/wiki/changes { "type":"edit", "ns":"2", "title":"User:Jimshoe", "rcid":"20018", "pageid":"1716", "revid":"19945", "old_revid":"19938", "user":"Jimshoe", "oldlen":"1147", "newlen":"1146", "timestamp":"2016-04-17T03:14:28Z", "comment":"spaces", "wikiid":"wikidb" }
Big Sign
This is the big sign at the shop.
ml256/bigsign/alert {"source": "itsamenathan", "message": "this is only a test"}
CasCADE
This is the change machine at the shop.
Emitted when a withdrawal is made:
ml256/cascade/withdrawal {"user": "tylercrumpton", "amount": 0.50}
Also emitted when a withdrawal is made:
ml256/cascade/bank {"funds": 23.50}
Some errors are also emitted:
ml256/cascade/error {"error": "NO_MACHINE_FUNDS", "message": "Machine funds are depleted."} ml256/cascade/error {"error": "NO_USER_FOUND", "message": "No user with that ID was found."}
Events
This is a message sent from eventwitter
ml256/event/reminder { "type": "VEVENT", "params": [], "start": "2016-05-10T23:30:00.000Z", "end": "2016-05-11T02:00:00.000Z", "uid": "19SAp3aKyx2KXESnxLzpFA", "summary": "Workshop Safety Class", "url": "http://ml256.org/w34w", "description": "http://ml256.org/w34w", "msg": "week" }
History
This is the documentation for the current version of RedQueen. RedQueen is a documented way to pass messages between devices inside and outside the shop. We have gone through a few versions.