MQTT/Rocnet Payload length

Internet of Things, MQTT, Node-RED
Post Reply
drblack
Posts: 58
Joined: 10.05.2008, 13:02
Location: Quickborn, S-H

MQTT/Rocnet Payload length

Post by drblack » 03.08.2018, 21:20

Hi Rob,

ich baue das Bahnsteigdisplay von Peter&Basti bzw. Werner Sax weiter. Dabei stolpere ich darüber, dass nach 121 bytes Payload schluss ist.
Im Log von Rocrail wird noch alles angezeigt:

Code: Select all

20180726.222746.935 r9999c tid0x765 OrocNet  1009 set display 111:0:2 to "{EcFFFb60E1T0L2} S1 {L0F2} 14 {T1} : {T2} 37 {T3L3} Wr. Neustadt {L2F1} Meidling - Mödling  {L1i} ++ wegen Abschaltung des Automatikbetriebes kommt es zu Zugausfällen +++   {T4L0F3} 2 {P}" len=189
Im Log vom MQTT Broker zeigt er aber nicht mehr alles an:

Code: Select all

1532637111: Received PUBLISH from RNM:raspberrypi (d0, q1, r1, m624, 'rocnet/dp', ... (121 bytes))
In den Einstellungen vom MQTT Broker habe ich auch auf maximale Länge eingestellt, was 256 Mbyte sind. Habe ich was übersehen?

Danke schon mal,

Henning
Last edited by drblack on 05.08.2018, 07:41, edited 1 time in total.

rjversluis
Site Admin
Posts: 39295
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: MQTT Payload length

Post by rjversluis » 04.08.2018, 06:34

Hallo Henning,

mit Trace Level BYTE kannst du auch sehen was genau zum MQTT Broker verschickt wird, vielleicht fällt da was auf.

drblack
Posts: 58
Joined: 10.05.2008, 13:02
Location: Quickborn, S-H

Re: MQTT Payload length

Post by drblack » 04.08.2018, 17:38

Hi Rob,

danke für Deine Antwort.
Hier mal eine Auszug:

Code: Select all

20180726.231621.861 r9999I tid0x75A OText    0633 new text [{EcFFFb60E1T0L2F1} S1 {L0F2} 15 {T1} : {T2} 17 {T3L3} Wr. Neustadt {L2F1} Meidling - Mödling  {iL1} ++ wegen Abschaltung des Automatikbetriebes kommt es zu Zugausfällen +++   {T4L0F3} 2 {P}]
20180726.231621.861 r9999I tid0x75A OText    0651 send text [{EcFFFb60E1T0L2F1} S1 {L0F2} 15 {T1} : {T2} 17 {T3L3} Wr. Neustadt {L2F1} Meidling - Mödling  {iL1} ++ wegen Abschaltung des Automatikbetriebes kommt es zu Zugausfällen +++   {T4L0F3} 2 {P}]
20180726.231621.862 r9999c tid0x75A OrocNet  1009 set display 111:0:2 to "{EcFFFb60E1T0L2F1} S1 {L0F2} 15 {T1} : {T2} 17 {T3L3} Wr. Neustadt {L2F1} Meidling - Mödling  {iL1} ++ wegen Abschaltung des Automatikbetriebes kommt es zu Zugausfällen +++   {T4L0F3} 2 {P}" len=191
20180726.231621.862 r9999I tid0x75A OText    0662 broadcast text [{EcFFFb60E1T0L2F1} S1 {L0F2} 15 {T1} : {T2} 17 {T3L3} Wr. Neustadt {L2F1} Meidling - Mödling  {iL1} ++ wegen Abschaltung des Automatikbetriebes kommt es zu Zugausfällen +++   {T4L0F3} 2 {P}]
20180726.231621.867 r9999B broadcas OMQTT    0317 send PUBLISH: Topic=rocrail/service/info(1) Payload=269 ID=6863 totalLen=295 nrLenBytes=1 topicLen=20
20180726.231621.867 r0000B broadcas OMQTT    *trace dump( 0x76341B0C: length=296 )
    offset:   00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F |ASCII...........|
    --------------------------------------------------------- |----------------|
    00000000: 33 A5 02 00 14 72 6F 63 72 61 69 6C 2F 73 65 72 |3....rocrail/ser|
    00000010: 76 69 63 65 2F 69 6E 66 6F 1A CF 3C 65 78 63 65 |vice/info..<exce|
    00000020: 70 74 69 6F 6E 20 74 65 78 74 3D 22 73 65 74 20 |ption text="set |
    00000030: 64 69 73 70 6C 61 79 20 31 31 31 3A 30 3A 32 20 |display 111:0:2 |
    00000040: 74 6F 20 20 7B 45 63 46 46 46 62 36 30 45 31 54 |to  {EcFFFb60E1T|
    00000050: 30 4C 32 46 31 7D 20 53 31 20 7B 4C 30 46 32 7D |0L2F1} S1 {L0F2}|
    00000060: 20 31 35 20 7B 54 31 7D 20 3A 20 7B 54 32 7D 20 | 15 {T1} : {T2} |
    00000070: 31 37 20 7B 54 33 4C 33 7D 20 57 72 2E 20 4E 65 |17 {T3L3} Wr. Ne|
    00000080: 75 73 74 61 64 74 20 7B 4C 32 46 31 7D 20 4D 65 |ustadt {L2F1} Me|
    00000090: 69 64 6C 69 6E 67 20 2D 20 4D C3 B6 64 6C 69 6E |idling - M..dlin|
    000000A0: 67 20 20 7B 69 4C 31 7D 20 2B 2B 20 77 65 67 65 |g  {iL1} ++ wege|
    000000B0: 6E 20 41 62 73 63 68 61 6C 74 75 6E 67 20 64 65 |n Abschaltung de|
    000000C0: 73 20 41 75 74 6F 6D 61 74 69 6B 62 65 74 72 69 |s Automatikbetri|
    000000D0: 65 62 65 73 20 6B 6F 6D 6D 74 20 65 73 20 7A 75 |ebes kommt es zu|
    000000E0: 20 5A 75 67 61 75 73 66 C3 A4 6C 6C 65 6E 20 2B | Zugausf..llen +|
20180726.231621.868 r0000B rnmqtt   OMQTT    *trace dump( 0x75F6CCB0: length=4 )
    offset:   00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F |ASCII...........|
    --------------------------------------------------------- |----------------|
    000000F0: 2B 2B 20 20 20 7B 54 34 4C 30 46 33 7D 20 32 20 |++   {T4L0F3} 2 |
    00000000: 40 02 02 82                                     |@...            |
    00000100: 7B 50 7D 20 20 6C 65 6E 3D 31 39 31 22 20 6C 65 |{P}  len=191" le|
    00000110: 76 65 6C 3D 22 31 36 33 38 34 22 20 69 64 3D 22 |vel="16384" id="|
20180726.231621.868 r9999B rnwriter OrocNet  2206 write request [00006F00010C017100027B4563464646623630453154304C3246317D205331207B4C3046327D203135207B54317D203A207B54327D203137207B54334C337D2057722E204E65757374616474207B4C3246317D204D6569646C696E67202D204DC3B6646C696E6720207B694C317D202B2B20776567656E2000] to 111
20180726.231621.868 r0000B rnwriter rnmqtt   *trace dump( 0x76B26D34: length=121 )
    offset:   00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F |ASCII...........|
    --------------------------------------------------------- |----------------|
    00000120: 39 39 39 39 22 2F 3E 0A                         |9999"/>.        |
    00000000: 00 00 6F 00 01 0C 01 71 00 02 7B 45 63 46 46 46 |..o....q..{EcFFF|
    00000010: 62 36 30 45 31 54 30 4C 32 46 31 7D 20 53 31 20 |b60E1T0L2F1} S1 |
    00000020: 7B 4C 30 46 32 7D 20 31 35 20 7B 54 31 7D 20 3A |{L0F2} 15 {T1} :|
    00000030: 20 7B 54 32 7D 20 31 37 20 7B 54 33 4C 33 7D 20 | {T2} 17 {T3L3} |
    00000040: 57 72 2E 20 4E 65 75 73 74 61 64 74 20 7B 4C 32 |Wr. Neustadt {L2|
    00000050: 46 31 7D 20 4D 65 69 64 6C 69 6E 67 20 2D 20 4D |F1} Meidling - M|
    00000060: C3 B6 64 6C 69 6E 67 20 20 7B 69 4C 31 7D 20 2B |..dling  {iL1} +|
    00000070: 2B 20 77 65 67 65 6E 20 00                      |+ wegen .       |
20180726.231621.869 r9999c rnwriter rnmqtt   0159 RocNet Group: 12
20180726.231621.869 r9999B rnwriter OMQTT    0317 send PUBLISH: Topic=rocnet/dp(12) Payload=121 ID=643 totalLen=136 nrLenBytes=1 topicLen=9
20180726.231621.869 r0000B rnwriter OMQTT    *trace dump( 0x761142DC: length=137 )
    offset:   00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F |ASCII...........|
    --------------------------------------------------------- |----------------|
    00000000: 33 86 01 00 09 72 6F 63 6E 65 74 2F 64 70 02 83 |3....rocnet/dp..|
    00000010: 00 00 6F 00 01 0C 01 71 00 02 7B 45 63 46 46 46 |..o....q..{EcFFF|
    00000020: 62 36 30 45 31 54 30 4C 32 46 31 7D 20 53 31 20 |b60E1T0L2F1} S1 |
    00000030: 7B 4C 30 46 32 7D 20 31 35 20 7B 54 31 7D 20 3A |{L0F2} 15 {T1} :|
    00000040: 20 7B 54 32 7D 20 31 37 20 7B 54 33 4C 33 7D 20 | {T2} 17 {T3L3} |
    00000050: 57 72 2E 20 4E 65 75 73 74 61 64 74 20 7B 4C 32 |Wr. Neustadt {L2|
    00000060: 46 31 7D 20 4D 65 69 64 6C 69 6E 67 20 2D 20 4D |F1} Meidling - M|
    00000070: C3 B6 64 6C 69 6E 67 20 20 7B 69 4C 31 7D 20 2B |..dling  {iL1} +|
    00000080: 2B 20 77 65 67 65 6E 20 00                      |+ wegen .       |
Demnach bleibt es irgendwo hängen.
Im Anhang auch noch mal die gesamte Datei, falls ich was entscheidendes rausgelöscht habe.
Attachments
rocrail trace mqtt payload.txt
(49.62 KiB) Downloaded 1 time

rjversluis
Site Admin
Posts: 39295
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: MQTT Payload length

Post by rjversluis » 05.08.2018, 06:28

Moin Henning,

ich denke doch das es am Broker liegt weil Rocrail schickt die ganze Text:

Code: Select all

20180726.231621.867 r9999B broadcas OMQTT    0317 send PUBLISH: Topic=rocrail/service/info(1) Payload=269 ID=6863 totalLen=295 nrLenBytes=1 topicLen=20
20180726.231621.867 r0000B broadcas OMQTT    *trace dump( 0x76341B0C: length=296 )
Und die länge scheint auch OK zu sein im Header[1] + Header[2].

drblack
Posts: 58
Joined: 10.05.2008, 13:02
Location: Quickborn, S-H

Re: MQTT Payload length

Post by drblack » 05.08.2018, 07:24

Moin Rob,


Der zu übertragende Text kommt ja von hier:

Code: Select all

20180726.231621.862 r9999c tid0x75A OrocNet  1009 set display 111:0:2 to "{EcFFFb60E1T0L2F1} S1 {L0F2} 15 {T1} : {T2} 17 {T3L3} Wr. Neustadt {L2F1} Meidling - Mödling  {iL1} ++ wegen Abschaltung des Automatikbetriebes kommt es zu Zugausfällen +++   {T4L0F3} 2 {P}" len=191
Dann wären 296 bytes etwas viel Overhead.
Aber woher kommt dann :

Code: Select all

20180726.231621.868 r0000B rnwriter rnmqtt   *trace dump( 0x76B26D34: length=121 )
und

Code: Select all

20180726.231621.869 r9999B rnwriter OMQTT    0317 send PUBLISH: Topic=rocnet/dp(12) Payload=121 ID=643 totalLen=136 nrLenBytes=1 topicLen=9
Kommt das aus dem Broker?

rjversluis
Site Admin
Posts: 39295
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: MQTT Payload length

Post by rjversluis » 05.08.2018, 07:32

Hi Henning,

im RocNet Protokoll gibt es nur 8 bits für die Data Länge, also max 256.
https://wiki.rocrail.net/doku.php?id=ro ... ket_format
Bei größere Menge läuft dieses Längefeld über.

Also, es geht hier nicht um MQTT Payload sondern RocNet Payload welche auf max. 256 festgelegt worden ist.

drblack
Posts: 58
Joined: 10.05.2008, 13:02
Location: Quickborn, S-H

Re: MQTT Payload length

Post by drblack » 05.08.2018, 07:40

Hi Rob,

Ok.
Aber kommen zu den 191 Bytes Textlänge noch so viele Steuerbytes dazu, dass 256 nicht ausreichen?

rjversluis
Site Admin
Posts: 39295
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: MQTT Payload length

Post by rjversluis » 05.08.2018, 08:05

Hallo Henning,
drblack wrote:
Aber kommen zu den 191 Bytes Textlänge noch so viele Steuerbytes dazu, dass 255 nicht ausreichen?
nein, aber beim Text wird es auf 110 bytes begrenzt. Warum, das weis ich nicht mehr... :(

rjversluis
Site Admin
Posts: 39295
Joined: 10.04.2006, 08:48
Location: Speyer, Germany
Contact:

Re: MQTT/Rocnet Payload length

Post by rjversluis » 05.08.2018, 08:42

Moin Henning,

das gesamte RocNet Paket ist auf 128 begrenzt weil es auch 7bit unterstützen muss.
Dann bleiben für Text nur noch 110 Bytes übrig.

Post Reply

Return to “IoT (DE)”