Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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

  • Der neue Monatsrückblick für Mai und Juni 2026 ist online!
    BluefoxB
    Bluefox
    8
    1
    807

  • wichtiges UPDATE für controller 7.2.2 im stable
    HomoranH
    Homoran
    10
    1
    3.4k

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    16
    1
    5.6k

nod-red serial kommunikation

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
node-red
7 Beiträge 2 Kommentatoren 1.2k Aufrufe 2 Beobachtet
  • Ä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

      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

        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

            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

                1 Antwort Letzte Antwort
                0

                Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                Registrieren Anmelden
                Antworten
                • In einem neuen Thema antworten
                Anmelden zum Antworten
                • Älteste zuerst
                • Neuste zuerst
                • Meiste Stimmen


                Support us

                ioBroker
                Community Adapters
                Donate

                398

                Online

                33.0k

                Benutzer

                83.5k

                Themen

                1.3m

                Beiträge
                Community
                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                ioBroker Community 2014-2026
                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