Hallo, Frage von Raspberry Pi Anfänger! Ich habe eine Wetterstation, die Daten über RS232 schicken kann. Ich möchte diese WS mit RPI anschließen und die Daten auslesen Das Ziel ist natürlich die Daten Automatik auszulesen wenn RPI hochfährt. Es fehlt mir aber die ersten Schritte :-) Ich bitte um ein einfaches Script (erstmals fürs Auslesen) für die Schnittstelle RS323. mit Python? oder irgendwie anders? Also ich bräuchte einfach einen Anfang übrigens: Steht auf die Anleitung von dieser WS: "You need a "real" RS-232 cable. TTL level will not work". Das heißt man braucht keinen extra RS323 - TTL Wandler, oder? Grüße und Danke im Voraus! Nidal
Wenn deine Wetterstation lesbare Textzeilen hin- und her-schickt, würde ich es in 3 Schritten machen. Zuerst einen alten PC raus kramen, der noch eine serielle Schnittstelle hat. Dort einen Terminalemulator starten. Die Kommandos eintippen und die Antwort anschauen. Danach einen RS232-Wandler für den Raspi aufstecken. Bei den üblichen Verdächtigen wie Ebay oder Aliexpress suchen. Auf dem Raspi wieder mit einem Terminalemulator ausprobieren. Erst danach schauen, welche Stty-Parameter der Terminalemulatur setzt und das Script schreiben.
Du brauchst einen echten USB-zu-RS232 Adapter: https://www.reichelt.de/usb-2-0-konverter-a-stecker-auf-rs-232-1-5-m-usb2-seriell-p58641.html In der Original-Doku von Python findest du die nötigen Infos zur Programmierung: https://pyserial.readthedocs.io/en/latest/shortintro.html Vie spannender als das ist jedoch, wie dein "Sensor" die Daten formatiert und ob er irgendwelche Kommanods auf der Seriellen Schnittstelle benötigt. Wenn du Fragen zu eine Produkt stellst, dann benenne es bitte, damit man nicht raten muss oder gar falsche Ratschläge erteilt.
N. M. schrieb: > Ich bitte um ein einfaches Script (erstmals fürs Auslesen) für die > Schnittstelle RS323. > mit Python? oder irgendwie anders? Also ich bräuchte einfach einen > Anfang So schwer? Google: python serial port raspberry pi https://pyserial.readthedocs.io/en/latest/shortintro.html > übrigens: Steht auf die Anleitung von dieser WS: "You need a "real" > RS-232 cable. TTL level will not work". Das heißt man braucht keinen > extra RS323 - TTL Wandler, oder? Das kommt drauf an, wie du an den Raspberry Pi ran gehen willst. Auf Seiten der WS brauchst du jedenfalls eine richtige RS232-Schnittstelle. An deinen Raspberry Pi könntest du die z.B. mit einem USB-RS232-Wandler anschließen.
Schau mal nach dem Tool te923con. Das kann verschiedene Wetterstationen auslesen und das Resultat in eine Textdatei schreiben. Du mußt also mit Deinem Phytonscript zuerst das Tool anwerfen und dann die erzeugte Textdatei auslesen. Ob Deine Wetterstation vom Tool unterstützt wird weis ich nicht. WEnn die eine reine RS232 Schnittstelle hat dann ist es eigentlich einfach mit der Station zu kommunizieren. Du brauchst natürlich das Protokoll der Station. Schließ die Station doch einfach per RS232/USB Kabel an und stelle mit einem einfachen Terminalprogramm eine Verbindung zur Station her. Wenn das funktioniert, dann ist es in aller Regel möglich die Station über reine ASCII Befehlssequenzen auszulesen. Wenn alles auf reinem RS232 läuft dann antwortet auch die Station meist mit ASCII-Text, also mit Strings.
Ich hatte auch mal so eine Wetterstation und den gleichen Plan. Leider war es da so dass die Kommunikation über ein seltsames BitBang-Protokoll realisiert wurde und Stromversorgung für die Schittstelle war da auch irgendwie verbastelt. PCSoftware hätte es wohl gegeben, mit dem µC wollte ich es nicht auslesen.
Hallo und Danke für die Antworte! Stefanus F. schrieb: > Wenn du Fragen zu eine Produkt stellst, dann benenne es bitte, damit man > nicht raten muss oder gar falsche Ratschläge erteilt. http://wiki.argentdata.com/index.php/ADS-WS1 mit USB-RS232 Konverter (PC <-> WS) habe ich jetzt das Ergebnis auf Windows-PC über Putty (siehe Anhang). Ich benutze momentan einen RPI vom 2012! (erst zum Testen) nach update, upgrade habe ich das Script eingegeben: import time import serial ser = serial.Serial( port='/dev/serial0', baudrate = 9600, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, bytesize=serial.EIGHTBITS, timeout=1 ) passiert nichts :-) so ich kämpfe weiter, und jede Hilfe wäre dankbar! :-)
N. M. schrieb: > mit USB-RS232 Konverter (PC <-> WS) habe ich jetzt das Ergebnis auf > Windows-PC über Putty (siehe Anhang). Sehr gut. Das ist doch schon etwas greifbares. Du hast da immer wieder zie gleichen zeichenfolgen. Jetzt könntest du mal einen Sensor beeinflussen (z.B. die Temperatur 1°C erhöhen) und dann schauen, was sich verändert.
N. M. schrieb: > Ich habe eine Wetterstation, die Daten über RS232 schicken kann. Ich > möchte diese WS mit RPI anschließen und die Daten auslesen schickt sie die Daten kontinuierlich? ich vermute mal JA (dann ist es so wie mein Arduino der die Daten auch kontinuierlich schickt) > Das Ziel ist natürlich die Daten Automatik auszulesen wenn RPI > hochfährt. Autostart einrichten, gibts bestimmt Anleitungen im Netz. > Ich bitte um ein einfaches Script (erstmals fürs Auslesen) für die > Schnittstelle RS323. was gibts da einzurichten? siehe unten. > mit Python? oder irgendwie anders? Also ich bräuchte einfach einen > Anfang Python brauchts nicht mal > übrigens: Steht auf die Anleitung von dieser WS: "You need a "real" > RS-232 cable. TTL level will not work". Das heißt man braucht keinen > extra RS323 - TTL Wandler, oder? gg ganz genau, ein einfaches USB2rs232 Kabel reicht ich nutze solche Kabel (blau oder grün nach belieben) https://www.ebay.de/i/322683757693?chn=ps lsusb ohne Kabel an den PI anstecken, lsusb mit Kabel sehen ob es erkannt wird (der Unterschied machts!) Ggffs noch eine UDEV Regel nach ID einfügen -> googeln damit sich das Kabel immer auf den selben USB Port nach ID anmeldet! GtkTerm auf dem PI installieren Die Verbindungsparameter in Gtkterm einstellen Baudrate & 8N1 z.B. GtkTerm im Terminal aufrufen fertig
N. M. schrieb: > mit USB-RS232 Konverter (PC <-> WS) habe ich jetzt das Ergebnis auf > Windows-PC über Putty (siehe Anhang). > > Ich benutze momentan einen RPI vom 2012! (erst zum Testen) > nach update, upgrade habe ich das Script eingegeben: > > import time > import serial > ser = serial.Serial( > port='/dev/serial0', das ist aber nicht der USB wandler der müsste irgendwie /dev/ttyUSBxx heissen, siehe mein Bild! https://www.mikrocontroller.net/attachment/414409/Pi3-GTKterm.jpg
Gibt es für Raspian kein Putty? Für X86-Linux gibt es das mit apt-get install putty Dann könnte man einfach mal die Verbindung testen. Gerade noch mal auf dem Raspi getestet, da gibt es auch ein putty. Wenn du das von Windows kennst, warum nimmst du es nicht auch auf Linux?
N. M. schrieb: > passiert nichts :-) Natürlich nicht, das initialisiert ja nur die Schnittstelle (wenn es überhaupt die richtige ist). Von Daten empfangen ist nirgends die Rede. Georg
PittyJ schrieb: > Gibt es für Raspian kein Putty? Es gibt dieses und reichlich andere Terminalprogramme für Linux. Spontan fällt mir ein: Cutecom, Hammer Terminal, Minicom. Oder auch ganz primitiv: Schnittstelle mit stty konfigurieren und dann mit dem cat Befehl anzeigen, was rein kommt. sudo su - stty -F /dev/ttyUSB0 115200 cat /dev/ttyUSB0 (oder so ähnlich)
screen ist auch perfekt dafuer Allerdings wenn es schon daran scheitert, frag ich mich echt, wie Du das dann auswerten willst... Hast Du denn schon eine Grundlegende Idee was die Daten bedeuten?
Ich würde von der funktionierenden Verbindung PC (putty) < = > Wetterstation auf PC (putty) < = > RS232 to USB < = > Raspberry, unter Beibehaltung der Putty-Einstellungen, umschalten. (Wetterstation durch Raspberry mit RS232/USB Konverter ersetzen) und dann nach der Methode von Stefanus F. schrieb: > sudo su - > stty -F /dev/ttyUSB0 115200 > cat /dev/ttyUSB0 sehen ob von PC-Putty Zeichen am Raspberry empfangen werden können. (PC spielt Wetterstation)
Ich würde von der funktionierenden Verbindung PC (putty) < = > Wetterstation auf PC (putty) < = > RS232 to USB < = > Raspberry, unter Beibehaltung der Putty-Einstellungen, umschalten. (Wetterstation durch Raspberry mit RS232/USB Konverter ersetzen) und dann nach der Methode von Stefanus F. schrieb: > sudo su - > stty -F /dev/ttyUSB0 115200 > cat /dev/ttyUSB0 sehen ob von PC-Putty Zeichen am Raspberry empfangen werden können. (PC spielt Wetterstation) PittyJ schrieb: > Gibt es für Raspian kein Putty? Ja, aber man benötigt für die Ausführung von Putty eine graphische Oberfläche.
Googeln "ADS-W1 linux", dritter Treffer gibt eine genaue Anleitung: https://www.instructables.com/id/Raspberry-Pi-2-Weather-Station/
Hallo und Danke nochmal! gut, ich probiere diese verschiedenen Sachen aus und melde mich in paar Tagen wieder Grüße und bis dann Nidal
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.