Ankündigung

Einklappen
Keine Ankündigung bisher.

SOCAT und serielle eintellungen

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    [wiregate] SOCAT und serielle eintellungen

    Hallo,

    ich möchte gerne per SOCAT die Serielle Schnittstelle per UDP weiterleiten. Als Einstellungen benötige ich:
    9600bd
    Datenbit = 7
    Parität = gerade
    Stoppbits = 1
    Flusssteuerung = keine

    Was muss ich hier unter Optionen eintragen?
    raw,b9600,cs7,???

    Danke und Gruß
    Nico

    #2
    Ich bin kein socat experte aber ich würde es so konfigurieren:

    Socket 1: "-",Socket: "/dev/usbserial-2-4.4", Optionen: "raw,b9600,cs7,parodd=1,cstopb=1"

    Socket 2: "udp-datagram", Socket: "192.168.1.3:50010", Optionen: "bind=:50010,reuseaddr"
    192.168.1.3:50010 = Ziel-IP und UDP-Port
    bind=:50010 : Lokaler Empfangsport reuseaddr : Wiederverwenden der UDP-Ports (mehrere Verbindungen möglich)
    Gruss Patrik alias swiss

    Kommentar


      #3
      Ich würde statt parodd=1 nur auch parenb=1 versuchen (odd= ungerade Parity )

      Makki

      P.S.: Zum testen obs passt, sind unter Windows übrigens nach wie vor Alfreds Tools HS-IP & UDP Listener (hier in den Downloads) recht praktisch.. Oder eben netcat, Wireshark&Co
      EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
      -> Bitte KEINE PNs!

      Kommentar


        #4
        Könnte man die möglichen Parameter in der WG Hilfe nachführen? Dort habe ich das Beispiel grösstenteils her aber dort ist nicht beschrieben, welche Parameter überhaubt möglich sind und was sie bedeuten.
        Gruss Patrik alias swiss

        Kommentar


          #5
          Hallo zusammen,

          leider funktioniert es mit den Einstellungen
          raw,b9600,cs7,parenb=1,cstopb=1
          noch nicht.

          Im Hyperterminal unter Win funktioniert es mit den angehängten Einstellungen.
          Woran erkenne ich , ob ein USB-Seriell Adapter unter Linux funktioniert? Kann ich davon ausgehen, wenn er unter "Liste angeschlossener USB Adapter:" aufgeführt wir, dass er dann auch funktioniert?

          Gibt es in Linux auch ein dem "Hyperterminal" entsprechendes tool?
          Angehängte Dateien

          Kommentar


            #6
            Kurze Frage. Wenn ich das richtig sehe hast du bei socket2 die von mir als Beispiel angegebene IP mit übernommen. Mach mal bei socket2 folgendes...

            Socket: localhost:50010

            Vieleicht liegt es ja daran.
            Gruss Patrik alias swiss

            Kommentar


              #7
              Aber ich möchte mir das UDP-Telegramm doch an meinen anderen Rechner schicken, dieser hat diese IP :-)

              Kommentar


                #8
                Ach soo. Dann ist es Zufall, dass die in meinem Beispiel angegebene IP stimmt. Was zeigt denn die Ampel unten auf der Socat seite an? Wird die USB Schnittstelle richtig erkannt?
                Gruss Patrik alias swiss

                Kommentar


                  #9
                  Jup, die ist grün!

                  Kommentar


                    #10
                    Ich habe noch etwas gesehen...

                    auch im socket2 steht bei dir:

                    bind=:50010,reuseaddr

                    In deinem fall sollte dass aber warscheinlich eher so heissen:

                    bind=192.168.1.3:50010,reuseaddr

                    Vieleicht hilft ja dass weiter.
                    Gruss Patrik alias swiss

                    Kommentar


                      #11
                      Hallo zusammen,

                      ich habe jetzt wenigstens geschaft, dass mir UDP-Paket zugeschickt werden, jedoch leider nur mit kryptischen Inhalten.

                      Zum Hintergrund:
                      ich versuche meinen eHZ-Zähler von Hager auszulesen. Dieser sendet in zwei Modis:

                      normaler ASCI Datensatz
                      9600bd, Datenbit = 7, Parität = gerade, Stoppbits = 1, Flusssteuerung = kein

                      Bitkodiertes SML-Datentelegramm
                      9600bd, Datenbit = 8, Parität = keine, Stoppbits = 1, Flusssteuerung = kein

                      Mit dem Hyperterminal kann ich beide Modis empfangen, wenn ich die Einstellungen entsprechend ändere. Mit SOCAT scheint mir, dass ich nur die SML-Datentelegramme empfange.

                      Momentan habe ich bei SOCAT
                      raw,b9600,cs7,parenb=1,parodd=0,cstopb=1

                      Ich hab aber auch schon alles andere getestet, keine Veränderung erkennbar.
                      Noch jemand eine Idee? Hab ich einen Denkfehler?

                      Kommentar


                        #12
                        Bist Du Dir 100%ig sicher, dass auch die richtigen bits ankommen?
                        Bei mir kommt zwar was an-aber anscheinend nichts brauchbares.
                        Bin momentan noch am suchen woran das liegt.
                        Mein NB gibt mir keine gescheiten Datenblätter für den EMH-Zähler und die Firma selbst rappelt siche wegen "Datenschutztechnischen Gründen" in die Hose.
                        Welchen OKK nimmst denn?


                        Grüße,
                        Lio

                        Kommentar


                          #13
                          Hallo Lio,

                          ich nehme die hintere Datenschnittstelle. Ist momentan mein PV-Lieferzähler. Ich bekomme wie gesagt mit dem Hyperterminal exakt die Daten, die ich auch verarbeiten möchte.

                          Kommentar


                            #14
                            Hier mal die Ausgabe, wie sie im Hyperterminal kommt bei
                            Datenbit = 7, Parität = gerade:
                            Code:
                            /HAG5eHZ010C_EHZ1NA12
                            
                            1-0:0.0.0*255("Zähletnummer")
                            1-0:2.8.0*255(000021.9105)
                            1-0:96.5.5*255(00)
                            0-0:96.1.255*255(0000186984)
                            1-0:32.7.0*255(227.24*V)
                            1-0:52.7.0*255(228.69*V)
                            1-0:72.7.0*255(229.25*V)
                            1-0:31.7.0*255(000.00*A)
                            1-0:51.7.0*255(000.00*A)
                            1-0:71.7.0*255(000.06*A)
                            1-0:21.7.0*255(+00000*W)
                            1-0:41.7.0*255(+00000*W)
                            1-0:61.7.0*255(+00000*W)
                            1-0:96.50.0*0(E8)
                            1-0:96.50.0*1(07D1)
                            1-0:96.50.0*2(1C)
                            1-0:96.50.0*3(13)
                            1-0:96.50.0*4(21)
                            1-0:96.50.0*5(1B)
                            1-0:96.50.0*6(003D381B240B17714800300300009F80)
                            1-0:96.50.0*7(00)
                            !
                            SML
                            Datenbit = 8, Parität = keine


                            Code:
                            ¯HAG5eHZ0±0Ã_ÅHZ±NA±²
                                                                                                       
                                                                                                        ±-0:
                            0.0.0ª²55(±095±±0000±¸69¸´©
                                                        ±-0:².¸.0ª²55(0000²±.9±05©
                                                                                   ±-0:96.5.5ª²55(00©
                                                                                                      0-0:96
                            .±.²55ª²55(0000±¸69¸´©
                                                   ±-0:3².·.0ª²55(²²6.5´ªV©
                                                                            ±-0:5².·.0ª²55(²²¸.6·ªV©
                                                                                                     ±-0:·².
                            ·.0ª²55(²²9.3¸ªV©
                                              ±-0:3±.·.0ª²55(000.00ªA©
                                                                       ±-0:5±.·.0ª²55(000.00ªA©
                                                                                                ±-0:·±.·.0ª²
                            55(000.06ªA©
                                         ±-0:²±.·.0ª²55(+00000ª×©
                                                                  ±-0:´±.·.0ª²55(+00000ª×©
                                                                                           ±-0:6±.·.0ª²55(+0
                            0000ª×©
                                    ±-0:96.50.0ª0(Ÿ©
                                                      ±-0:96.50.0ª±(0·D±©
                                                                          ±-0:96.50.0ª²(±Ã©
                                                                                            ±-0:96.50.0ª3(±3
                            ©
                              ±-0:96.50.0ª´(²±©
                                                ±-0:96.50.0ª5(±B©
                                                                  ±-0:96.50.0ª6(003D3¸±B²´0B±··±´¸0030030000
                            9Ƹ0©
                                  ±-0:96.50.0ª·(00©
                                                    !
                            Mit Socat und Wireshark sieht es dann so aus:
                            Code:
                            Paket1:
                            0000  00 1d 60 1a b2 ba 00 0c  29 6e b1 4f 08 00 45 00   ..`..... )n.O..E.
                            0010  00 26 00 00 40 00 40 11  b7 47 c0 a8 01 2c c0 a8   .&..@.@. .G...,..
                            0020  01 03 c3 5a c3 5a 00 12  d7 14 2f 48 41 47 35 65   ...Z.Z.. ../HAG5e
                            0030  48 5a 30 31 00 00 00 00  00 00 00 00               HZ01.... ....    
                            
                            Paket2:
                            0000  00 1d 60 1a b2 ba 00 0c  29 6e b1 4f 08 00 45 00   ..`..... )n.O..E.
                            0010  00 27 00 00 40 00 40 11  b7 46 c0 a8 01 2c c0 a8   .'..@.@. .F...,..
                            0020  01 03 c3 5a c3 5a 00 13  76 fa 30 53 5f 7b 7d 2b   ...Z.Z.. v.0S_{}+
                            0030  7b 5f 7b 3e 7b 00 00 00  00 00 00 00               {_{>{... ....
                            
                            Paket3:
                            0000  00 1d 60 1a b2 ba 00 0c  29 6e b1 4f 08 00 45 00   ..`..... )n.O..E.
                            0010  00 21 00 00 40 00 40 11  b7 4c c0 a8 01 2c c0 a8   .!..@.@. .L...,..
                            0020  01 03 c3 5a c3 5a 00 0d  a2 f9 00 26 2f 7f 23 00   ...Z.Z.. ...&/.#.
                            0030  00 00 00 00 00 00 00 00  00 00 00 00               ........ ....
                            
                            Paket4:
                            0000  00 1d 60 1a b2 ba 00 0c  29 6e b1 4f 08 00 45 00   ..`..... )n.O..E.
                            0010  00 1f 00 00 40 00 40 11  b7 4e c0 a8 01 2c c0 a8   ....@.@. .N...,..
                            0020  01 03 c3 5a c3 5a 00 0b  73 37 53 6b 2f 00 00 00   ...Z.Z.. s7Sk/...
                            0030  00 00 00 00 00 00 00 00  00 00 00 00               ........ ....    
                            
                            usw...
                            Past meiner Meinung weder zu dem einen, noch zu dem anderen...

                            Kommentar


                              #15
                              Juhu, ich habs geschaft,

                              Das "raw" war falsch. Hiermit geht es:
                              b9600,cs7,parenb=1,cstopb=1

                              ABER:
                              Ich bekomme jede Zeile einzeln + eine Leerzeile (leeres UDP-Paket). Ich würde gerne das komplette Telegramm des eHZ-Zählers in ein UDP-Paket machen. Also von dem "/" bis zum "!". Wie geht das?

                              Kommentar

                              Lädt...
                              X