Projects/MQTT: Difference between revisions
< Projects
No edit summary |
No edit summary |
||
Line 25: | Line 25: | ||
* bitlair/temperature/<room>/target <ingestelde temperatuur in celsius> | * bitlair/temperature/<room>/target <ingestelde temperatuur in celsius> | ||
* bitlair/humidity/<room> <luchtvochtigheid in procenten> | * bitlair/humidity/<room> <luchtvochtigheid in procenten> | ||
* bitlair/flash | |||
* bitlair/test/# ... | * bitlair/test/# ... | ||
Line 43: | Line 44: | ||
== Scripts == | == Scripts == | ||
Voor scripts in gebruik en voorbeelden, zie: https://github.com/bitlair/mqtt-scripts | Voor scripts in gebruik en voorbeelden, zie: https://github.com/bitlair/mqtt-scripts | ||
Het is ook mogelijk om via een EventStream de status bij te houden: | |||
<pre> | |||
var s = new EventSource('https://bitlair.nl/mqtt?bitlair/%23=bitlair'); | |||
s.addEventListener('bitlair', function (e) { | |||
var json = JSON.parse(e.data); | |||
var topic = json[0]; | |||
var value = json[1]; | |||
var retain = json[2]; | |||
console.log(topic, value, retain ? 'r' : '_'); | |||
}); | |||
</pre> | |||
Zie ook: https://github.com/Juerd/mqtt2web |
Revision as of 16:42, 2 April 2017
Project MQTT | |
---|---|
Name | MQTT |
Start | 2016/09/16 |
End | |
Contact | User:Polyfloyd |
Website | |
Information | Lijm voor space-events |
Status | Production |
MQTT is een netwerkprotocol om korte statusberichten heen en weer te schuiven.
Topics
Vanwege privacyredenen is niet alle informatie op het hele internet beschikbaar. Bitlair's MQTT infra bestaat daarom uit twee servers; een server toegankelijk vanaf het internet en een andere server die alleen binnen het spacenetwerk bereikbaar is waarop naast de normale events ook events worden gepubliceerd die we liever apart houden.
Openbaar: bitlair.nl
- bitlair/state {open,closed}
- bitlair/state/djo {open,closed}
- bitlair/cam/<cameranaam> <aantal kijkers>
- bitlair/music/<spelernaam>/state {playing,paused,stopped}
- bitlair/music/<spelernaam>/volume <volume percentage>
- bitlair/wifi/<netwerknaam>¹/online <aantal verbonden clients>
- bitlair/temperature/<room>/current <huidige temperatuur in celsius>
- bitlair/temperature/<room>/target <ingestelde temperatuur in celsius>
- bitlair/humidity/<room> <luchtvochtigheid in procenten>
- bitlair/flash
- bitlair/test/# ...
¹: "all" is een speciale netwerknaam die de gegevens van de andere netwerken combineert.
Privaat: mqtt.bitlair.nl
- bitlair/cam/<cameranaam>/viewers <namen van kijkers>...
- bitlair/alarm {armed,disarmed} <alarmcode>
- bitlair/lock/<slotnaam> {lock,unlock} <naam> (TODO)
- bitlair/music/<spelernaam>/track <artist> - <title>
- bitlair/wifi/<netwerknaam> {join,part} <mac> -|<signaalsterkte>
- bitlair/doorbell
Meekijken
- Installeer https://github.com/Juerd/Net-MQTT-Simple
$ mqtt-simple -h mqtt.bitlair.nl --color -s 'bitlair/#'
Scripts
Voor scripts in gebruik en voorbeelden, zie: https://github.com/bitlair/mqtt-scripts
Het is ook mogelijk om via een EventStream de status bij te houden:
var s = new EventSource('https://bitlair.nl/mqtt?bitlair/%23=bitlair'); s.addEventListener('bitlair', function (e) { var json = JSON.parse(e.data); var topic = json[0]; var value = json[1]; var retain = json[2]; console.log(topic, value, retain ? 'r' : '_'); });
Zie ook: https://github.com/Juerd/mqtt2web