Doncarlos Geschrieben February 14, 2016 at 17:37 Geschrieben February 14, 2016 at 17:37 Hallo, ich hab am Freitag noch mein RS232 Bricklet bekommen. Allerdings klappt das mit dem Auslesen noch nicht. Vorab, es handelt sich bei den Daten um Temperaturen aus einem externen Gerät. Das Gerät bzw dessen Schnittstelle kann ich nicht beeinflussen und sie ist auch nicht dokumentiert. Ich hab mich mit einem alten Laptop mit serieller Schnittstelle und Putty herangetastet und folgende Daten ermittelt: 19200 Baud 8 Bit 1 Stopbit Parity None Flow XON/XOFF Die Anlage sendet alle 500ms eine Datenzeile die so aussehen sollte: pm 61 0 9.4 79 159 0.1 -0.9 71.6 200.0 68.3 0.0 68 42 54 76 0.0 0.0 -2427668000000000000000000000000.0 0 65.1 140.0 63.7 0.0 140 55 140 140.0 140.0 0.0 0.0 140 140 15 140 100 100 100 100 100 100 140 140 14 0.7 0.8 0.0 9.9 0.00 0.00 0.0 0.00 305 829 1 df1 1 0 0 0 Stattdessen kommt aus dem Brickviewer Logger sowas im Ascii Modus heraus pm 65 0 0.6 71 1fH........r.....0 57.6 0.$S...&$.....r...0 -2427........00000000FL.8000.....r...0.0 53.5...R&ML...........140.0 ...&...& 140 24 .&.L.. 1........100 100 .&$L.. 1.r...r....R'...&...r....0 0.00 3.$.NHL........ . 0 Aus dem ReadCallback kommt es ähnlich heraus. Meine Configuration : rs232bricklet.SetConfiguration(BrickletRS232.BAUDRATE_19200, BrickletRS232.PARITY_NONE, BrickletRS232.STOPBITS_1, BrickletRS232.WORDLENGTH_8, BrickletRS232.HARDWARE_FLOWCONTROL_ON, BrickletRS232.SOFTWARE_FLOWCONTROL_OFF ); Auf den ersten Blick sehen die fehlerhaften Daten nur so aus, als hätte sich irgendwas im Zeichensatz vergriffen. Aber der ganze Datensatz hat keine Sonderzeichen o.ä. drin; und ab und zu (am Anfang des Datensatzes, aber auch in der Mitte ) klappt es ja auch. Hat jemand einen Tipp für mich ? Was kann ich noch liefern ? Hex Daten? Dankeschön! Zitieren
FlyingDoc Geschrieben February 14, 2016 at 19:04 Geschrieben February 14, 2016 at 19:04 Hier liegt eindeutig eine Unstimmigkeit in der Schnittstellenkonfiguration vor. Die beiden COM Ports verstehen sich nicht. Was für ein Gerät ist es denn? Vielleicht findet man in den unendliche WWWeiten die Beschreibung dazu. Zitieren
Doncarlos Geschrieben February 14, 2016 at 19:30 Autor Geschrieben February 14, 2016 at 19:30 Hi! Ja, das war auch mein Gedanke. Ich hab auch im Brickv mit allem herumexperimentiert.. es wird nicht besser. Die Konfiguration die ich in Putty verwende funktioniert astrein und über Stunden hinweg sauber. Vielleicht hab ich die nicht richtig in das Tinkerforge-Universum übersetzt ? Das Gerät ist eine Heizungsanlage, der Hersteller gibt diese Sachen nicht raus, und alles was man dann im Internet findet ist genau das was ich hier probiert habe :-) Ich habe lange gesucht und probiert. Einzig, die Heizung führt die serielle Schnittstelle mit einem RJ45 Stecker nach aussen. Zwischen Heizung und Bricklet ist also noch ein Adapter. Aber, das ist auch der gleiche Adapter der bei Putty dazwischen war. Zitieren
photron Geschrieben February 15, 2016 at 10:02 Geschrieben February 15, 2016 at 10:02 XON/XOFF Flow Control ist Software Flow Control. In deinem SetConfiguration() Aufruf aktivierst du aber Hardware Flow Control. Hilft es, wenn du Software Flow Control beim RS232 Bricklet aktivierst? Zitieren
photron Geschrieben February 15, 2016 at 13:30 Geschrieben February 15, 2016 at 13:30 Hast du auf dem RS232 Bricklet die aktuelle Firmware 2.0.2 drauf? Der Tab in Brick Viewer für das Bricklet zeigt unten 3 verschiedene Error Counter an? Stehen die alle bei 0? Zitieren
Doncarlos Geschrieben February 15, 2016 at 14:37 Autor Geschrieben February 15, 2016 at 14:37 Hi! Das werde ich alles möglichst heute Abend noch ausprobieren. Was mir gestern Abend noch an der Putty Konfiguration aufgefallen ist: Ich hatte den Zeichensatz von UTF8 auf Latin1 umgestellt; Ich bin nicht der größte Byte Schubser ... also, ich bekomm ein char Array aus der API heraus, das müsste dann ja bereits in einem bestimmten Zeichensatz kodiert sein, oder ? Fehlt mir hier vielleicht auch "nur" noch eine Umwandlung ? Firmware ist aktuell. Ich werde noch berichten. Schöne Grüße Zitieren
photron Geschrieben February 15, 2016 at 15:43 Geschrieben February 15, 2016 at 15:43 Die heile Ausgabe besteht nur aus ASCII Zeichen. Das ist also kein Problem mit dem Zeichensatz. Das sollte in Putty mit UTF-8 und Latin1 gleich gut funktionieren, da beide ASCII auf die gleiche Weise enthalten. Sprich in Putty von UTF-8 auf Latin1 umzustellen ist nicht nötig, wenn doch dann ist da etwas faul. Die kaputt Ausgabe beinhaltet im Brick Viewer im ASCII Anzeigemodus viele Punkte, also Werte die in ASCII keinem darstellbaren Zeichen entsprechen. Kannst du so ein kaputte Ausgabe mal aus dem Hex Modus hier zeigen, damit wir sehen können welche Werte sich hinter den Punkte verstecken? Die kaputt Ausgabe ist ja nicht vollständig kaputt. Da sind ja auch mitten drin noch heile Teile. Hast du vielleicht ein Wackelkontaktproblem, das nur das RS232 Bricklet betrifft? Zitieren
Doncarlos Geschrieben February 15, 2016 at 20:24 Autor Geschrieben February 15, 2016 at 20:24 HAllo! also der Reihe nach: - Wenn ich die Hardwareflusskontrolle auf off stelle, kommen keinerlei Daten mehr aus der Schnittstelle , egal was für Software eingestellt ist. - Hex und normale Daten habe ich angehängt. btw: Der Brickviewer macht einem das abspeichern der Hexdaten nicht einfach, ein Speichern unter Button wäre nett) - Wackelkontakt hab ich untersucht; aber wärend des Lesevorgangs bewegt sich nichts an dem Aufbau - Alle Error Counter sind auf 0; auch im Testprogramm wird der Error Callback nicht ausgelöst hab ich noch was vergessen ? Danke! Brickvrs232ausgabe_hex.txtBrickvrs232ausgabe.txt Zitieren
photron Geschrieben February 16, 2016 at 10:00 Geschrieben February 16, 2016 at 10:00 Du sagtests in Putty XON/XOFF Softwareflusskontrolle aktiviert zu haben. War das wirklich nötig damit es funktioniert? Das scheint mir komisch, wenn du sagst beim Bricklet zwingend Hardwareflusskontrolle aktivieren zu müssen. In der heilen Ausgabe kommt diese Zeichenkette vor: -2427668000000000000000000000000.0 Die taucht auch in der kaputten Ausgabe wieder auf, aber so (hex-escaped): -24276\x82\x82\x82\x82\x82\x82\x82\x82\xc1\x82\x82\x82\x82\x82\x82\x82\x98\x980000.0 Zuerst fällt auf, dass die kaputt Version 4 Zeichen kürzer ist. Betrachtet man das ganze dann binär und versucht das zu Deckung zu bringen sieht das so aus: heile 00101101 00110010 00110100 00110010 00110111 00110110 00110110 00111000 00110000 00110000 00110000 00110000 00110000 00110000 00110000 00110000 00110000 00110000 00110000 00110000 00110000 00110000 00110000 00110000 00110000 00110000 00110000 00110000 00110000 00110000 00110000 00110000 00101110 00110000 kaputt 00101101 00110010 00110100 00110010 00110111 00110110 10000010 10000010 10000010 10000010 10000010 10000010 10000010 10000010 11000001 10000010 10000010 10000010 10000010 10000010 10000010 10000010 10011000 10011000 00110000 00110000 00110000 00110000 00101110 00110000 Im Mittelteil sieht das doch halbwegs ähnlich aus. Es scheint nicht so zu sein, dass die kaputten Teile völlig zufällig kaputt sind. Hast du mal versucht die Baudrate eine Stufe rauf oder runter zu stellen? Zitieren
Doncarlos Geschrieben February 16, 2016 at 10:40 Autor Geschrieben February 16, 2016 at 10:40 Hi, ich hab am Brickviewer alles mögliche an Baudraten (auch an anderen Parametern) ausprobiert. Es geht dann von "ganz kaputt" zu "etwas weniger kaputt" wieder über zu "ganz kaputt". Ich werde heute nochmal den alten Laptop mit echtem RS232 Port bemühen und nochmal ein Log aus/mit Putty erstellen. Ich teste nochmal mit den Flusskontrollen, dem Zeichensatz und auch nochmal wegen Wackelkontakt Kann ich sonst noch was tun ? Noch eins zu den Daten: Das sind immer verschiedene Zeilen; in zeitlicher Nähe von Minuten sind die Daten identisch oder nur minimal unterschiedlich; mit mehr zeitlichem Abstand zwischen zwei Logs kann es sein, dass die Heizung in einem komplett anderem Betriebszustand ist. Zitieren
photron Geschrieben February 16, 2016 at 11:38 Geschrieben February 16, 2016 at 11:38 Meine Vermutung ist, das die Heizung mit einer nicht-standard Baudrate spricht und das Bricklet damit weniger gut zurecht kommt als dein Laptop. Wenn du für das Bricklet die Baudrate ein Stufen über oder unter 19200 stellst, ist es dann sofort vollständig kaputt? Oder ist es dann kaputter aber es sind immer noch heile Teile dabei? Gibt es keine Dokumentation zur Heizung die was über die Baudrate sagt? Zitieren
Doncarlos Geschrieben February 16, 2016 at 12:19 Autor Geschrieben February 16, 2016 at 12:19 Hi, die Einstellungen hab ich selber von anderen Usern, die es ebenso mit try and Error rausbekommen haben. Der Hersteller sagt dazu gar nichts, das ist ja das dumme.... Ich ziehe einfach nochmal Logs mit den benachbarten Baud Raten. Ich hab auch noch einen USB auf Seriel Adapter bestellt, den kann ich dann auch noch in den Ring werfen. Dankeschön! Zitieren
Doncarlos Geschrieben February 16, 2016 at 13:19 Autor Geschrieben February 16, 2016 at 13:19 Noch was: Könnte das ein "simples" elektrisches Problem sein ? eine fehlerhafte Masse oder sowas? Das serielle Kabel führt ja eine Masse, aber da ist auch noch ein Adapter dazwischen. Der Laptop mit eigenem Netzteil könnte sich da anders verhalten?! Zitieren
photron Geschrieben February 16, 2016 at 14:57 Geschrieben February 16, 2016 at 14:57 Ein Masseproblem könnte falsche Daten vielleicht erklären. Aber zumindest im -2427668000000000000000000000000.0 Beispiel fehlen ja auch einige Bits. Zitieren
Doncarlos Geschrieben February 18, 2016 at 18:28 Autor Geschrieben February 18, 2016 at 18:28 Hi, ich hab da noch eine Zwischenfrage. Ich bin beim RED Brick über dessen GPIO Schnittstelle und dessen UART Pins gestolpert. Die Pins können doch auch RS232, richtig ? Ja, mir ist bewusst, dass ich dann ausserhalb der Brick-Welt bin. Das wäre mir durchaus auch recht. Sind diese Pins dann ähnlich wie beim Raspberry zu behandeln ? Soweit ich das sehe braucht dieser ja noch einen Pegelwandler (MAX323IC) on top. Dankeschön und schöne Grüße BTW: Ich hab die Threds gefunden, in denen es um ein Kabel/Board für den GPIO Port geht. Alleine schon weil es dort die Spannung nochmal abzugreifen gibt wäre ich auch für so ein Kabel. Zitieren
photron Geschrieben February 19, 2016 at 09:10 Geschrieben February 19, 2016 at 09:10 Auf der GPIO Schnittstelle des RED Brick liegen auch UART Pins, ja. Die GPIO Schnittstelle ist aber momentan nur in Hardware vorhanden. Sie wird vom Kernel momentan weder passend konfiguriert, noch gibt es momentan ein passendes Flat Flex Kabel dazu. Das ist also nichts was du kurzfristig nutzen könntest. Zitieren
Doncarlos Geschrieben February 19, 2016 at 17:27 Autor Geschrieben February 19, 2016 at 17:27 Nach etwas suchen glaube ich verstanden zu haben, dass es das Kabel nicht nur hier nicht, sondern nirgends gibt.... Das ist schade. Ist ja seltsam, dass es Stecker gibt, für die es keine Kabel zu kaufen gibt. Ein Kabel wäre nett. Ein kleines Platinchen dazu wäre noch netter. Gibt es da Planungen? Wisst ihr zumindest wann es irgendwo so ein Kabel gibt ? Zitieren
photron Geschrieben February 19, 2016 at 17:34 Geschrieben February 19, 2016 at 17:34 Das Flat Flex Kabel müsste speziell angefertigt werden, die gibt es nicht von der Stange. Momentan gibt es da keine Pläne für. Es gibt schlicht sehr sehr wenig bis keine Nachfrage dafür, daher ist das softwareseitig auch noch unfertig. Zitieren
Doncarlos Geschrieben February 21, 2016 at 10:16 Autor Geschrieben February 21, 2016 at 10:16 Hallo, also, heute bin ich ein bischen schlauer: - Nullmodem Kommunikation zwischen zwei Laptops geht ohne weiteres - Stapel am "neuen" Laptop an der Heizung produziert den bekannten Müll - Stapel am 5V Netzteil produziert auch nur Müll - Stapel am "alten" Laptop funktioniert wie gewollt Was ist der Unterschied ? Der Akku des alten Laptops ist defekt, er hing bei allen Versuchen am klassischen Netzteil mit 3 poligem Schukostecker. Das ganze ist beliebig oft reproduzierbar. Scheint also eher ein elektrisches Problem zu sein. Ich hab hier mehrere 5V Netzteile zur Verfügung, das klassische HandyLadegerät, eine Wandwartze mit mehr Bums von einem Tablet, alle haben das gleiche Problem. Was könnte da nun helfen ? Eine galvanische Trennung an der RS232 Schnittstelle ? Ein anderes Netzteil ? aber welches ? Noch was zum GPIO Anschluss: In der Doku steht, der Anschluss wäre für Profis verwendbar. Aber nach dem was ich jetzt lese, gibt es selbst für Profis nicht mal eine theoretische(!) Chance (wegen nicht verfügbarem Kabel) das Ding zu nutzen. Das ist schon doof. Wenn das nicht geht, sollte das auch in der Doku gar nicht erwähnt sein.Software krieg ich hin, Hardware nicht... Zitieren
photron Geschrieben February 22, 2016 at 11:11 Geschrieben February 22, 2016 at 11:11 Wie genau ist denn dein Aufbau? Hast den den Stapel am Laptop per USB angeschlossen und die Stromversorgung geht auch über USB? Wie hast du den Stapel mit dem Laptop verbunden, wenn du das 5V Netzteil verwendest? Das macht den Eindruck eines Masseschleifenproblems. Allerdings würde ich dann erwarten, dass es besser funktioniert wenn der Labtop und der Stapel Batteriebetrieben sind. Die einzige Masseverbindung also übers RS232 Kabel läuft. Zitieren
Doncarlos Geschrieben February 22, 2016 at 14:02 Autor Geschrieben February 22, 2016 at 14:02 Hi, Aufbau "alter Laptop": - Netzteil des Laptops an Steckdose - Laptop - USB-Kabel liefert Strom an den Stack - Stack (RED+WLAN, Master, RS232) - RS232 Kabel - Heizung ==> Daten auslesen funktioniert in allen Varianten (Brickv, Programm auf dem RED Brick ...) Aufbau "neuer Laptop": - Laptop im Akku Betrieb - USB Kabel liefert Strom an den Stack - Stack (RED+WLAN, Master, RS232) - RS232 Kabel - Heizung ==> Daten kommen zerstört an (via USB Kabel am Brickv oder auch im Programm am RED) Aufbau RED-Standalone: - diverse USB Stecker-Netzteile - Stack (RED+WLAN, Master, RS232) - RS232 Kabel - Heizung => Daten auslesen funktioniert nicht (Brickv über WLAN, Programm auf dem Red ...); Laptop ist nur über WLAN verbunden Zum RS232 Kabel: Der Anschluss ist als RJ45 Stecker aus der Heizung herausgeführt und mittels eines dummen Adapters (keine Elektronik) auf RS232 gemünzt. Derzeit läuft mein Programm gut und stabil in der Konfiguration "alter Laptop", wobei der Laptop hier nur Strom über USB zur Verfügung stellt. Könnte das auch mit der Qualität/Stabilität der Spannung aus den Netzteilen zu tun haben ? Messgeräte hab ich genug, nur weiß ich gerade nicht was es zu messen gilt :-/ Dankeschön für die Unterstüzung! Zitieren
photron Geschrieben February 22, 2016 at 14:37 Geschrieben February 22, 2016 at 14:37 So ein richtig klares Bild ergibt sich da noch nicht. Macht es einen Unterschied, wenn du beim "neuen Laptop" Aufbau den Laptop mit seinem Netzteil anstatt Akku betreibst? Sprich du grob elektrisch gesehen den gleichen Aufbau wie beim "alten Laptop" hast? Ich frage mich, ob das hier ein Problem mit der Masseverbindung zwischen Heizung und Bricklet ist. Annahme ist: Diese Masseverbindung ist gestört bzw. nicht vorhanden, wird beim "alten Laptop" Aufbau aber übers Stromnetz hergestellt. Wenn du ein Multimeter zur Hand hast, dann könntest du messen, ob von Masse am Bricklet über deine selbstgebautes Kabel Kontakt zur Masse am RJ45 Stecker für die Heizung besteht. Am Bricklet findest du Masse auf der Stiftleiste und der Schraubklemme. Was meinst du beim "RED Standalone" Aufbau mit "Daten auslesen funktioniert nicht"? Kommt da dann gar nichts an, oder ist das auch so kaputt wie beim "neuen Laptop" Aufbau? Funktioniert folgender Nullmodem Test, wenn du den alten Laptop die Heizung simulieren lässt (unter der Annahme, dass der alte Laptop noch einen richtigen RS232 Anschluss hat)? 230V --- alter Laptop --- Nullmodem --- RS232 Bricklet --- neuer Laptop --- Akku Zitieren
Doncarlos Geschrieben February 22, 2016 at 14:43 Autor Geschrieben February 22, 2016 at 14:43 Was meinst du beim "RED Standalone" Aufbau mit "Daten auslesen funktioniert nicht"? Kommt da dann gar nichts an, oder ist das auch so kaputt wie beim "neuen Laptop" Aufbau? Genauso defekt wie bisher beschrieben. Den Rest werde ich bei Gelegenheit ausprobieren/messen Zitieren
Dimitrios Geschrieben February 28, 2016 at 08:19 Geschrieben February 28, 2016 at 08:19 Hallo Jungs, ich habe den Thread kurz überflogen, wird hier zufällig über eine RS232 Null-Modem-Leitung geschrieben ? Dann könnte ich eventuell helfen.... Zitieren
markus5766h Geschrieben February 28, 2016 at 16:15 Geschrieben February 28, 2016 at 16:15 ... Ich frage mich, ob das hier ein Problem mit der Masseverbindung zwischen Heizung und Bricklet ist. Annahme ist: Diese Masseverbindung ist gestört bzw. nicht vorhanden, wird beim "alten Laptop" Aufbau aber übers Stromnetz hergestellt. ... unterschiedliche Massepotentiale können erheblich stören, deswegen - entweder galvanisch (komplett) trennen - oder sehr niederomig(!) eine durchgehende Masse benutzen . . . und - sind die Datenleitungen terminiert ? Zitieren
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.