Changes between Version 1 and Version 2 of MqttTopicStruktur


Ignore:
Timestamp:
Aug 16, 2020, 4:55:01 PM (5 years ago)
Author:
Johannes Lode
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • MqttTopicStruktur

    v1 v2  
    22
    33[[PageOutline(2-6)]]
     4
     5Betrachtungen 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
     12Die 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
     30Unter `mount/#` werden ggf. Location-Broker gemounted und dann durch remapping ai den richtigen Topic-Pfaden dargestellt.
    431
    532== Topics eines Gerätes
     
    1239* 2. Obergeschoss: `og2-broker.mqtt.p21.net:1887`
    1340* !Hof/Garten: `yard-broker.mqtt.p21.net:1888`
    14 * tragbare Geräte: `moving-broker.mqtt.p21.net:1889`
     41* tragbare Geräte: `roaming-broker.mqtt.p21.net:1889`
    1542
    1643Diese Broker sind vorerst alle auf dem selben Host realisiert, daher benötigen sie entweder unterschiedliche IP-Aliase (knappe Ressource IP-Adressen) oder unterschiedliche Port-Nummern (gewählte Option). Mehr in MqttBroker.
     
    2451`%prefix%/%topic%/%keyword%/%metadata%...`
    2552
    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