Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. nod-red serial kommunikation

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.9k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.2k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

nod-red serial kommunikation

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
node-red
7 Beiträge 2 Kommentatoren 938 Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • M Offline
    M Offline
    mike1976
    schrieb am zuletzt editiert von
    #1

    Hallo,

    also wie fange ich am besten an.
    Habe ein waage auswertung die ein serielle schnitstelle für ein LED Anzeige hat.
    So nun will ich aber gerne über node-red das gewicht erfassen.

    Was habe ich bist jetzt probiert.
    Als erstes hatte ich es mit einem USB-RS232 adappter probiert aber da bekomme ich ausser time out
    keine werte.
    So nun habe ich das ganze über die UART des PI verbunden und es kommt auch was an.
    Nur werde ich daraus nicht schlau.

    Ob das überhaupt stimmen kann,
    Aktuell wird an der waage 0.0 angezeigt.

    Hat wer rat für mich.

    Buffer.PNG

    [{"id":"3c0183ef.c366ec","type":"tab","label":"Flow 1","disabled":false,"info":""},{"id":"93517b22.6bd398","type":"serial request","z":"3c0183ef.c366ec","name":"","serial":"698d44e5.759acc","x":480,"y":540,"wires":[["b3efa487.c59878"]]},{"id":"b3efa487.c59878","type":"debug","z":"3c0183ef.c366ec","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":680,"y":540,"wires":[]},{"id":"db87cc3c.8efc9","type":"inject","z":"3c0183ef.c366ec","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":160,"y":540,"wires":[["93517b22.6bd398"]]},{"id":"698d44e5.759acc","type":"serial-port","z":"","serialport":"/dev/ttyAMA0","serialbaud":"600","databits":"8","parity":"even","stopbits":"1","waitfor":"","dtr":"none","rts":"none","cts":"none","dsr":"none","newline":"0","bin":"bin","out":"char","addchar":"","responsetimeout":"1000"}]
    

    RS232 Schnittstelle.pdf

    1 Antwort Letzte Antwort
    0
    • P Offline
      P Offline
      peterfido
      schrieb am zuletzt editiert von peterfido
      #2

      Hallo,

      die Pinbelegung im PDF spricht für RS 232 Pegel. Diese verträgt der 3,3Volt UART des Raspi normal nicht so... Hast du einen Pegelwandler noch dazwischen?

      Die Geschwindigkeit auf 600 Baud stellen. Die Auswertung muss wohl manuell passieren, da unterschiedliche Bytes am Zeilenende auftreten. Das Startbyte ist fix und die Anzahl der Bytes auch. Eine Prüfsumme ist auch vorhanden. Somit sehe ich da kein großes Problem.

      Ansonsten ist das Protokoll in der PDF beschrieben. Wichtig ist erstmal, dass die Verbindung steht und der Raspi keine Spannungen bekommt, die er nicht verträgt.

      [
         {
             "id": "643715a7.56ebfc",
             "type": "tab",
             "label": "Flow 1",
             "disabled": false,
             "info": ""
         },
         {
             "id": "a5dbed00.06538",
             "type": "inject",
             "z": "643715a7.56ebfc",
             "name": "",
             "topic": "",
             "payload": "",
             "payloadType": "date",
             "repeat": "",
             "crontab": "",
             "once": false,
             "onceDelay": 0.1,
             "x": 180,
             "y": 180,
             "wires": [
                 [
                     "194f9125.92fc0f"
                 ]
             ]
         },
         {
             "id": "194f9125.92fc0f",
             "type": "function",
             "z": "643715a7.56ebfc",
             "name": "",
             "func": "//var a = [0xc9,0x31,0x32,0x33,0x34,0x35,0x36,0x0,0x0,0xd9];\nvar a = [0xc9,0x54,0x20,0x20,0x20,0x30,0x30,0x0,0x0,0xdb];\nvar b = 0, c='', d=0, e=0;\n    for (var i = 0; i <= 6; i++) {\n        b += a[i];\n    }\n    var hexString = b.toString(16);\n    c = hexString.substring(1, 2);\n    d = parseInt(c, 16);\n    c = hexString.substring(2, 3);\n    e = parseInt(c, 16);\n    a[7] = 0x30 + d;\n    a[8] = 0x30 + e;\n    msg.payload = a;\nreturn msg;\n\n",
             "outputs": 1,
             "noerr": 0,
             "x": 370,
             "y": 180,
             "wires": [
                 [
                     "1f72e3e5.9f5eec",
                     "26a47523.0684aa"
                 ]
             ]
         },
         {
             "id": "1f72e3e5.9f5eec",
             "type": "debug",
             "z": "643715a7.56ebfc",
             "name": "",
             "active": true,
             "tosidebar": true,
             "console": false,
             "tostatus": false,
             "complete": "true",
             "targetType": "full",
             "x": 670,
             "y": 420,
             "wires": []
         },
         {
             "id": "26a47523.0684aa",
             "type": "function",
             "z": "643715a7.56ebfc",
             "name": "",
             "func": "var punkt = \".\";\n\nvar arr = msg.payload;\nmsg.payload=\"Fehler\";\nvar b = 0, c='', d=0, e=0, i=0;\nif (arr.length===10){\n    for ( i = 0; i <= 6; i++) {\n        b += arr[i];\n    }\n    var hexString = b.toString(16);\n    c = hexString.substring(1, 2);\n    d = parseInt(c, 16);\n    c = hexString.substring(2, 3);\n    e = parseInt(c, 16);\n    d = 0x30 + d;\n    e = 0x30 + e;\n    if(arr[0]===0xc9 && d===arr[7] && e===arr[8]){\n        var s = '';\n        e = arr[9]; \n        s = s + String.fromCharCode(arr[1]);\n        s = s + String.fromCharCode(arr[2]);\n        s = s + String.fromCharCode(arr[3]);\n        if(e > 219){\n            s = s + punkt;    \n        }\n        s = s + String.fromCharCode(arr[4]);\n        if(e===218 || e===221 || e===223){\n            s = s + punkt;    \n        }\n        s = s + String.fromCharCode(arr[5]);\n        if(e===219 || e > 221){\n            s = s + punkt;    \n        }       \n        s = s + String.fromCharCode(arr[6]);\n        msg.payload=s;\n    }\n}\nreturn msg;",
             "outputs": 1,
             "noerr": 0,
             "x": 790,
             "y": 180,
             "wires": [
                 [
                     "caac31e7.2acb5"
                 ]
             ]
         },
         {
             "id": "caac31e7.2acb5",
             "type": "debug",
             "z": "643715a7.56ebfc",
             "name": "",
             "active": true,
             "tosidebar": true,
             "console": false,
             "tostatus": false,
             "complete": "false",
             "x": 990,
             "y": 180,
             "wires": []
         },
         {
             "id": "a19963de.8edda",
             "type": "serial in",
             "z": "643715a7.56ebfc",
             "name": "",
             "serial": "de35828f.22ea",
             "x": 590,
             "y": 120,
             "wires": [
                 [
                     "26a47523.0684aa"
                 ]
             ]
         },
         {
             "id": "de35828f.22ea",
             "type": "serial-port",
             "z": "",
             "serialport": "/dev/ttyAMA0",
             "serialbaud": "600",
             "databits": "8",
             "parity": "even",
             "stopbits": "1",
             "waitfor": "0xC9",
             "dtr": "none",
             "rts": "none",
             "cts": "none",
             "dsr": "none",
             "newline": "10",
             "bin": "bin",
             "out": "count",
             "addchar": "",
             "responsetimeout": "1000"
         }
      ]
      

      Gruß

      Peterfido


      Proxmox auf Intel NUC12WSHi5
      ioBroker: Debian (VM)
      CCU: Debmatic (VM)
      Influx: Debian (VM)
      Grafana: Debian (VM)
      eBus: Debian (VM)
      Zigbee: Debian (VM) mit zigbee2mqtt

      1 Antwort Letzte Antwort
      0
      • P Offline
        P Offline
        peterfido
        schrieb am zuletzt editiert von
        #3

        Kann sein, dass in meinem Beispiel oben das Minus nicht korrekt angezeigt wird. Mangels Waage kann ich allerdings nicht testen.

        Gruß

        Peterfido


        Proxmox auf Intel NUC12WSHi5
        ioBroker: Debian (VM)
        CCU: Debmatic (VM)
        Influx: Debian (VM)
        Grafana: Debian (VM)
        eBus: Debian (VM)
        Zigbee: Debian (VM) mit zigbee2mqtt

        1 Antwort Letzte Antwort
        0
        • M Offline
          M Offline
          mike1976
          schrieb am zuletzt editiert von
          #4

          Hallo,

          danke für deine Infos, bin ende nächster woche wieder bei der waage dann kann ich es testen.

          Habe mir das mit der uart fast gedacht.
          Habe nun einen usb-rs232 adapter bestellt und werde diesen verwenden. USB 2.0 zu RS232 (FT232RL)
          Oder kannst du mir einen anderen oder besseren empfehlen?

          https://www.amazon.de/DIGITUS-70156-Typ-Konverter-Verlängerungskabel/dp/B0030IT780?th=1

          Sobald ich getestet habe gebe ich bescheid. vielen dank für dein bemühen.

          lg mike

          P 1 Antwort Letzte Antwort
          0
          • M mike1976

            Hallo,

            danke für deine Infos, bin ende nächster woche wieder bei der waage dann kann ich es testen.

            Habe mir das mit der uart fast gedacht.
            Habe nun einen usb-rs232 adapter bestellt und werde diesen verwenden. USB 2.0 zu RS232 (FT232RL)
            Oder kannst du mir einen anderen oder besseren empfehlen?

            https://www.amazon.de/DIGITUS-70156-Typ-Konverter-Verlängerungskabel/dp/B0030IT780?th=1

            Sobald ich getestet habe gebe ich bescheid. vielen dank für dein bemühen.

            lg mike

            P Offline
            P Offline
            peterfido
            schrieb am zuletzt editiert von
            #5

            @mike1976
            Ich würde erstmal herausfinden, welche ( Spannungs-)Pegel da tatsächlich anliegen.
            Von den Werten her scheint dein Log oben zu passen. Möglich, dass also alles im grünen Bereich ist. Oder die Bauteile tolerieren, was sie bekommen, da der Strom nicht hoch genug ist um was zu "grillen"

            Gruß

            Peterfido


            Proxmox auf Intel NUC12WSHi5
            ioBroker: Debian (VM)
            CCU: Debmatic (VM)
            Influx: Debian (VM)
            Grafana: Debian (VM)
            eBus: Debian (VM)
            Zigbee: Debian (VM) mit zigbee2mqtt

            1 Antwort Letzte Antwort
            0
            • M Offline
              M Offline
              mike1976
              schrieb am zuletzt editiert von
              #6

              Hallo,

              danke für deine info.
              Leider bekomme ich vom hersteller keine näheren infos.
              Aber stimmt es das ich die spannugn ja auch an gnd > tx, bzw gnd > rx
              messen kann?

              danke dir

              lg

              1 Antwort Letzte Antwort
              0
              • P Offline
                P Offline
                peterfido
                schrieb am zuletzt editiert von
                #7

                Hallo,
                ja, das geht genau so. Einfach messen, welchen Pegel RX und TX zu GND haben.

                Gruß

                Peterfido


                Proxmox auf Intel NUC12WSHi5
                ioBroker: Debian (VM)
                CCU: Debmatic (VM)
                Influx: Debian (VM)
                Grafana: Debian (VM)
                eBus: Debian (VM)
                Zigbee: Debian (VM) mit zigbee2mqtt

                1 Antwort Letzte Antwort
                0
                Antworten
                • In einem neuen Thema antworten
                Anmelden zum Antworten
                • Älteste zuerst
                • Neuste zuerst
                • Meiste Stimmen


                Support us

                ioBroker
                Community Adapters
                Donate

                515

                Online

                32.7k

                Benutzer

                82.4k

                Themen

                1.3m

                Beiträge
                Community
                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                ioBroker Community 2014-2025
                logo
                • Anmelden

                • Du hast noch kein Konto? Registrieren

                • Anmelden oder registrieren, um zu suchen
                • Erster Beitrag
                  Letzter Beitrag
                0
                • Home
                • Aktuell
                • Tags
                • Ungelesen 0
                • Kategorien
                • Unreplied
                • Beliebt
                • GitHub
                • Docu
                • Hilfe