Der Club beheimatet aktuell mehrere Sensoren, wovon der Großteil auf unseren MQTT-Broker angebunden ist.
Sensoren posten auf die eigenen Topics mit dem Format:
"/public/sensoren/<sensortyp>/<sensorname>/<wert des sensors>"
Der Sensorname kann aus dem Hostnamen abgeleitet werden, nach der Formal: Hostname = "esp-" + Sensorname
Falls von einem Sensortyp nur ein einziger Sensor existiert wird folgendes System verwendet:
"/public/sensoren/<sensortyp>/<wert des sensors>"
Falls die Sensoren auch noch Kontroll-Aufgaben übernehmen werden zusätzlich folgende Topics implementiert:
"/public/sensoren/<sensortyp>/<sensorname>/control"
"/public/sensoren/<sensortyp>/<sensorname>/response"
"/public/sensoren/<sensortyp>/common/control"
"/public/sensoren/<sensortyp>/common/response"
Auf den control-Topics werden Kommandos empfangen, beim empfangen wird auf dem Topic ein 'OK' gepublished.
Wichtig: Kommandos auf common-control-Topic und <sensorname>-control-Topic werden von den Sensoren nicht gleich verarbeitet
Im Club verbaute Sensoren
Im folgenden sind alle Sensoren gelistet, welche MQTT verwenden:
TPH
Die Basis-Firmware.
Hierzu implentiert sie die 3 Topics T(emperature) P(ressure) und H(umidity).
Für einfache Wartung kann die Firmware mit OTA gebaut werden.
Leinwandsteuerung
Die Steuerung erfolgt nun über das Webfrontend. (Stand Weihnachten 2018)
Die Leinwandsteuerung ist eine TPH-Firmware die mit den USE_LEINWAND und USE_RC-Flags kompiliert wurde.
Ihre Hauptaufgabe ist(wie überraschend!) die Steuerung der Hauptraum-Leinwand.
Dafür implementiert sie auf ihrem control-topic("leinwand/control") zusätzlich noch diese Kommandos:
u für hoch,
d für runter,
s für Stop.
Funksteckdosensteuerung
Die Steuerung erfolgt nun über das Webfrontend. (Stand Weihnachten 2018)
Die Firmware für die Funksteckdosensteuerung ist eine TPH-Firmware, die mit dem USE_RC-Flag kompiliert wurde. Von ihr sind mehrere im gesamten Club verteilt(auf Grund der geringen Reichweite der 433MHz-Transceiver).
Dafür implementieren sie auf dem common-control-topic einige Funksteckdosencodes. Die aktuelle Liste ist in der 'src/control.cpp' im Github-Repo zu finden.
Beispiel-TPH-Log
>$ mosquitto_sub -h mqtt.club.entropia.de -t /public/sensoren/TPH/leinwand/# 24.10 99964.53 32.65