RS485 Kommunikation Raspi <-> Arduino

  • Ich fasse das mal kurz zusammen, weil scheinbar der eine oder andere da kleinere Probleme mit der Software resp. der Kommunikation der beiden Partner hat.


    Also ...
    Zunächst mal braucht ihr die Arduino-Library aus -> diesem <- Beitrag.
    Diese einfach in den sketchbook/libraries/ Order entpacken.


    Dann benötigt ihr den Arduino-sketch aus > diesem <- Beitrag.
    Verwendet die Verkabelung wie sie dort beschrieben ist.
    Jetzt könnt ihr die IDE neu starten und den sketch übersetzen und flashen.


    Als letztes die libmodbus und das Programm für den Raspi nach -> dieser <- Anleitung installieren bzw. übersetzen.
    Jetzt sollte alles wie gewünscht funktionieren.


    Bei Problemen einfach melden ... dann sehen wir mal weiter ;)


    //Nachtrag:
    Ich habe in -> diesem <- Beitrag vergessen, das ihr die RFID-Library von Miguel Balboa benötigt.
    Die Lib erhaltet ihr -> hier <- ... der Beitrag ist mittlerweile auch korrigiert. Danke JumpY für den Hinweis ...


    cu,
    -ds-

  • Hallo,
    danke für die schnelle Übersicht, so hab ichs bei mir auch alles.


    Allerdings ist die Verkabelung in Post #19 noch falsch, da kommt der Fehler:

    Code
    1. MFRC522 Software Version: 0x0 (unknown)
    2. WARNING: Communication failure, is the MFRC522 properly connected?
    3. Scan PICC to see UID, type, and data blocks...


    Verkabelung sollte laut Lib so sein, glaube du hast das vertauscht:

    Code
    1. SDA -> Pin #10
    2. MOSI -> Pin #11
    3. MISO -> Pin #12
    4. SCK -> Pin #13
    5. IRQ -> Pin #2
    6. GND -> GND
    7. RST -> Pin #9
    8. 3V3 -> 3.3V


    Dann ließt der Arduino fleißig die Tags aus.


    Beim Raspberry Pi kommt weiterhin folgendes beim Aufruf des Scripts:

    Code
    1. pi@raspii ~/rs485 $ ./RaspiRFIDModbus
    2. Opening /dev/ttyUSB0 at 9600 bauds (E, 8, 2)
    3. [01][03][00][00][00][0F][05][CE]
    4. Waiting for a confirmation...
    5. ERROR Connection timed out: select
    6. Connection timed out
    7. pi@raspii ~/rs485 $


    Da eine Idee woran das liegen kann? Austausch der RS485 Module bringt keine Änderung :(

  • Hi,


    ok ... mit der Verdrahtung des Lesers hast Du recht. Keine Ahnung wo ich das herhabe ...
    Ich hab's im Beitrag geändert und die Verdrahtung doppelt nachgeprüft ... ist so wie bei Dir.


    Deine Fehlermeldung ist in der Tat so, dass Da wohl keine Verbindung zustande kommt.
    Hast Du mal diesen qmonitor ausprobiert?
    Und der RS485-Adapter passt von der Verdrahtung? A auf A und B auf B?


    Ach ja: und der RS485-Adapter ist auch /dev/ttyUSB0 ??
    Und noch was: ich habe derzeit recht kurze Kabel. Der RS485 Bus sollte immer terminiert werden. Wie das funktioniert kannst Du z.B. -> hier <- nachlesen. Sind nur drei Widerstände.
    Ich habe auch schon gelesen, dass man auf der anderen Seite zusätzlich A und B mit einem 120 Ohm Widerstand verbindet.


    cu,
    -ds-

  • Hallo,
    gut dann wäre die Sache Verkabelung abgehakt.


    Ja liegt an der Verbindung, allerdings kann ich weder Hardware noch Software ausschließen, wenn man diese Fehlermeldung im Internet eingibt, scheine ich nicht der einzige zu sein, allerdings auch in Verbindung mit anderen Betriebssystemen etc.


    Qmonitor hatte ich ausprobiert, wusste allerdings nicht wie ich das Ding bedienen muss, kann ich mir gleich aber nochmal ansehen aber bis dahin bekam ich auch keine Verbindung zu stande. Der Adapter ist richtig verkabelt, zum Test auch mal A-B / B-A ausprobiert. 'dmesg' gibt mir ebenfalls /dev/ttyUSB0 aus, alles gut soweit. Der Bus ist bei mir NICHT terminiert, dass werde ich mir gleich ansehen, bin heute den ganzen Abend zum testen bereit. Kabel sind aktuell stinknormale Jumperkabel ~15cm lang, oder geht ohne Twisterpair garnichts?


    Beziehst du den gleichen Massepunkt? Bei mir wird Arduino über USB vom PC und Pi per Mini-USB (2A) betrieben, also keine direkte Strom/Masseverbindung. Mir ist übrigens aufgefallen, dass die LED an den MAX485 Modulen (Arduino) nur ganz leicht leuchtet, wenn ich 5V/GND vom Arduino anlege, sobald ich den RE/DE mit Pin D3 verbinde leuchtet die LED in voller Helligkeit, übrigens auch wenn ich NUR D3 dranlasse und 5V/GND weglasse. Was kann das sein, oder ist das richtig so? Scheint mir fast so, als wenn der Arduino im "Sendemodus" steht (glaube da wird ja dann Saft über D3 aufgeschaltet, und bei Read nicht, oder?).


    EDIT: Halt, moment. Die Sache mit der LED können wir vergessen, der Kabel von GND war defekt. Ich habe gerade nicht die passenden Widerstandswerte hier, mit anderen ändert sich aufjedenfall trotz terminierung nichts.

  • Also gemeinsame Massen werden nicht benötigt. Das ist ja u.a. so sexy an der Geschichte mir der RS485 ... da werden die Daten aus der Differenz von A und B "ausgerechnet";)
    Terminierung scheint wirklich wichtig zu sein ... ich habe max. 5 cm im Moment ... da scheint das noch ohne zu gehen. Twisted pair muss imho auch nicht sein - notfalls verdrillst Du die Jumperkabel halt ...


    Ich hatte anfangs auch Schwierigkeiten. Kontaktprobleme ... ich habe mir das die Kabel usw. mit Steckern konfektioniert, das längere Kabel löte ich noch an zwei kleinen Platinen an die ebenfalls Steckkontakte haben. Dann kann ich das mit dem Abschluss auch ausprobieren. Seither ist jedenfalls Ruhe ...


    qmonitor ... kann ich nur kurz was dazu beitragen: Im Reiter oben links RTU auswählen, dann activate anklicken und den seriellen Port auswählen, falls der nicht sowieso gleich eingetragen wird.
    Baudrate auf 9600, Parity auf even und Databits auf 8.
    Anzahl "Coils" auf max. 14 (mehr gibt eine Fehlermeldung) und Funktion auf 0x03 (read registers oder so). Dann senden klicken.


    cu,
    -ds-

  • So, jetzt bei mir mit Terminierung, da geht scheinbar was. Habe keine wirklich passenden Widerstände hier, hab mal 220Ohm beigeschaltet und zwischen beiden Leitungen drehe ich mit nem Poti was rum, aufjedenfall kommt jetzt etwas, dass sieht allerdings so aus.. Aber ist es nicht wirklich so, dass der Pi einen bestimmten Slave ansprechen müsste und der auch eine bestimmte ID haben muss im Arduino Sketch, konnte da jetzt nichts finden zu.



    Das too many data kommt wenn ich das zu schnell eintippen, warscheinlich ist der Bus da noch belegt.


    Qmodbus funktioniert so, bekommt aufjedenfall oben rechts laufend Daten angezeigt, stürzt allerdings nach einem Ablauf mit "Speicherzugriffsfehler" ab, warscheinlich ist da beim Build etwas schiefgelaufen, werde das gleich nochmal wiederholen.

  • Hmm ... das sieht schon mal nach was aus ... allerdings nicht nach dem, nach dem es ausschauen müsste.
    Zu schnell tippen bei 9600 Baud ... kann schon sein ...
    Das hängt da anscheinend bei Dir bereits mit 15 cm mit der Terminierung zusammen. Welche Widerstände hast Du verwendet? Ich denke, die genauen Werte mit 120 und 390 Ohm sind nicht unbedingt notwendig, ich kann mir aber vorstellen, dass das Verhältnis von 190:330 (wie bei einem Spannungsteiler) eine Rolle spielt ...
    Und evtl. brauchst Du tatsächlich noch einen 120 Ohm am Anfang des Busses von A nach B ...
    Vielleicht hat da einer unserer Elektronik-Gurus noch eine Idee dazu.


    Es sieht jedenfalls so aus als wärst Du auf dem richtigen Weg :thumbs1:


    Wie gesagt, das ist das nächste, das ich ausprobiere: ein längeres Kabel ...


    Ach ja: was zu den Flags noch ... wenn die aktuellen Register der eines Transponders noch nicht vom Master gelesen wurden ... blockieren (also keinen weiteren Transponder einlesen) ? Alles andere würde imho zu kompliziert ...


    //EDIT:
    Mir fiel da gerade was zum Thema gemeinsame Masse ein: da wir ja das Einlesen eines Transponders über einen Interrupt bzw. Statuswechsel eines Pins am Raspi signalisieren, brauchen wir doch eine gemeinsame Masse. Also vier Drähte per Arduino, A und B, Masse, Signalleitung und einen GPIO-Pin des Raspi.


    cu,
    -ds-

  • Bitte teste du auch nochmal ein längeres Kabel, ich habe jetzt alles probiert, nichts funktioniert bei mir. Bei dem Qmodbus kann ich irgendwas mir serial 0 wählen, da steht aber nicht genau ttyUSB0 ; steht das bei dir da? Bitte achte mal darauf. Dabei kommt aber der gleiche Fehler wie beim anderen, Zeitüberschreitung.


    Bitte mach mal Fotos von deiner Verkabelung dass man die so grob sieht, ich habe jetzt alles zusammengelötet auf einer Platine, auch ohne Wirkung. Ich bin echt überfragt, weiß nichtmehr weiter :(


    So sieht die Ausgabe von dmesg aus:


    [ 545.688970] usb 1-1.4: new full-speed USB device number 6 using dwc_otg
    [ 545.791124] usb 1-1.4: New USB device found, idVendor=067b, idProduct=2303
    [ 545.791150] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
    [ 545.791167] usb 1-1.4: Product: USB-Serial Controller
    [ 545.791183] usb 1-1.4: Manufacturer: Prolific Technology Inc.
    [ 545.792577] pl2303 1-1.4:1.0: pl2303 converter detected
    [ 545.796625] usb 1-1.4: pl2303 converter now attached to ttyUSB0


    ----
    Soweit alles okay, aber nichts passiert :( (Auch nichtmehr wahrlos irgendwas, immer der Connectionfehler, war warscheinlich eben wegen Störungen). Widerstände etliche laut internet getestet, ohne Erfolg.

  • Hi,
    also die Ausgabe von dmesg passt ja schon mal.


    Also bei mir steht in der Auswahlbox "USB serial adapter 0" ... sonst nix. Könnte daran liegen, dass ich den getty Prozess in der inittab deaktiviert habe. Wie das genau geht hatte ich in -> dieser FAQ <- mal zusammengeschrieben ...
    Jedenfalls erkennt er bei mir /dev/ttyAMA0 nicht als serielle Schnittstelle ...


    Und das mit dem langen Kabel probier ich aus ... klaro ... hatte ich ja gesagt.
    Verkabelung ... nun, da seh ich mal, was ich da mache. Das Dumme ist, dass in Fritzing diese RS485-Teile nicht als Bauteil dabei sind. Die wollte ich erst erstellen, um dann die Schaltungen hier zu posten.


    Dass der Datenmüll bei dir Störstrahlung war kann schon sein. Wie gesagt, auch die Terminierung spielt da wohl eine nicht unwichtige Rolle ...


    Also, ich bleib mal dran ... probier vielleicht doch in der Zwischenzeit auch mal ganz kurze Kabel. Evtl. geht's dann bei Dir auch ...


    //Nachtrag:
    Also ich bekomme auch timeouts, wenn ich während der Übertragung einen Transponder einlese ... das ist noch ein Punkt, den ich mir mal anschauen werden. Kann aber auch mit der Ausgabe auf die serielle Schnittstelle (Monitor) zusammenhängen.
    Ausserdem war mal der RFID-Leser wohl ungünstig platziert ... das gab auch timeouts und CRC-Fehler ... Leser ein Stückchen verschoben und alles war wieder ok. Keine Ahnung, womit das jetzt wieder zusammenhing. Möglicherweise ist die fehlende Bus-Terminierung dafür verantwortlich.


    // Und noch ein Nachtrag: ich habe jetzt mal zwei 0,14² Schaltlitzen mit je ca. 5 m Länge als Verbindung genommen.
    Es ist schon so, dass jetzt Fehler kommen ... aber bei mehreren Aufrufen sind auch fehlerfreie Verbindungen darunter.


    Irgendwie strange, dass das bei Dir nicht geht ...
    Ach ja: zur Verkabelung ... da gibts nicht viel zu fotografieren. Der USB-Adapter steckt in einem aktiven Hub ( vielleicht liegt hier ja die Ursache für Deine Fehler :s ), A geht auf A, B geht auf B.
    Am Arduino ist alles so verschaltet, wie Du mich ja korrigiert hattest.

    cu,
    -ds-

  • Alles klar, bei mir steht auch "USB Serial Adapter 0", passt also. Habe getty auch mal deaktiviert, QModbus zeigt mir aufjedenfall nichts anderes an.
    Der Versuch mit 4cm Kabeln bringt ebenfalls den Fehler Timeout: select.. RFID Leser nah oder 30cm weg macht keine Änderung, einlese oder nicht auch nicht.


    Hast du vielleicht irgend einen Testsketch, wo ich mit dem Arduino einfach was zum Pi senden kann ohne Aufforderung? Dann könnte ich das ganze mal auf dem Pi ansehen ob da dann was ankommt, also ohne Slaveselektion oder so... Ich warte dann aber auch mal auf deinen Fritzing Plan, ich weiß nichtmehr worans liegen soll. Hast du auch die PL2303 Sticks, oder andere?


  • ... Hast du auch die PL2303 Sticks, oder andere?


    nein, die Adapter melden sich bei mir als ch341 ...

    Code
    1. [30580.901519] usb 1-1.2.3.3: new full-speed USB device number 7 using dwc_otg
    2. [30581.004844] usb 1-1.2.3.3: New USB device found, idVendor=1a86, idProduct=7523
    3. [30581.004886] usb 1-1.2.3.3: New USB device strings: Mfr=0, Product=2, SerialNumber=0
    4. [30581.004907] usb 1-1.2.3.3: Product: USB2.0-Serial
    5. [30581.018432] ch341 1-1.2.3.3:1.0: ch341-uart converter detected
    6. [30581.025037] usb 1-1.2.3.3: ch341-uart converter now attached to ttyUSB0
    7. pi@raspberrypi ~/RS485_MODBUS $


    Testsketch habe ich leider nicht - für solche Aktionen verwende ich halt den qmonitor ... aber wenn der bei Dir auch nicht tut :s
    Ich wüsste jetzt auch ad hoc nicht, wie man mit z.B. Brücken die RS485 so umfunktioniert, dass eine lokale Rückleitung erfolgt - sprich, dass z.B. der Raspi das empfängt was er gesendet hat.
    Bei der rs232 ist das einfach ... da kommt nur Rx an Tx und Tx an Rx und schon sieht man ob die Übertragung prinzipiell funktioniert.
    Hast Du evtl. einen zweiten Arduino und einen zweiten zugehörien Adapter? Dann könntest Du im sketch die Slave-Id ändern und überprüfen, ob Arduino <-> Arduino funktioniert.


    cu,
    -ds-

  • Alles klar, möglicherweise sind die PL2303 Sticks nicht das Wahre, allerdings hatte ich ja schonmal eine Verbindung darüber. (Ganz am Anfang)


    Ja ich habe noch mehrere Module und mehrere Arduinos, dann muss ich das wohl mal testen. Muss dann auf dem anderen Arduino nur das C-Programm des Raspberry aufgespielt werden?


    Nochmal ganz simpler Kommunikationstest zwischen Arduino und Raspberry:
    Sketch:


    Dabei ist RO Pin2 , DI Pin3 , DE/RE Pin4.


    Auf dem Pi per Minicom installiert und dann:

    Code
    1. pi@raspii ~ $ sudo minicom -b 9600 -D /dev/ttyUSB0 -o


    Ausgabe:

    Code
    1. Willkommen zu minicom 2.6.1
    2. Optionen: I18n
    3. Übersetzt am Apr 28 2012, 19:24:31.
    4. Port /dev/ttyUSB0
    5. Drücken Sie CTRL-A Z für Hilfe zu speziellen Tasten
    6. Msg12345678901234567ÓMsg12345678901234567ÓMsg12345678901234567Ó


    Funktioniert so 1A, deswegen gehe ich jetzt davon aus, dass die Adapter etc alle funktionieren. Vielleicht ist da doch irgendwo ein verdrahtungsfehler...

  • Hm ... mein erster Gedanke war jetzt, dass ich bei der Änderung der Modbus-Library des Arduino einen Fehler reinbekommen habe ... aber bei mir funktionierts ja. Also kann man das imho mal ausschliessen.
    Der Unterschied ist, dass Du nur die RS485-Verbindung wie eine serielle Schnittstelle nutzt, im sketch von mir aber der Modbus-Unterbau inkl. dem automatischen Update/Response verwendet wird.


    Aber das wäre ja gelacht, wenn wir das Ding nicht bei Dir auch zum Laufen bringen würden ...


    //EDIT:
    Wenn ich mich jetzt nicht verguckt habe, ist der Arduino folgenermassen verdrahtet:


    //EDIT: copypaste Fehler korrigiert, danke JmpY


    cu,
    -ds-

  • Autsch ... haste recht :blush:



    so, jetzt sollte es aber stimmen.
    Ich korrigier das oben auch gleich ...


    cu,
    -ds-

  • JumpY und alle die es interessiert:
    Um das Ganze einfacher zu gestalten, und um das Testen zu erleichtern, beschreibe ich mal, wie ihr mein Environment nachbauen könnt:
    Im Homeverzeichnis des Users pi habe ich ein Verzeichnis namens RS485_MODBUS angelegt.
    Anschliessend dann die libmodbus-Library wie -> hier <- beschrieben in dieses Verzeichnis herunterladen und installieren.
    Wer ganz sicher sein will, kann die Sourcen aus -> diesem <- Beitrag verwenden.
    Installation bleibt gleich wie oben.
    Um die Testprogramme für die RS485 zu übersetzen, wird die arduPi-Lib von Cooking Hacks benötigt.
    Die Seite zum Download-Link könnt ihr über -> diesen <- Link erreichen.
    Ich habe im Verzeichnis RS485_MODBUS ein weiteres Unterverzeichnis arduPi angelegt und die Dateien dorthinein entpackt.
    Was jetzt noch fehlt ist die RS485-Lib. Die erhaltet ihr über -> diese <- Seite. Dort könnt ihr sowohl eine -> Arduino-Version <- als auch eine für den -> Raspi <- downloaden.
    Entpackt jetzt die Raspi-Version im Verzeichnis RS485_MODBUS.


    Eure Verzeichnisstruktur sollte jetzt so aussehen:

    Code
    1. pi@raspberrypi ~/RS485_MODBUS $ ls -l
    2. insgesamt 196
    3. drwxr-xr-x 2 pi pi 4096 Apr 14 00:33 arduPi
    4. -rw-rw-r-- 1 pi pi 15299 Apr 14 00:32 arduPi_1-5.tar.gz
    5. drwxr-xr-x 8 pi pi 4096 Apr 13 22:38 libmodbus
    6. -rw-rw-r-- 1 pi pi 131966 Apr 7 01:21 libmodbus.zip
    7. drwxr-xr-x 2 pi pi 4096 Apr 14 01:11 RS485
    8. -rw-rw-r-- 1 pi pi 33963 Apr 1 17:25 RS485_for_Raspberry_Pi.zip
    9. pi@raspberrypi ~/RS485_MODBUS $


    Wechselt jetzt in das Verzeichnis RS485. Dort findet ihr einige Testprogramme.
    Mit folgendem shell-script solltet ihr diese jetzt übersetzen können:



    Entpackt ihre jetzt die RS485-Lib für den Arduino in euer sketchbook/libraries Verzeichnis, solltet ihre die Tests jetzt zwischen dem Raspi und dem Arduino ausprobieren können.


    Achtung! Die Verdrahtung für die Tests (was die Arduino-sketches betrifft) müsst ihr natürlich noch anpassen, genau so wie ihr die verwendete Schnittstelle des Raspi ggf. ändern müsst.



    Viel Erfolg,
    -ds-

  • Frisches System aufgesetzt. Dann folgendes:
    - Raspi:config : Ländereinstellungen etc. gemacht.


    Ordner RS485_MODBUS erstellt, libmodbus.tgz reinkopiert und entpackt.


    Hier gingen die Fehler jetzt los. "./configure" ging nicht, da kommt immer: "configure: error: cannot find install-sh, install.sh, or shtool in build-aux "."/build-aux"
    Dann hab ich folgende Pakete heruntergeladen: "sudo apt-get install autoconf gettext libtool libjpeg62-dev shtool" -- Ohne Besserung für ./configure .
    Nachdem ich mehreres durchgelesen habe, habe ich configure neu erstellt mit dem Befehl "./autogen.sh & anschließend "./configure".
    Danach "make" und "sudo make install" ausgeführt.
    Hier der Code davon:


    Prüfen ob alles da ist: (Sieht alles gut aus)


    Danach dann ArduPi1-5 heruntergeladen und entpackt. Danach den Rest der Anleitung auf cooking-hacks ausgeführt: Änderungen in /boot/cmdline.txt und /etc/inittab !
    ACHTUNG: Auf KEINEN Fall die Datei /boot/cmdline.txt nur durch " dwc_otg.lpm_enable=0 console=tty1" ersetzen!!! Nur die anderen Sachen rauslöschen und den Rest UNBEDINGT stehen lassen. Ansonsten könnt ihr das Image neu aufspielen (Erfahrung :mad_GREEN: )


    Danach noch die RS485 Library eingefügt, sieht nun so aus:


    Code
    1. pi@Raspii ~ $ cd RS485_MODBUS
    2. pi@Raspii ~/RS485_MODBUS $ ls -l
    3. insgesamt 1060
    4. drwxr-xr-x 2 pi pi 4096 Apr 15 09:29 arduPi
    5. -rwxr--r-- 1 pi pi 15299 Apr 14 20:20 arduPi_1-5.tar.gz
    6. drwxr-xr-x 8 pi pi 4096 Apr 15 09:27 libmodbus
    7. -rwxr--r-- 1 pi pi 1019718 Apr 12 10:50 libmodbus.tgz
    8. drwxr-xr-x 2 pi pi 4096 Apr 29 2014 RS485
    9. -rwxr--r-- 1 pi pi 33963 Apr 15 09:31 RS485_for_Raspberry_Pi.zip
    10. pi@Raspii ~/RS485_MODBUS $


    Danach das Bash-Skript ausgeführt: (Da ist aber irgendwo ein Fehler den ich nicht finde..)




    Nachtrag: So auch nochmal das "alte" Script mit den Registern getestet, funktioniert nach wie vor nicht :(


    Code
    1. pi@Raspii ~/RS485_MODBUS $ cc -o RaspiRFIDModbus RaspiRFIDModbus.c -I/usr/local/include/modbus -I/usr/local/include/libmodbus -lmodbus
    2. pi@Raspii ~/RS485_MODBUS $ ./RaspiRFIDModbus
    3. ./RaspiRFIDModbus: error while loading shared libraries: libmodbus.so.5: cannot open shared object file: No such file or directory
    4. pi@Raspii ~/RS485_MODBUS $ sudo ldconfig
    5. pi@Raspii ~/RS485_MODBUS $ ./RaspiRFIDModbus
    6. Opening /dev/ttyUSB0 at 9600 bauds (E, 8, 2)
    7. [01][03][00][00][00][0F][05][CE]
    8. Waiting for a confirmation...
    9. ERROR Connection timed out: select
    10. Connection timed out


    Der Fehler mit dem shared object lässt sich scheinbar beheben durch "sudo ldconfig".

  • Es ist vollbracht! Der Fehler seit über eine Woche der nicht gefunden werden konnte war ganz einfach... Im Arduino Sketch steht als Baudconfig 8N2 -> Also 8 Data ; Parity None ; Stop 2. Da ich davon ausgegangen bin, dass dreamshader das so gelassen hat, habe ich den Raspberrycode nicht verändert, darin stand aber Parity EVEN ! Das konnte ja nicht funktionieren...


    Ohne jetzt die neuen Tests ausgeführt zu haben läuft mit Qmodbus und RaspiRFIDModbus das auslesen der Register wie eine 1!!!


  • Sehr schön :thumbs1:
    Jetzt brauchen wir dann noch ein Kabel vom Arduino zum Raspi für das Lese-Signal und die Terminierungen des RS485 Bus.
    //EDIT: Wichtig! Level-shifter für die Signal-Leitung verwenden ...


    cu,
    -ds-

  • Korrekt, Levelshifter habe ich hier. Ich muss bei Zeit mal ein längeres Kabel anschließen, habe einfach ein paar Widerstände angelötet, 1 Meter Cat funktioniert aufjedenfall damit, hatte die Werte irgendwo im Netz gefunden (10k / 1k glaub ich). Danach gehts dann weiter, falls du da schon was machst bitte mitteilen :)


    OT: Aber jetzt wird erstmal gepflanzt, wir sprachen davon ;) Dafür gibt's dann die nächsten Projekte :P


    Gruß
    JumpY