Ankündigung

Einklappen
Keine Ankündigung bisher.

UDP-Empfang "zusammenbauen"

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    UDP-Empfang "zusammenbauen"

    Hi
    ich schicke vom Transponder per UDP an den HS (RSS-Transponder).
    Ich Empfange folgendes:
    Code:
    29.09.2010 03:32:30 (Prot: UDP) (Port: 6666) (Absender-IP: 192.168.0.136)
    [B](Recv: 2) 0x36 0x31[/B]
    61
    [B](Gesamt: 2) (Work: 2) (Typ: Liste) (OK: 1)[/B]  29.09.2010 03:32:30 (Prot: UDP) (Port: 6666) (Absender-IP: 192.168.0.136)
    [B](Recv: 2) 0x35 0x37[/B]
    57
    [B](Gesamt: 2) (Work: 2) (Typ: Liste) (OK: 1)[/B]  29.09.2010 03:32:30 (Prot: ??) (Port: 6666) (Absender-IP: 192.168.0.136)
    [B](Recv: 1) 0x3b[/B]
    ;
    [B](Gesamt: 0) (Work: 0) (Typ: Liste) (OK: 0)[/B]  29.09.2010 03:32:30 (Prot: UDP) (Port: 6666) (Absender-IP: 192.168.0.136)
    [B](Recv: 2) 0x3e 0x20[/B]
    ] 
    [B](Gesamt: 2) (Work: 2) (Typ: Liste) (OK: 1)[/B]  29.09.2010 03:32:30 (Prot: ??) (Port: 6666) (Absender-IP: 192.168.0.136)
    [B](Recv: 1) [COLOR=Red]0x20[/COLOR][/B]
     
    [B](Gesamt: 0) (Work: 0) (Typ: Liste) (OK: 0)[/B]  29.09.2010 03:32:30 (Prot: UDP) (Port: 6666) (Absender-IP: 192.168.0.136)
    [B](Recv: 2) 0x30 0x3b[/B]
    0;
    [B](Gesamt: 2) (Work: 2) (Typ: Liste) (OK: 1)[/B]  29.09.2010 03:32:30 (Prot: UDP) (Port: 6666) (Absender-IP: 192.168.0.136)
    [B](Recv: 2) 0x30 0x30[/B]
    00
    [B](Gesamt: 2) (Work: 2) (Typ: Liste) (OK: 1)[/B]  29.09.2010 03:32:30 (Prot: UDP) (Port: 6666) (Absender-IP: 192.168.0.136)
    [B](Recv: 2) 0x36 0x31[/B]
    61
    [B](Gesamt: 2) (Work: 2) (Typ: Liste) (OK: 1)[/B]  29.09.2010 03:32:30 (Prot: ??) (Port: 6666) (Absender-IP: 192.168.0.136)
    [B](Recv: 1) 0x35[/B]
    5
    [B](Gesamt: 0) (Work: 0) (Typ: Liste) (OK: 0)[/B]  29.09.2010 03:32:30 (Prot: UDP) (Port: 6666) (Absender-IP: 192.168.0.136)
    [B](Recv: 2) 0x37 0x3b[/B]
    7;
    [B](Gesamt: 2) (Work: 2) (Typ: Liste) (OK: 1)[/B]  29.09.2010 03:32:30 (Prot: UDP) (Port: 6666) (Absender-IP: 192.168.0.136)
    [B](Recv: 2) 0x3e [COLOR=Red]0x20[/COLOR][/B]
    ] 
    [B](Gesamt: 2) (Work: 2) (Typ: Liste) (OK: 1)[/B]
    Wie kriege ich das "zusammengebaut"? Ich brauche ab 0x20 (space) 10 Byte.
    Ich habe es schon probiert auf 0x20 zu warten und dann 10 1-Byte iKOs zu füllen - geht nicht (wohl weil die Daten einzeln/im zweierpack kommen?)
    ich habe schon probiert "seriell" immer nur ein iKO zu füllen und das zusammenzufügen (text verbinden) bis wieder ein leerzeichen kommt...

    Irgendwie krieg ich das gerade nicht hin.
    In diesem Fall wäre
    0;006157;]
    oder
    0x30 0x3b 0x30 0x30 0x36 0x31 0x35 0x37 0x3b 0x3e
    oder
    303b3030363135373b3e
    das "richtige" Ergebniss...

    Gruß
    Thorsten

    #2
    was hast du denn auf der UDP-Empfängerseite im Experten konfiguriert, dass der alle zwei Byte den Empfang beendet?
    Oder Möglichkeit 2. Sendet der Absender alles als einzelne UDP-Telegramme? Dann könnte man das zur Not im GLE wieder zusammensetzten. Finde ich aber unschön.
    Gruß Christian

    Kommentar


      #3
      Hi
      ich hab schon "einiges" Ausprobiert.
      Vorneweg: die Daten kommen von einem Transponderleser der per RS485 am Wiregate hängt und dort per "socat" auf UDP gewandelt wird.
      Der Datenstrom ist "kontinuierlich" wenn ein Transponder vor dem leser hängt - wenn man pech hat bekommt man beim initialisieren erstmal jede menge datenmüll (ich vermute mal dem fehlenden handshake geschuldet).

      Ich vermute mal bei UDP zerlegt der HS das aus irgendeinem Grund in handliche einzelstückchen? UDP ist ja "verbindungslos"...
      Naja - versuche waren:
      • Wert als Binärdaten: 1Bit Wert -> iKO

      -> da kommt "was an" - mit zweimal "Wert als Binärdaten" auch

      dann
      • Wert als Binärdaten: 1Bit Wert ->1. iKO
      • Wert als Binärdaten: 1Bit Wert ->2. iKO
      • Wert als Binärdaten: 1Bit Wert ->3. iKO
      • Wert als Binärdaten: 1Bit Wert ->4. iKO
      • Wert als Binärdaten: 1Bit Wert ->5. iKO
      • Wert als Binärdaten: 1Bit Wert ->6. iKO
      • Wert als Binärdaten: 1Bit Wert ->7. iKO
      • Wert als Binärdaten: 1Bit Wert ->8. iKO
      • Wert als Binärdaten: 1Bit Wert ->9. iKO

      -> da kam nix an

      dann
      • Binärdaten in Hexform: 20 (das Leerzeichen)
      • Wert als Binärdaten: 1Bit Wert ->1. iKO
      • Wert als Binärdaten: 1Bit Wert ->2. iKO
      • Wert als Binärdaten: 1Bit Wert ->3. iKO
      • Wert als Binärdaten: 1Bit Wert ->4. iKO
      • Wert als Binärdaten: 1Bit Wert ->5. iKO
      • Wert als Binärdaten: 1Bit Wert ->6. iKO
      • Wert als Binärdaten: 1Bit Wert ->7. iKO
      • Wert als Binärdaten: 1Bit Wert ->8. iKO
      • Wert als Binärdaten: 1Bit Wert ->9. iKO

      -> da kam nix an

      Wo ich das so schreibe... hätte ich vorneweg noch
      "Beliebige Anzahl an Daten" schicken sollen?

      Empfang als "Wert als Klartext" habe ich auch probiert...
      Das könnte ich auch nochmal probieren:
      • Beliebige Anzahl an Daten
      • Binärdaten in Hexform: 20 (das Leerzeichen)
      • Wert als Klartext

      (kann erst heute abend wieder testen)

      Gruß
      Thorsten

      Kommentar


        #4
        Hallo Thorsten,
        da ich zur Zeit vor einem ähnlichen Problem stehe. Ich möchte über eine Comserver Daten empfangen. Die Daten werden so
        wie bei Dir dargestellt, d.h. jeweils 1 oder 2 Hexwerte in einer Zeile. Die reale Darstellung (ASCII) ist auch enthalten Wie hast
        du das Problem geöst?
        Gruß Jürgen

        Kommentar


          #5
          Hallo,
          ich stehe garade vor einem ähnlichen Problem, vielleicht kann mir jemand helfen:

          Ich steuere via HS und Moxa RS485 Gateway eine Nilan VPL Lüftungsanlage. UDP Telegramme Senden klappt ganz prima, nur mit den Auswertungen komme ich icht klar.

          Ich kann den Status anfordern, und erhalten dann ein Telegramm im Hexformat, welches ich lese und verstehe, jedoch schaffe ich es nicht das Telegramm richtig zu zerlegen:
          Ich erhalte das Telegramm (siehe Bild 1): mit diesem Inhalt
          (Recv: 7) 0x1e 0x3 0x2 0x8 0xfc 0x2a 0x7
          nun benötige ich Byte 4 und 5 --> also 0x8 und 0xfc (ergibt den Wert 2300) --> Set Temp 23 Grad

          Auswertung im HS:
          Beliebige Daten
          Binärdaten in Hexform 1e0302
          Text/Wert mit Fester Länge --> unzählige Kombinationen probiert entweder wird nur das zeichen "ü" geliefert (Wert 252) und die 08 davor wird verschluckt. Wert als Klartext liefert auch nur "ü"

          Den ganzen String als KO Klartext liefert dieses ergebnis
          (Recv: 7) 0x1e 0x3 0x2 0x8 0xfc 0x2a 0x7
          ü*
          (Gesamt: 1) (Work: 1) (Typ: Liste) (OK: 1)


          Hat jemand eine Info wie das geht?
          Danke für eure Hilfe!

          lg. Martin
          Angehängte Dateien

          Kommentar


            #6
            Moin Moin, Ich bin über die SuFu zu diesem Betrag gelangt.
            Ich suche eine Lösung für letztlich das gleiche Problem: Steuerung/Visualisierung einer Nilan Comfort 300 LR mit der CTS 602 Steuerung an KNX mit Homeserver 4. Derzeit befindet sich das Bauprojekt noch in der Planungsphase in der ich nun zu allen Gebäudesystemen die Schnittstellen Kläre.
            Unsere Erfahrungen mit der HausCompagnie findet ihr unter www.lupgblog.wordpress.com . Dort erzähle ich auch von meiner Planung der Elektroinstallation.

            Kommentar

            Lädt...
            X