| | 4 | |
| | 5 | Betrachtungen zum Topic-Tree unter folgenden URLs: |
| | 6 | * https://pi3g.com/2019/05/29/mqtt-topic-tree-design-best-practices-tips-examples/ |
| | 7 | * https://raspberry-valley.azurewebsites.net/MQTT-Topic-Trees/ |
| | 8 | * https://d1.awsstatic.com/whitepapers/Designing_MQTT_Topics_for_AWS_IoT_Core.pdf |
| | 9 | |
| | 10 | == Topic-Struktur des Systems |
| | 11 | |
| | 12 | Die Topics im System sind folgendermaßen strukturiert: \\ |
| | 13 | `%prefix%/%location%/%topic%/%keyword%` \\ |
| | 14 | `%prefix%/%location%/%topic%/%keyword%/%metadata%...` \\ |
| | 15 | `mount/%location%/%prefix%/%topic%/%keyword%...` |
| | 16 | |
| | 17 | `%prefix%`:: beschreibt die Datenart, es sind folgende Datenarten definiert: |
| | 18 | * `cmd`: Kommandos an das Gerät |
| | 19 | * `log`: Meldungen vom Gerät, z.B. Sensor-Werte |
| | 20 | * `connected`: Meldungen zum Verbindungszustand eines Gerätes, Sensors etc. \\ inspiriert durch https://github.com/mqtt-smarthome/mqtt-smarthome/blob/master/Architecture.md |
| | 21 | * `feedback`: Status-Meldungen des Gerätes, i.d.R. als Reaktion auf Kommandos |
| | 22 | * `actuator`: direkter Zugriff auf einen Aktor eines Gerätes, benannt durch `%keyword%` |
| | 23 | * `sensor`: direkte Meldungen eines Sensors eines Gerätes, benannt durch `%keyword%` |
| | 24 | `%topic%`:: benennt das Gerät, den !Sensor/Aktor, die angesprochene Gruppe etc., welches auch Ort-Informationen tragen darf, ggf. mit Topic-Separator `/`, so daß sich evtl. (noch ungern gesehen) tiefere Topic-Strukturen bilden |
| | 25 | `%keyword%`:: ist spezifisch für das Gerät, den Sensor, den Aktor, die Gruppe etc. |
| | 26 | `%metadata%`:: ist optional bzw. noch in Entwicklung, als Ideen stehen hier Konventionen anderer Systeme Pate, so z.B.: |
| | 27 | * https://homieiot.github.io/ |
| | 28 | * https://tinkerman.cat/post/mqtt-topic-naming-convention |
| | 29 | |
| | 30 | Unter `mount/#` werden ggf. Location-Broker gemounted und dann durch remapping ai den richtigen Topic-Pfaden dargestellt. |
| 26 | | `%prefix%`:: beschreibt die Datenart, es sind folgende Datenarten definiert: |
| 27 | | * `cmd`: Kommandos an das Gerät |
| 28 | | * `log`: Meldungen vom Gerät, z.B. Sensor-Werte |
| 29 | | * `feedback`: Status-Meldungen des Gerätes, i.d.R. als Reaktion auf Kommandos |
| 30 | | * `actuator`: direkter Zugriff auf einen Aktor eines Gerätes, benannt durch `%keyword%` |
| 31 | | * `sensor`: direkte Meldungen eines Sensors eines Gerätes, benannt durch `%keyword%` |
| 32 | | `%topic%`:: benennt das Gerät, den !Sensor/Aktor, die angesprochene Gruppe etc., welches auch Ort-Informationen tragen darf, ggf. mit Topic-Separator `/`, so daß sich evtl. (noch ungern gesehen) tiefere Topic-Strukturen bilden |
| 33 | | `%keyword%`:: ist spezifisch für das Gerät, den Sensor, den Aktor, die Gruppe etc. |
| 34 | | `%metadata%`:: ist optional bzw. noch in Entwicklung, als Ideen stehen hier Konventionen anderer Systeme Pate, so z.B.: |
| 35 | | * https://homieiot.github.io/ |
| 36 | | * https://tinkerman.cat/post/mqtt-topic-naming-convention |
| 37 | | |
| 38 | | Mehr Betrachtungen zum Topic-Tree unter folgenden URLs: |
| 39 | | * https://pi3g.com/2019/05/29/mqtt-topic-tree-design-best-practices-tips-examples/ |
| 40 | | * https://raspberry-valley.azurewebsites.net/MQTT-Topic-Trees/ |
| 41 | | * https://d1.awsstatic.com/whitepapers/Designing_MQTT_Topics_for_AWS_IoT_Core.pdf |