====== c-beam MQTT ====== 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 (or port 1882 for websockets). 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-base/BigSwitch |IP-Lounge big switch|**led**: button/bigswitch/led \\ **colors**: button/bigswitch/colors|**state**: button/bigswitch/on| |c-base/buttonpanel |Ignition button|**led**: c-boom/led \\ **vibra**: c-boom/vibra|**ignition**: c-boom/ignition \\ **start**: c-boom/start| |[[https://github.com/c-base/c_out|c_out]] |Generate sounds| n/a |**playsound**: c_out/play \\ **playrandomsound**: c_out/loop \\ **saytext**: c_out/announce \\ **saytext_en**: c_out/announce_en| |c-base/c-beam-viewer |Show URL on a public screen.|**open**: #ROLE/open|**opened**: #ROLE/opened| |crew |station crew register| n/a |**boarding**: user/boarding \\ **leaving**: user/leaving \\ **crew**: c-base/crew \\ **members**: c-base/crew/members \\ **passive**: c-base/crew/passive \\ **updated**: c-base/crew/last_update| |ingress-table/data |Ingress data fetching for the Ingress Table|**fetch**: ingress-data.FETCH \\ **poll**: ingress-data.POLL|**floor**: ingress-data.FLOOR \\ **light**: ingress-data.LIGHT \\ **streets**: ingress-data.STREETS| |c-base/dmx |station light control|**set_channels**: dmx-mainhall/state|**fixtures**: dmx-mainhall/fixtures \\ **channels**: dmx-mainhall/current_state \\ **automode**: dmx-mainhall/automode| |echelon |station network traffic monitoring| n/a |**traffic**: system/echelon/traffic| |msgflo-browser/infodisplay |Show URL on a public screen.|**open**: #ROLE.OPEN \\ **urls**: #ROLE.URLS|**opened**: #ROLE.OPENED| |[[https://github.com/c-base/ingress-table|ingress-portal]] |Portal status via Ingress Table| n/a |**status**: ingress/status/+| |ingress-table/lights |Drive the lights on the table|**streets**: ingress-lights.STREETS \\ **floor**: ingress-lights.FLOOR \\ **light**: ingress-lights.LIGHT \\ **animate**: ingress-lights.ANIMATE|**shown**: ingress-lights.SHOWN| |c-base/mqttwebview |Show URL on a public screen.|**open**: #ROLE/open|**opened**: #ROLE/opened| |c-base/music-player |c-base music player| n/a |**current_song**: megablast/current_song| |nerdctrl |c-base nerd control interface| n/a |**openurl**: nerdctrl/open| |panel |Color LED panel|**palette**: panel/#ROLE| n/a | |pedestrianlight |pedestrian traffic light|**colors**: ampel/#ROLE| n/a | |playsound |Play sounds|**playsound**: c_out/play \\ **playrandomsound**: c_out/loop \\ **saytext**: c_out/announce \\ **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| |station-announcer/StationAnnouncer |Generate random station announcements at given propability|**announce**: station-announcer.ANNOUNCE \\ **probability**: station-announcer.PROBABILITY \\ **in**: station-announcer.IN|**out**: station-announcer.OUT \\ **skipped**: station-announcer.SKIPPED| |statuslight |bar status light indicating openness|**barstatus**: bar/stateful| n/a | |time |c-base station time| n/a |**time**: info/time| |Vacuum |station vacuum cleaner| n/a |**on**: c-base/vacuum/on| 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 | ====== mqtt-sender ====== 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