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 über das Webfrontend.
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 über das Webfrontend.
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