This is an old revision of the document!
MQTT is a machine-to-machine (M2M)/“Internet of Things” connectivity protocol. see: http://mqtt.org
We are running a mqtt server on c-beam.cbrp3.c-base.org on port 1883. It's only reachable from the internal network.
An up-to-date listing of artefacts and their topics can be found from https://github.com/c-base/c-flo/tree/master/participants
The content of the current participant folder (updated by running a grunt createMarkup command in c-flo)
artifact | description | inports topic | outports topic |
---|---|---|---|
barstatus | c-base bar status switch | n/a | state: bar/state stateful: bar/stateful status: bar/status |
c_out | Generate sounds | n/a | playsound: c_out/play playrandomsound: c_out/loop saytext: c_out/Julia saytext_en: c_out/announce_en |
crew | station crew register | n/a | boarding: user/boarding crew: c-base/crew members: c-base/crew/members passive: c-base/crew/passive updated: c-base/crew/last_update |
ingress-portal | Portal status via Ingress Table | n/a | status: ingress/status/+ |
nerdctrl | c-base nerd control interface | n/a | openurl: nerdctrl/open |
pedestrianlight | pedestrian traffic light | colors: ampel/#ROLE | n/a |
playsound | Play sounds | playsound: c_out/play playrandomsound: c_out/loop saytext: c_out/Julia saytext_en: c_out/announce_en | n/a |
powermon | station power usage monitoring | n/a | out: system/powermon load: system/powermon/load counter: system/powermon/counter updated: system/powermon/last_update |
showurl | Display web page in a screen | show: #ROLE/open | n/a |
statuslight | bar status light indicating openness | barstatus: bar/stateful | n/a |
time | c-base station time | n/a | time: info/time |
Currently there are the following topics:
topic | interval | description |
---|---|---|
ampel/mainhall | n/a | wie, ampel nerd, aber zusätzlich noch mit Gelb: {“red”: 1, “green”: 1, “yellow”: 1} |
ampel/nerd | n/a | Beispiel JSON-Daten für die Message: '{“red”: 1, “green”: 0}' |
c-base/crew | 15 minutes | all of the below crew data |
c-base/crew/members | 15 minutes | crew member count |
c-base/crew/last_update | 15 minutes | ISO timestamp of the last update of the power data |
c-base/crew/passive | 15 minutes | number of passive members |
c_out/loop | 10 minutes | starts a new sound loop on c_out |
c_out/play | n/a | playload plays various sound samples |
c_out/Julia | n/a | playload plays announcements on c_out via tts with voice Julia |
client/echelon | n/a | this is a retained topic, if it is available, the traffic stats script on echelon is running |
info/time | 1 minute | current date and time |
ingress/status/+ | n/a | these are retained topics and show status of the ingres portals around the c-base |
nerdctrl/open | n/a | opens the payload URL in a browser in the nerdarea |
system/echelon/traffic | 1 minute | average incoming and outgoing traffic on ipb and kdg lines from echelon in bytes/s since last message |
system/powermon | 15 seconds | all of the below power data |
system/powermon/counter | 15 seconds | estimated power meter counter |
system/powermon/last_update | 15 seconds | ISO timestamp of the last update of the power data |
system/powermon/load | 15 seconds | current (estimated) power load in watts |
system/powermon/load_low | 15 seconds | lowest power load in watts |
system/powermon/load_low_date | 15 seconds | date lowest power load in watts was seen last |
system/powermon/load_high | 15 seconds | highest power load in watts |
system/powermon/load_high_date | 15 seconds | date highest power load in watts was seen last |
system/powermon/raw | 15 seconds | raw data from the LS110 |
user/boarding | n/a | triggered when a member logs in, message contains the username in JSON format |
The topics from echelon are published with a small lua daemon, which can be easily extended. Check it out from: https://github.com/c-base/mqtt-sender