Forum: Mikrocontroller und Digitale Elektronik Amateure braucht Hilfe bei RS232


You were forwarded to this site from EmbDev.net. Back to EmbDev.net
von Hammer M. (maximiliandonatus_k)


Angehängte Dateien:

Lesenswert?

Hallo Zusammen,

ich bitte an dieser Stelle um Hilfe, da ich jetzt nicht mehr 
weiterkomme. Ich befürchte ja, dass ich mir das alles etwas zu einfach 
vorgestellt habe und es am Ende dann doch nichts für Ahnungslose wie 
mich ist, aber einen Versuch will ich der Sache noch geben.
Aber von Anfang an:

Ich habe zwei Lithium-Akkus für unsern Laster gekauft und möchte diese 
gerne Überwachen (Spannung, Ampere, Temperatur).
Vom Hersteller habe ich dafür das angehängte Dokument mit der 
Beschreibung für die Kommunikation über die RS232 Schnittstelle 
bekommen.

Später mal soll da ganze über einen Pi mit Openhab hab laufen habe ich 
mir gedacht. Aber zuerst wollte ich die ganze Sache mal testen. Daher 
habe ich mir einen USB --> RS232 Adapter besorgt und die Kabel TXD, RXD 
und GND mit dem Akku verbunden. Dann habe ich über verschieden Terminals 
(heißt das so?) z.B. putty, hterm und realterm versucht einen Befehl an 
den Akku zu schicken und eine Antwort zu bekommen. Leider habe ich es 
nicht geschafft eine Antwort zu bekommen.

Probiert habe ich es z.B. mit:

0006

0006H

AA 55 00 06 01 00 01 00 55 AA

0xAA 0x55 0x0006 0x01 0x00 0x01 0x00 0x55 0xAA

Wahrscheinlich ist das alles völliger Unsinn und euch experten rollen 
sich die Fußnägel hoch.

Daher die Frage, kann mir jemand sagen, was ich senden muss, um eine 
Antwort zu bekommen?
Oder mir kurz erklären, was ich noch alles lernen sollte, bevor ich es 
nochmal versuche?

Ich freue mich auf ernst gemeinte Tipps.

Vielen Dank und Liebe Grüße,

Hammer

von Jack V. (jackv)


Lesenswert?

Hammer M. schrieb:
> Ich freue mich auf ernst gemeinte Tipps.

Ich kann dir nicht direkt helfen, aber folgenden absolut ernstgemeinten 
Tipp lege ich dir ans Herz: besorge dir das Originaldokument.

Das angehängte PDF ist entweder eine schlechte maschinelle Übersetzung, 
oder wurde von jemandem ins Deutsche übertragen, der die Sprache nur 
rudimentär versteht. Entsprechend ist mit Sinnfehlern zu rechnen, was 
erfahrungsgemäß zu großem Frust und völlig unnötigen Selbstzweifeln 
führen kann.

von Nick M. (Gast)


Lesenswert?

Hammer M. schrieb:
> Probiert habe ich es z.B. mit:
>
> 0006
>
> 0006H
>
> AA 55 00 06 01 00 01 00 55 AA
>
> 0xAA 0x55 0x0006 0x01 0x00 0x01 0x00 0x55 0xAA

Dann schau dir doch das Handbuch zum Terminalprogramm an. Da steht dann 
auch drinnen, wie Hex zu übertragen ist.
Ich gehe mal ganz stark davon aus, dass alle 4 Varianten von dir falsch 
sind weil sie Leerzeichen übertragen.

Weitere Tips:
Baudrate?
Parität?
Stopbits?
Rx Tx vertauscht?

von HildeK (Gast)


Lesenswert?

Hammer M. schrieb:
> Wahrscheinlich ist das alles völliger Unsinn und euch experten rollen
> sich die Fußnägel hoch.

Völliger Unsinn ist es sicher nicht.
Jack V. hat sicher recht mit der mangelhaften Übersetztung, ich z.B. 
kann mir keinen Reim drauf machen auf die Begriffe 'Prüfen' und 
'Behalten'.
Dann steht an verschiedenen Stellen 'Low Byte First (LSB)', das könntest 
du verwechselt haben.
Und noch eine Fehlermöglichkeit: RxD und TxD werden gerne mal 
fehlinterpretiert bei RS232, weil die beiden gekreuzt werden müssen 
zwischen Host und Client.

von RS485 (Gast)


Lesenswert?

Zwei blöde Fragen:

- Baudrate und Datenformat (8N1) gewählt?
- Binär und ASCII vielleicht verwechselt? Mit putty wüsste ich nicht, 
wie man Binärdaten sendet. Mit hterm geht's.

von Thomas F. (tommf)


Lesenswert?

Hammer M. schrieb:
> Probiert habe ich es z.B. mit:
> 0006
> 0006H
> AA 55 00 06 01 00 01 00 55 AA
> 0xAA 0x55 0x0006 0x01 0x00 0x01 0x00 0x55 0xAA

Du gibst das wahrscheinlich als Text ein. Der Akku erwartet aber binäre 
Daten. Manche Termialprogramme habrn einen Modus, in dem man sowas 
machen kann. DIe Dokumentation ist auf den ersten Blick nicht schlecht, 
an manchen Stellen aber seltsam übersetzt.Im Protokoll ist übrigens auch 
eine Prüfsumme enthalten, ohne die wird gar nichts gehen.

von G. H. (schufti)


Lesenswert?

Hi,
hier wirst du mit Terminal-SW nicht weit kommen.
Die "Befehle" und "Werte" werden nicht als Textzeichen übermittelt, 
sondern binär. Also z.B. der "Rahmenkopf" 55AA ist nicht als Text (vier 
Tastendrücke 5 5 A A) zu senden sondern direkt als zwei Bytewerte 0x55 
und 0xAA.
So überträgt z.B. der Tastendruck "5" dem Bytewert 0x35, für den 
Bytewert 0x55 müßtest du z.B. "U" drücken, für 0xAA (je nach 
Zeichensatz) "ª" und das wirst du auf keiner Tastatur finden.
Hier ist also Programmieren angesagt, oder ev. ein Temrinalprogramm wo 
man "skripten" kann...

gruß,
schufti

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Nick M. schrieb:
> dass alle 4 Varianten von dir falsch sind weil sie Leerzeichen übertragen.
Sie sind vermutlich falsch, weil sie keine Binärwerte, sondern 
ASCII-Zeichen übertragen.
Der Hex-Wert 54 entspricht einem Binärwert von 01010100 bzw einen 
Dezimalwert von 84. Er wird aber auf dem Bildschirm mit den 2 
ASCII-Zeichen '5' und '4' dargestellt. Wenn jetzt einer in den 
Bildschirm tippt

54 54 54 54

Dann werden auf der seriellen Schnittstelle statt nur 4 Bytes mit den 
obigen Werten (54hex = 01010100bin = 84dez) gleich 11 Bytes mit den 
HEX-Werten

35 34 20 35 34 20 35 34 20 35 34

übertragen, weil '5'ASCII=35hex, '4'ASCII=34hex, Leerzeichen=20hex

Einfach mal ein paar Stunden über die ASCII-Tabelle nachsinnieren:
https://www.torsten-horn.de/techdocs/ascii.htm
Irgendwann fällt der Groschen...

: Bearbeitet durch Moderator
von Hammer M. (maximiliandonatus_k)


Lesenswert?

Hallo,

Vielen Dank für die vielen Antworten!!!!

Baudrate und Datenformat habe ich drauf geachtet und TX RX sollten auch 
stimmen.

Werde mal versuchen, ob ich es schaffe, das was ich senden will in 
Binärcode zu übersetzten.

Glaube bis jetzt, hat der Akku gar nie verstanden, was ich von ihm will.

Lieb Grüße

von Jonas B. (jibi)


Angehängte Dateien:

Lesenswert?

Ich benutze gerne termite, kannst du kostenlos herunterladen. Unter 
Optionen stellst du wie im Bild die Einstellungen für hex view usw. 
(keine line endings) ein.

Dann kannst du per prefix (0x) dem Terminal mitteilen, das alle weiteren 
eingegeben Zeichen als Hexadezimalwert zu interpretieren sind.

"0x65" wäre dann equivalent zu 'a'

von Nick M. (Gast)


Lesenswert?

Lothar M. schrieb:
> Nick M. schrieb:
>> dass alle 4 Varianten von dir falsch sind weil sie Leerzeichen übertragen.
> Sie sind vermutlich falsch, weil sie keine Binärwerte, sondern
> ASCII-Zeichen übertragen.

Ich frag mich, warum du die Zeile darüber nicht von mir zitiert hast.
Ich hol das mal nach für dich ...

Nick M. schrieb:
> Dann schau dir doch das Handbuch zum Terminalprogramm an. Da steht dann
> auch drinnen, wie Hex zu übertragen ist.

von Zeno (Gast)


Lesenswert?

Hammer M. schrieb:
> Baudrate und Datenformat habe ich drauf geachtet und TX RX sollten auch
> stimmen.

Sind die beiden Signale wirklich gekreuzt? Kontrolliere es lieber noch 
einmal.
Also:
  TX vom PC (Pin3 am 9poligen SUB-D) an RX von dem Akku (Pin 4)
  RX vom PC (Pin2 am 9poligen SUB-D) an TX von dem Akku (Pin 5)
  GND vom PC (Pin5 am 9poligen SUB-D) an TX von dem Akku (Pin 1/2)

Kontrollier das lieber ein mal mehr, da Dir bei einer falschen 
Verbindung das beste Terminalprogramm nichts nutzt.
War das Datenkabel beim Akku mit dabei oder hast Du das selbst 
angefertigt? Bei dem Für den Westernstecker brauchst Du eine passende 
Crimpzange. Hast Du so etwas? Alternativ ginge eine Kabel wo so ein 
Stecker schon dran ist.

Bist Du Dir sicher das Dein Akku das RS232 Protokoll benutzt? Lt. 
Anleitung könnte es auch RS485 sein. Wofür sind die Akkus den eigentlich 
gedacht? Ich nehme mal an für Solargeraffel. Dort wird meist Modbus also 
RS485 benutzt. Die Verwendung von Binärbefehlen deutet sehr stark darauf 
hin.

von Wolfgang (Gast)


Lesenswert?

Hammer M. schrieb:
> Vom Hersteller habe ich dafür das angehängte Dokument mit der
> Beschreibung für die Kommunikation über die RS232 Schnittstelle
> bekommen.

Da steht doch einiges drin. Wenn da ein "Beispiel: zu tun ..." hängen 
geblieben ist - mein Gott, davon geht die Welt nicht unter.

HildeK schrieb:
> ich z.B. kann mir keinen Reim drauf machen auf die Begriffe 'Prüfen'
> und 'Behalten'.

Dem "Prüfen" ist nur die zweite Worthälft abhanden gekommen. Unter 4.1 
sieht man, dass damit die Prüfsumme gemeint ist, deren Aufbau auf S.9 
beschieben ist. Mit "Behalten" ist reserviert gemeint, z.B. in 6.2.2 auf 
S.9f)

Jack V. schrieb:
> Ich kann dir nicht direkt helfen, aber folgenden absolut ernstgemeinten
> Tipp lege ich dir ans Herz: besorge dir das Originaldokument.

Das will hier wohl keiner haben, denn das dürfte auf Chinesisch sein.
Allenfalls kann man hoffen, dass das sein 2012 noch mal aktualisiert und 
vervollständigt ist.
Als Grundlage ist dieses doch sooh schlecht nun auch nicht, wenn man von 
etwas Übereifer bei der Eindeutschung absieht.

G. H. schrieb:
> hier wirst du mit Terminal-SW nicht weit kommen.

HTerm wird wunderbar funktionieren.

Hammer M. schrieb:
> Daher habe ich mir einen USB --> RS232 Adapter besorgt und die
> Kabel TXD, RXD und GND mit dem Akku verbunden.

Wenn du das alles richtig angeschlossen hast, ist das doch schon mal ein 
Schritt in die richtige Richtung. Falls da etwas schief gelaufen ist, 
könnte das die Ursache sein.

Hammer M. schrieb:
> Probiert habe ich es z.B. mit:
>
> AA 55 00 06 01 00 01 00 55 AA

Das ist falsch. Der Befehl zum Lesen der Informationen zur Batterie 
heißt 0x0006.  In der Anweisung steht: "Der Befehl besteht aus 2 Bytes, 
Low Byte First (LSB [first])". Daran solltest du dich auch halten und 
die 0x06 vor der 0x00 zum Gerät schicken - und das per Binärübertragung.

von Gerald K. (geku)


Angehängte Dateien:

Lesenswert?

Die Daten werden binär codiert und nicht als ASCII-Zeichen oder HEX 
codierte ASCII Zeichen übertragen.

Ich würde das HTERM verwenden :

http://der-hammer.info/pages/terminal.html

von Jonas B. (jibi)


Lesenswert?

>Die Daten werden binär codiert und nicht als ASCII-Zeichen oder HEX
>codierte ASCII Zeichen übertragen.

Jetzt ist er mit Sicherheit endgültig verwirrt :D

von Roland F. (rhf)


Lesenswert?

Hallo,
Zeno schrieb:
>   GND vom PC (Pin5 am 9poligen SUB-D) an TX von dem Akku (Pin 1/2)

Kleiner Fehler, nicht an Tx, sondern an GND:

GND vom PC (Pin5 am 9poligen SUB-D) an GND von dem Akku (Pin 1/2)

rhf

von Zeno (Gast)


Lesenswert?

Habe mir gerade noch mal das Datenformat angeschaut  und das sieht mir 
sehr nach Modbus aus also RS485 aus.
Zähle mal die ganzen Datenbytes zusammen die mit einem Datenpaket 
übertragen werden. Grob geschätzt werden das um die 70Byte sein.

von Zeno (Gast)


Lesenswert?

Roland F. schrieb:
> Hallo,
> Zeno schrieb:
>>   GND vom PC (Pin5 am 9poligen SUB-D) an TX von dem Akku (Pin 1/2)
>
> Kleiner Fehler, nicht an Tx, sondern an GND:
>
> GND vom PC (Pin5 am 9poligen SUB-D) an GND von dem Akku (Pin 1/2)

Oh Danke den Fehler habe ich nicht bemerkt.

von c-hater (Gast)


Angehängte Dateien:

Lesenswert?

Hammer M. schrieb:

> Werde mal versuchen, ob ich es schaffe, das was ich senden will in
> Binärcode zu übersetzten.

Nimm hterm, das kann dir diese Arbeit abnehmen und erlaubt direkte 
Hex-Eingabe (siehe Bild).

Dass das wirklich aktive ist, merkst du dann daran, dass du fortlaufend 
Hexzahlen eingeben kannst und hterm lerzeichen nach jedem zweiten 
Zeichen automatisch einfügt. Diese Leerzeichen dienen aber nur dazu, 
dass du dich besser im eingegebenen Text orientieren kannst, sie werden 
nicht mit gesendet. Gesendet wird für jede Gruppe aus zwei Hexziffern 
genau ein Byte.

von Zeno (Gast)


Lesenswert?

Wolfgang schrieb:
> Das ist falsch. Der Befehl zum Lesen der Informationen zur Batterie
> heißt 0x0006.  In der Anweisung steht: "Der Befehl besteht aus 2 Bytes,
> Low Byte First (LSB [first])". Daran solltest du dich auch halten und
> die 0x06 vor der 0x00 zum Gerät schicken - und das per Binärübertragung.

Der alleine reicht aber nicht aus. Schau Dir das Befehlsformat unter 
Punkt 4.1 der Anleitung an. Das geht erst mal mit 2Byte Header los. Dann 
kommt die Anweisung (z.B. 0x0006), danach die ID des Akkus, dann Daten, 
dann Prüfsumme und dann noch mal ein Frameheader.
So etwas komplexes bekommt man eigentlich nur mit einem Programm hin.

Wolfgang schrieb:
> Hammer M. schrieb:
>> Vom Hersteller habe ich dafür das angehängte Dokument mit der
>> Beschreibung für die Kommunikation über die RS232 Schnittstelle
>> bekommen.
In dem Dokument steht aber nicht drin das Dein Akku auch wirklich RS232 
benutzt. Dort sind beide Varianten aufgeführt.
Es steht auch drin Du sollst beim Hersteller nachfragen welches 
Protokoll Dein Akku verwendet.

Jonas B. schrieb:
>>Die Daten werden binär codiert und nicht als ASCII-Zeichen oder HEX
>>codierte ASCII Zeichen übertragen.
>
> Jetzt ist er mit Sicherheit endgültig verwirrt :D
Das mag ja sein das es ihn verwirrt, aber so einfach wie er sich das 
vorstellt ist es offensichtlich nicht.

von Jonas B. (jibi)


Lesenswert?

>Dass das wirklich aktive ist, merkst du dann daran, dass du fortlaufend
>Hexzahlen eingeben kannst und hterm lerzeichen nach jedem zweiten
>Zeichen automatisch einfügt.

Bei termite kannst direkt sehen was wirklich gesendet wurde mit der 
option "local echo"

von Hammer M. (maximiliandonatus_k)



Lesenswert?

Hallo,

der Hersteller meint, sie hätten alle Akkus von RS485 auf RS232 
umgestellt.

Ich habe auch noch eine Datei vom Hersteller sowie ein Programm 
bekommen.

Leider kann ich mit beiden nicht so wirklich viel anfangen.

Bei der Datei weiß ich nicht genau, was ich damit machen soll. Und, wenn 
ich das Programm öffne, passiert nicht viel.

Danke auf jeden Fall für die ganzen Tipps. Bis jetzt schaffe ich es 
sogar zu folgen ;-)

LG

von c-hater (Gast)


Lesenswert?

Jonas B. schrieb:

> Bei termite kannst direkt sehen was wirklich gesendet wurde mit der
> option "local echo"

Das geht bei hterm natürlich ebenfalls. Man muß nur die Ausgabe für das 
gesendete Zeug um die Option Hex ergänzen (oder, im konkreten Fall eher 
sinnvoll: als einzige Option wählen).

von Zeno (Gast)


Lesenswert?

Hammer M. schrieb:
> Ich habe auch noch eine Datei vom Hersteller sowie ein Programm
> bekommen.

Benenne mal die Datei in PNG um - es ist ein Bildchen.

Das ZIP mußt Du halt auspacken. Ich kann nicht öffnen da ich hier am Mac 
sitze der mit eine Exe nichts anfangen kann. Habe bloß mal in das Zip 
geguckt und die die Bezeichnung der Exe sind rech kryptische 
Schriftzeichen. Benenne das Programm nach dem Auspacken einfach mal in 
batterie.exe um und starte es es in einem DOS/Shellfenster. Das Programm 
wird sicher was ausgeben.
Ansonsten mal als Parameter /?, /help, -? oder --help mit geben. Die 
meisten Programme reagieren darauf. Wenn sie den Parameter nicht kennen 
kommt oftmals eine kleine Hilfestellung wie das Programm zu benutzen 
ist.

von Wolfgang (Gast)



Lesenswert?

Zeno schrieb:
> ... und starte es es in einem DOS/Shellfenster. Das Programm
> wird sicher was ausgeben.
Wozu in einem DOS/Shellfenster?

Unter Windows kann man einen Doppelklick auf den Exe-File machen, um ihn 
zu starten ;-)
Wenn man den im Zip enthaltenen File "┤ó─▄Áþ│Ï╔¤╬╗╗·╚Ý╝■V2.0.exe" in 
CBT-EnergyBatterieHostComputer_V2.0.exe o.ä. umbenennt, weiß man auch 
das nächste mal noch, was das ist.

von c-hater (Gast)


Lesenswert?

Wolfgang schrieb:

> Wenn man den im Zip enthaltenen File "┤ó─▄Áþ│Ï╔¤╬╗╗·╚Ý╝■V2.0.exe" in
> CBT-EnergyBatterieHostComputer_V2.0.exe o.ä. umbenennt, weiß man auch
> das nächste mal noch, was das ist.

Und wenn man die fälschlicherweise in CP437 konvertierten 
UTF8-Dateinamen mal sinnvoll zurückkonvertiert, dann sieht man sogar, 
wie die Exe ursprünglich wirklich mal hiess. ;o)

von c-hater (Gast)


Lesenswert?

c-hater schrieb:

> Und wenn man die fälschlicherweise in CP437

Ähem, natürlich nicht CP437, sondern IBM-OEM.

von Zeno (Gast)


Lesenswert?

Wolfgang schrieb:
> Unter Windows kann man einen Doppelklick auf den Exe-File machen, um ihn
> zu starten ;-)
Na Du bist ja ein richtiger Schlauberger. Wenn das Programm keine GUI 
hat, dann macht es halt maximal kurz flacker und man sieht genau nix, 
weil das Fenster sofort wieder geschlossen wird.
Ruft man hingegen das Programm in einen DOS respektive Shellfenster auf, 
kann man in aller Ruhe die Ausgaben des Programmes studieren.
Diesen Doppelklick hat der TO bestimmt schon gemacht und genau nichts 
gesehen. Manchmal muß man halt ein bissel mehr tun als als nur zu 
klicken. Fällt aber dem heutigen Windowsuser offensichtlich sehr schwer.

von Zeno (Gast)


Lesenswert?

c-hater schrieb:
> Und wenn man die fälschlicherweise in CP437 konvertierten
> UTF8-Dateinamen mal sinnvoll zurückkonvertiert, dann sieht man sogar,
> wie die Exe ursprünglich wirklich mal hiess. ;o)

Das ist natürlich auch ne Möglichkeit. Viele Wege führen halt nach Rom.

von Hammer M. (maximiliandonatus_k)


Lesenswert?

Das Programm sieht eigentlich nach genau dem aus, was ich gesucht habe.

Nur irgendwie passiert bei mir nichts, wenn ich versuche es zu öffnen 
auch nicht in einem DOS/Shellfenster.

von Zeno (Gast)


Lesenswert?

c-hater schrieb:
> Und wenn man die fälschlicherweise in CP437 konvertierten
> UTF8-Dateinamen mal sinnvoll zurückkonvertiert, dann sieht man sogar,
> wie die Exe ursprünglich wirklich mal hiess. ;o)

Das ist natürlich auch ne Möglichkeit. Viele Wege führen halt nach Rom.

Wolfgang schrieb:
> Unter Windows kann man einen Doppelklick auf den Exe-File machen, um ihn
> zu starten ;-)
Kleiner Nachtrag: Man sieht einer Exe erstmal nicht an ob sie eine GUI 
hat oder nicht, aus diesem Grund ist das ausführen im Shellfenster erst 
mal eine gute Idee. Wenn man dann mehr zum Programm weis kann man es ja 
mit Doppelklick starten.
Ich kanns eben grad nicht probieren, weil ich am Mac sitze.

von Wolfgang (Gast)


Lesenswert?

Zeno schrieb:
> Na Du bist ja ein richtiger Schlauberger. Wenn das Programm keine GUI
> hat, dann macht es halt maximal kurz flacker ...

tut es aber nicht.

> ... und man sieht genau nix,
> weil das Fenster sofort wieder geschlossen wird.
> Ruft man hingegen das Programm in einen DOS respektive Shellfenster auf,
> kann man in aller Ruhe die Ausgaben des Programmes studieren.

Das kann man sich alles sparen, wenn das Programm eine GUI hat. Als 
zweiten Schritt kann man das sonst immer noch tun.

> Diesen Doppelklick hat der TO bestimmt schon gemacht und genau nichts
> gesehen.

Anscheinend nicht, sonst hätte er die GUI (s. Screenshot) gesehen.

von Zeno (Gast)


Lesenswert?

Hammer M. schrieb:
> Das Programm sieht eigentlich nach genau dem aus, was ich gesucht habe.
>
> Nur irgendwie passiert bei mir nichts, wenn ich versuche es zu öffnen
> auch nicht in einem DOS/Shellfenster.

Da das Programm eine GUI zu haben scheint mußt Du es auch nicht aus 
einem DOS-Fenster heraus starten.

Hast Du den richtigen Port eingestellt? Ich glaube nicht das Dein Port 
COM1  ist.

von Zeno (Gast)


Lesenswert?

Wolfgang schrieb:
> Zeno schrieb:
>> Na Du bist ja ein richtiger Schlauberger. Wenn das Programm keine GUI
>> hat, dann macht es halt maximal kurz flacker ...
>
> tut es aber nicht.

Und das weist Du bevor Du das Programm das erste Mal ausführst? Also ich 
weis das nicht wenn ich eine Exe in einem Zip bekomme.
Da ich nicht weis was der TO gemacht hat, habe ich es ihm eben so 
geraten.

von Hammer M. (maximiliandonatus_k)


Lesenswert?

Da ich einen USB toRS232 Adapter benutze, kann ich den Port frei wählen 
und das hat beim Testen auch mit COM1 funktioniert.

Nur schaffe ich es gar nicht das Programm zu öffnen um das Fenster aus 
dem oben gezeigtem Screenshot zu sehen.

von Wolfgang (Gast)


Angehängte Dateien:

Lesenswert?

Zeno schrieb:
> Hast Du den richtigen Port eingestellt? Ich glaube nicht das Dein Port
> COM1  ist.

Das ist doch erstmal ein Nebenschauplatz. Solange die GUI nicht sichtbar 
ist, steht die Einstellung des richtigen Ports gar nicht zur Debatte.

Das Programm startet (unter Win10) unabhängig von auf dem PC vorhandenen 
Ports und verwendet eine Portauswahlliste, die nicht auf einem Scan der 
Systemresourcen basiert.

von Wolfgang (Gast)


Lesenswert?

Zeno schrieb:
> Und das weist Du bevor Du das Programm das erste Mal ausführst?

Nein, ich habe es (nach einem Virenscan) blind probiert.

von Nick M. (Gast)


Lesenswert?

Hammer M. schrieb:
> Nur schaffe ich es gar nicht das Programm zu öffnen um das Fenster aus
> dem oben gezeigtem Screenshot zu sehen.

Vermutlich ist es auch völlig egal welches Windows du hast. Ich würde 
dann mal XP probieren.

von Gerald K. (geku)


Lesenswert?

c-hater schrieb:
> Gesendet wird für jede Gruppe aus zwei Hexziffern genau ein Byte.

Gut erklärte.
Zahlen können als ASCII Zeichen codiert sein, verschickt werden sie 
immer binär.

'0' => 0011_0000

'1' => 0011_0001

'2' => 0011_0010

'3' => 0011_0011

'4' => 0011_0100

hingegen:

der Binärwert 0011_0100 kann in die Zahl
umgerechnet werden.

Siehe

0 => 0000_0000

1 => 0000_0001

2 => 0000_0010

3 => 0000_0011

4 => 0000_0100

von Zeno (Gast)


Lesenswert?

Wolfgang schrieb:
> Zeno schrieb:
>> Hast Du den richtigen Port eingestellt? Ich glaube nicht das Dein Port
>> COM1  ist.
>
> Das ist doch erstmal ein Nebenschauplatz. Solange die GUI nicht sichtbar
> ist, steht die Einstellung des richtigen Ports gar nicht zur Debatte.

Wie denn nun? Ich denke das Ding hat ne GUI. Ja wenn die der TO nicht zu 
Gesicht bekommt ist das natürlich eher suboptimal.
Das er das Ding gar nicht starten kann hat er  erst nach meinem Post 
geschrieben. Insofern war der Hinweis mit dem COM-Port schon nicht so 
verkehrt.

Wolfgang schrieb:
> Das Programm startet (unter Win10) unabhängig von auf dem PC vorhandenen
> Ports und verwendet eine Portauswahlliste, die nicht auf einem Scan der
> Systemresourcen basiert.
Ach und das hilft dem TO jetzt weiter? Es nutzt ihm gar nichts wenn Du 
es unter Win10 starten kannst. Vielleicht benutzt er ja ein anderes 
Windows oder gar ein anderes OS - wir wissen das nämlich nicht. Deine 
Liste mit den ganzen COM-Ports ist ja für ihn auch nicht hilfreich, da 
er sie nicht sieht.
Für eine weitere Fehleranalyse wäre jetzt erst mal hilfreich zu wissen 
warum das Programm nicht startet. Da es offensichtlich keine 
Fehlermeldung (in der GUI) gibt, wäre noch ein Start in der Box 
hilfreich, denn dann gibt es in 99% der Fälle einen Hinweis.
Da der TO mit Informationen eher knausert wissen wir nicht was er tut. 
Ich habe auch keine Glaskugel, die mir das sagen könnte. Dafür ist halt 
so ein Schlauberger wie Du unterwegs, der eh alles besser weis und 
deshalb bin jetzt hier raus. Dann zeig doch mal dem TO wie er zum Ziel 
kommt. Schauen wir doch mal ob Du auch was Zielführendes beitragen kanns 
- wünschen würde ich es dem TO.

von Hammer M. (maximiliandonatus_k)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe versucht das Programm auf einem Rechner mit Windows 10 zu 
öffnen.

Wenn ich doppelt klicke flackert es kurz, aber mehr passiert nicht und 
wenn ich es versuche mit powershell zu öffnen kommt die Antwort aus dem 
Screenshoot.

Auch der Versuch mit verschiedenen Kompatibilitätsmodi hat nichts 
gebracht.

: Bearbeitet durch User
von Jonas B. (jibi)


Lesenswert?

Gewöhn dir zuerst mal die Leerzeichen in Ordner Namen ab. Das wird zwar 
vom Betriebsystem voll unterstützt, aber nicht voll allen Programmen. Da 
kann der Hund schon begraben liegen.
Ich check das mal kurz in der Zeit...

von Jonas B. (jibi)


Angehängte Dateien:

Lesenswert?

He, was ist das für ein komisches Program :D
Die Serialports werden einfach von 1-16 durch nummeriert, statt die live 
abzufragen... ganz schlecht.
So was war jetzt das Problem nochmal? Im übrigen hab ich es einfach 
auspackt und angeklickt :D

von Wolfgang (Gast)


Lesenswert?

Hammer M. schrieb:
> Wenn ich doppelt klicke flackert es kurz, aber mehr passiert nicht und
> wenn ich es versuche mit powershell zu öffnen kommt die Antwort aus dem
> Screenshoot.

Offensichtlich kann PowerShell mit den Leerzeichen in dem Pfadnamen so 
nicht umgehen. Dagegen hilft es, den ganzen Pfad in "" zu setzen.

Jonas B. schrieb:
> He, was ist das für ein komisches Program :D
> Die Serialports werden einfach von 1-16 durch nummeriert, statt die live
> abzufragen... ganz schlecht.

Ist aber nun mal so und keine neue Erkenntnis.
Falls der USB-RS232 Adapter nicht unter einer dieser 16 Portnummern 
registriert wird, ist das schnell mit dem Gerätemanager behoben - also 
keine Panik,

von Hammer M. (maximiliandonatus_k)


Lesenswert?

Genau das habe ich auch versucht, aber irgendwie mag das Ding meinen 
Rechner nicht. Bzw., der Typ vor dem Bildschirm ist vielleicht das 
Problem.

Könnte man denn, wenn das Programm mal läuft rausfinden, welche Befehle 
es über den seriellen Port sendet?
Eigentlich möchte ich ja „nur“ diesen 0006 Befehl senden und eine 
Antwort vom Akku haben. Das Programm ist da eigentlich gar nicht so 
wichtig.

Ohne Leerzeichen hat leider auch nicht geholfen. War der zweite Versuch 
auf dem Screenshoot.

: Bearbeitet durch User
von Jonas B. (jibi)


Lesenswert?

>Gewöhn dir zuerst mal die Leerzeichen in Ordner Namen ab. Das wird zwar
>vom Betriebsystem voll unterstützt, aber nicht voll allen Programmen. Da
>kann der Hund schon begraben liegen.

=>

>Offensichtlich kann PowerShell mit den Leerzeichen in dem Pfadnamen so
>nicht umgehen. Dagegen hilft es, den ganzen Pfad in "" zu setzen.

Soviel zu neuen Erkenntnissen.

>Ist aber nun mal so und keine neue Erkenntnis.
>Falls der USB-RS232 Adapter nicht unter einer dieser 16 Portnummern
>registriert wird, ist das schnell mit dem Gerätemanager behoben - also
>keine Panik,

Das hat nichts mit Panik zu tun, aber so enumeriert man keine seriellen 
Ports. Definitiv nicht.

von Jonas B. (jibi)


Lesenswert?

>Eigentlich möchte ich ja „nur“ diesen 0006 Befehl senden und eine
>Antwort vom Akku haben. Das Programm ist da eigentlich gar nicht so
>wichtig.

Es wäre doch aber viel einfacher das Programm zu benutzen, dass du 
scheinbar aber nicht auf die Kette kriegst. Ich meine selbst mit neuem 
Betriebssystem. Hast du mal irgendeinen weiteren Tip beherzigt? Also 
hast du mal hterm oder termite installiert?

von Hammer M. (maximiliandonatus_k)


Lesenswert?

hterm und termite habe ich beide ausprobiert.

nur da kommt wieder der Punkt, dass mir nicht so ganz klar ist, welchen 
Befehl, bzw. wie der Befehl aussehen muss, damit der Akku antwortet.

Alles was ich sende, geht raus, kommt aber nichts an.

: Bearbeitet durch User
von Jonas B. (jibi)


Lesenswert?

>Alles was ich sende, geht raus, kommt aber nichts an.

Wie stellst du das fest?

von Hammer M. (maximiliandonatus_k)


Lesenswert?

100% ig kann ich das wahrscheinlich nicht sagen, aber wenn ich RX und TX 
von meinem Adapter verbinde und etwas schicke, empfange ich das 
daraufhin auch wieder. Da hab ich dann irgendwie drauf geschlossen, dass 
das was ich sende auch raus geht.

von Jonas B. (jibi)


Lesenswert?

>100% ig kann ich das wahrscheinlich nicht sagen, aber wenn ich RX und TX
>von meinem Adapter verbinde und etwas schicke, empfange ich das
>daraufhin auch wieder. Da hab ich dann irgendwie drauf geschlossen, dass
>das was ich sende auch raus geht.

Sehr gut. Mach das nochmal bitte. Und dann gehe wie oben beschrieben vor 
und verschicke mal die Nachrichten (Aber wie beschrieben als Hex 
interpretiert) und mach ein Screenshot.

von c-hater (Gast)


Lesenswert?

Hammer M. schrieb:

> nur da kommt wieder der Punkt, dass mir nicht so ganz klar ist, welchen
> Befehl, bzw. wie der Befehl aussehen muss, damit der Akku antwortet.

Naja, die Beschreibung des Protokolls ist, vorsichtig ausgedrückt, 
absolut lausig. Da wirst du ein wenig probieren müssen.

> AA 55 00 06 01 00 01 00 55 AA

Das war auf jeden Fall falsch, da fehlt die Prüfsumme. Ich würd's mal 
mit:

AA 55 00 06 01 00 01 00 FE FF 55 AA

probieren.

Blöd ist allerdings, dass zwar jeder Befehl eine Geräte-ID haben will, 
aber nicht erklärt wird, wo die eigentlich her kommt, bzw. wie man sie 
ermittelt.

Das macht das Durchtesten in Frage kommender Prüfsummenalgorithmen etwas 
langwierig...

von Hammer M. (maximiliandonatus_k)



Lesenswert?

Bin mir leider immer noch nicht sicher, wie der Befehl genau aussehen 
muss, aber hab mal was geschickt.

von Hammer M. (maximiliandonatus_k)


Lesenswert?

c-hater schrieb:
> Blöd ist allerdings, dass zwar jeder Befehl eine Geräte-ID haben will,
> aber nicht erklärt wird, wo die eigentlich her kommt, bzw. wie man sie
> ermittelt.
>
> Das macht das Durchtesten in Frage kommender Prüfsummenalgorithmen etwas
> langwierig...

Da hast du definitiv recht.

Danke für deinen "Befehl".
Hab deinen Befehl mal ausprobiert, hat leider auch nicht funktioniert.

von c-hater (Gast)


Lesenswert?

Hammer M. schrieb:

> Bin mir leider immer noch nicht sicher, wie der Befehl genau aussehen
> muss

Also ich bin mir nicht sicher, ob du das Bedienkonzept von hterm kapiert 
hast...

Warum läßt du gesendete Daten binär anzeigen und wozu soll die 
ASCII-Anzeige bei den Empfangsdaten gut sein?

Außerdem fehlt auch im "richtigsten" Beispiel immer noch die 
Prüfsumme...

von Jonas B. (jibi)


Lesenswert?

>Bin mir leider immer noch nicht sicher, wie der Befehl genau aussehen
>muss, aber hab mal was geschickt.

Kein Problem, kein Meister ist vom Himmel gefallen. Das sieht aber gut 
aus.

Jetzt wieder umstecken und mit Prüfsumme probieren:

>Das war auf jeden Fall falsch, da fehlt die Prüfsumme. Ich würd's mal
>mit:

>AA 55 00 06 01 00 01 00 FE FF 55 AA

von Jonas B. (jibi)


Lesenswert?

>Also ich bin mir nicht sicher, ob du das Bedienkonzept von hterm kapiert
>hast...

>Warum läßt du gesendete Daten binär anzeigen und wozu soll die
>ASCII-Anzeige bei den Empfangsdaten gut sein?

Weil er kein Profi wie du ist. Außerdem passt es doch bis auf die 
Prüfsumme, das probiert er doch jetzt aus. Dafür muss ja auch der Akku 
angeschlossen sein.

von Mario M. (thelonging)


Lesenswert?

Das wird vom Programm auf die serielle Schnittstelle gesendet:
1
aa 55 06 00 00 00 01 00 01 00 55 aa

von Jonas B. (jibi)


Lesenswert?

>Da hast du definitiv recht.

>Danke für deinen "Befehl".
>Hab deinen Befehl mal ausprobiert, hat leider auch nicht funktioniert.

Ich fürchte ohne zu wissen wie die Prüfsumme gebildet wird müsste man 
tatsächlich den Datenverkehr mal mitschneiden und ein bisschen 
rumrechnen, meisten sind das xor32 oder so Geschichten

von Jonas B. (jibi)


Lesenswert?

>aa 55 06 00 00 00 01 00 01 00 55 aa
Sieht stark nach pre- und postambel aa 55 und 55 aa aus.

Cool. Teste das mal. Wenn du nur den einen Befehl brauchst dürfte du 
damit zufrieden sein. Wobei die ID...

@C-hater: was denkst du?

: Bearbeitet durch User
von c-hater (Gast)


Lesenswert?

Jonas B. schrieb:

> @C-hater: was denkst du?

Ja, besser. Kommondo ist ja 0006, LSB first ergibt also 06 00.

von Wolfgang (Gast)


Lesenswert?

Jonas B. schrieb:
> ... meisten sind das xor32 oder so Geschichten

Naja, bei der Protokollbeschreibung steht:
"2Byte: Prüfsumme(kumulierteSumme),Low-Bytezuerst."
Das hört sich nicht nach XOR an, sondern eher nach Aufsummieren.

von Jonas B. (jibi)


Lesenswert?

Hm also wird die Prüfsumme nicht über die "Anweisung" sondern nur über 
die Daten berechnet. Warum auch immer.
Aus 00 00 01 00 wird dann also die Prüfsumme 0001.

von c-hater (Gast)


Lesenswert?

Wolfgang schrieb:

> Das hört sich nicht nach XOR an, sondern eher nach Aufsummieren.

Nunja, auch XOR stellt in gewissem Sinne ein Aufsummieren dar. Ich tippe 
zwar auch eher auf eine einfache Summe (bzw. deren Zweierkomplement), 
aber es würde mich angesicht der allgemeinen Doku-Qualität auch kein 
bissel wundern, wenn sich am Ende sich doch eine XOR-Variante als 
richtig herausstellt.

von Jonas B. (jibi)


Lesenswert?

"Ein Datenpaket enthält eine Zwei-Byte-Datengültigkeitsprüfung. Diese 
Prüfung
verwendet eine einfache Akkumulation und Prüfung. Die Prüfsumme ist das 
Low-Byte
First (LSB) vor dem Ende des Rahmens am Ende des Pakets."

Was ein Kauderwelsch... So schlecht sind doch automatische Übersetzer 
gar nicht mehr.

von Nick M. (Gast)


Lesenswert?

Jonas B. schrieb:
> Was ein Kauderwelsch... So schlecht sind doch automatische Übersetzer
> gar nicht mehr.

Als Ausgangsmaterial wurde ja Chinglish verwendet.

von Jonas B. (jibi)


Lesenswert?

>Als Ausgangsmaterial wurde ja Chinglish verwendet.

Ja das wird das Problem sein.

von Hammer M. (maximiliandonatus_k)


Lesenswert?

Mario M. schrieb:
> aa 55 06 00 00 00 01 00 01 00 55 aa


Super danke, dass du nachgeschaut hast.

Und vielen Dank für eure Mühe!!

Hab das auch ausprobiert, Ergebnis leider immer noch das gleiche.

In der Beschreibung steht, die ID ist 1 Byte lang. Wieviel Möglichkeiten 
gibt es denn dann? Dann würde ich die einfach mal durchtesten.

Wie ich dann die korrekte Prüfsumme bilde ist mir im Moment auch noch 
etwas schleierhaft.

von Jonas B. (jibi)


Lesenswert?

256

>Wie ich dann die korrekte Prüfsumme bilde ist mir im Moment auch noch
>etwas schleierhaft.

Brauchst du nicht, die wird nur über die Daten gebildet, bleibt also 1

: Bearbeitet durch User
von c-hater (Gast)


Lesenswert?

Hammer M. schrieb:
> Mario M. schrieb:
>> aa 55 06 00 00 00 01 00 01 00 55 aa

> In der Beschreibung steht, die ID ist 1 Byte lang. Wieviel Möglichkeiten
> gibt es denn dann?

2^8=256

> Dann würde ich die einfach mal durchtesten.

Blöd ist dabei halt, dass diese ID Teil des durch die Prüfsumme 
geschützten Bereichs ist. D.h.: für jede angenommene Prüfsummenroutine 
mußt du 256 Versuche (mit jeweils angepaßter Prüfsumme) unternehmen.

Das ist Sackstand. Sowas erledigt man mit einem Programm. Schon allein 
deshalb, weil die Fehlerquote der manuellen Eingabe viel zu hoch ist, da 
schleichen sich viel zu oft Fehler ein, man kann also nach Abschluß 
einer Reihe niemals sicher sein, ob man wirklich korrekt getestet hat.

> Wie ich dann die korrekte Prüfsumme bilde ist mir im Moment auch noch
> etwas schleierhaft.

Das ist allen schleierhaft. Am wahrscheinlichsten ist, dass die zwei 
16-Bit Datenwörter (oder auch die vier Datenbytes) einfach aufsummiert 
werden und dann entweder diese Summe oder ihr Zweierkomplement in das 
Prüfsummenfeld zu schreiben ist. Also schon vier Testfälle nur für die 
naheliegendsten Varianten, mal jeweils 256 Möglichkeiten wegen der 
fehlenden ID. Das sind schonmal 1024 Tests...

Seine Lebenszeit kann man auch sinnvoller verbringen...

von Jonas B. (jibi)


Lesenswert?

aa5506000000000100010055aa
aa5506000100000100010055aa
aa5506000200000100010055aa
aa5506000300000100010055aa
aa5506000400000100010055aa
aa5506000500000100010055aa
aa5506000600000100010055aa
aa5506000700000100010055aa
aa5506000800000100010055aa
aa5506000900000100010055aa
aa550600A00000100010055aa
aa550600B00000100010055aa
aa550600C00000100010055aa
aa550600D00000100010055aa
aa550600E00000100010055aa
aa550600F00000100010055aa
aa5506001000000100010055aa
aa5506001100000100010055aa
aa5506001200000100010055aa
aa5506001300000100010055aa
aa5506001400000100010055aa
aa5506001500000100010055aa
aa5506001600000100010055aa
aa5506001700000100010055aa
aa5506001800000100010055aa
aa5506001900000100010055aa
aa5506001A00000100010055aa
aa5506001B00000100010055aa
aa5506001C00000100010055aa
aa5506001D00000100010055aa
aa5506000100000100010055aa
aa5506001F00000100010055aa
aa5506002000000100010055aa
aa5506002100000100010055aa
aa5506002200000100010055aa
aa5506002300000100010055aa
aa5506002400000100010055aa
aa5506002500000100010055aa
aa5506002600000100010055aa
aa5506002700000100010055aa
aa5506002800000100010055aa
aa5506002900000100010055aa
aa5506002A00000100010055aa
aa5506002B00000100010055aa
aa5506002C00000100010055aa
aa5506002D00000100010055aa
aa5506000200000100010055aa
aa5506002F00000100010055aa
aa5506003000000100010055aa
aa5506003100000100010055aa
aa5506003200000100010055aa
aa5506003300000100010055aa
aa5506003400000100010055aa
aa5506003500000100010055aa
aa5506003600000100010055aa
aa5506003700000100010055aa
aa5506003800000100010055aa
aa5506003900000100010055aa
aa5506003A00000100010055aa
aa5506003B00000100010055aa
aa5506003C00000100010055aa
aa5506003D00000100010055aa
aa5506000300000100010055aa
aa5506003F00000100010055aa
aa5506004000000100010055aa
aa5506004100000100010055aa
aa5506004200000100010055aa
aa5506004300000100010055aa
aa5506004400000100010055aa
aa5506004500000100010055aa
aa5506004600000100010055aa
aa5506004700000100010055aa
aa5506004800000100010055aa
aa5506004900000100010055aa
aa5506004A00000100010055aa
aa5506004B00000100010055aa
aa5506004C00000100010055aa
aa5506004D00000100010055aa
aa5506000400000100010055aa
aa5506004F00000100010055aa
aa5506005000000100010055aa
aa5506005100000100010055aa
aa5506005200000100010055aa
aa5506005300000100010055aa
aa5506005400000100010055aa
aa5506005500000100010055aa
aa5506005600000100010055aa
aa5506005700000100010055aa
aa5506005800000100010055aa
aa5506005900000100010055aa
aa5506005A00000100010055aa
aa5506005B00000100010055aa
aa5506005C00000100010055aa
aa5506005D00000100010055aa
aa5506000500000100010055aa
aa5506005F00000100010055aa
aa5506006000000100010055aa
aa5506006100000100010055aa
aa5506006200000100010055aa
aa5506006300000100010055aa
aa5506006400000100010055aa
aa5506006500000100010055aa
aa5506006600000100010055aa
aa5506006700000100010055aa
aa5506006800000100010055aa
aa5506006900000100010055aa
aa5506006A00000100010055aa
aa5506006B00000100010055aa
aa5506006C00000100010055aa
aa5506006D00000100010055aa
aa5506000600000100010055aa
aa5506006F00000100010055aa
aa5506007000000100010055aa
aa5506007100000100010055aa
aa5506007200000100010055aa
aa5506007300000100010055aa
aa5506007400000100010055aa
aa5506007500000100010055aa
aa5506007600000100010055aa
aa5506007700000100010055aa
aa5506007800000100010055aa
aa5506007900000100010055aa
aa5506007A00000100010055aa
aa5506007B00000100010055aa
aa5506007C00000100010055aa
aa5506007D00000100010055aa
aa5506000700000100010055aa
aa5506007F00000100010055aa
aa5506008000000100010055aa
aa5506008100000100010055aa
aa5506008200000100010055aa
aa5506008300000100010055aa
aa5506008400000100010055aa
aa5506008500000100010055aa
aa5506008600000100010055aa
aa5506008700000100010055aa
aa5506008800000100010055aa
aa5506008900000100010055aa
aa5506008A00000100010055aa
aa5506008B00000100010055aa
aa5506008C00000100010055aa
aa5506008D00000100010055aa
aa5506000800000100010055aa
aa5506008F00000100010055aa
aa5506009000000100010055aa
aa5506009100000100010055aa
aa5506009200000100010055aa
aa5506009300000100010055aa
aa5506009400000100010055aa
aa5506009500000100010055aa
aa5506009600000100010055aa
aa5506009700000100010055aa
aa5506009800000100010055aa
aa5506009900000100010055aa
aa5506009A00000100010055aa
aa5506009B00000100010055aa
aa5506009C00000100010055aa
aa5506009D00000100010055aa
aa5506000900000100010055aa
aa5506009F00000100010055aa
aa550600A000000100010055aa
aa550600A100000100010055aa
aa550600A200000100010055aa
aa550600A300000100010055aa
aa550600A400000100010055aa
aa550600A500000100010055aa
aa550600A600000100010055aa
aa550600A700000100010055aa
aa550600A800000100010055aa
aa550600A900000100010055aa
aa550600AA00000100010055aa
aa550600AB00000100010055aa
aa550600AC00000100010055aa
aa550600AD00000100010055aa
aa550600AE00000100010055aa
aa550600AF00000100010055aa
aa550600B000000100010055aa
aa550600B100000100010055aa
aa550600B200000100010055aa
aa550600B300000100010055aa
aa550600B400000100010055aa
aa550600B500000100010055aa
aa550600B600000100010055aa
aa550600B700000100010055aa
aa550600B800000100010055aa
aa550600B900000100010055aa
aa550600BA00000100010055aa
aa550600BB00000100010055aa
aa550600BC00000100010055aa
aa550600BD00000100010055aa
aa550600BE00000100010055aa
aa550600BF00000100010055aa
aa550600C000000100010055aa
aa550600C100000100010055aa
aa550600C200000100010055aa
aa550600C300000100010055aa
aa550600C400000100010055aa
aa550600C500000100010055aa
aa550600C600000100010055aa
aa550600C700000100010055aa
aa550600C800000100010055aa
aa550600C900000100010055aa
aa550600CA00000100010055aa
aa550600CB00000100010055aa
aa550600CC00000100010055aa
aa550600CD00000100010055aa
aa550600CE00000100010055aa
aa550600CF00000100010055aa
aa550600D000000100010055aa
aa550600D100000100010055aa
aa550600D200000100010055aa
aa550600D300000100010055aa
aa550600D400000100010055aa
aa550600D500000100010055aa
aa550600D600000100010055aa
aa550600D700000100010055aa
aa550600D800000100010055aa
aa550600D900000100010055aa
aa550600DA00000100010055aa
aa550600DB00000100010055aa
aa550600DC00000100010055aa
aa550600DD00000100010055aa
aa550600DE00000100010055aa
aa550600DF00000100010055aa
aa550600E000000100010055aa
aa550600E100000100010055aa
aa550600E200000100010055aa
aa550600E300000100010055aa
aa550600E400000100010055aa
aa550600E500000100010055aa
aa550600E600000100010055aa
aa550600E700000100010055aa
aa550600E800000100010055aa
aa550600E900000100010055aa
aa550600EA00000100010055aa
aa550600EB00000100010055aa
aa550600EC00000100010055aa
aa550600ED00000100010055aa
aa550600EE00000100010055aa
aa550600EF00000100010055aa
aa550600F000000100010055aa
aa550600F100000100010055aa
aa550600F200000100010055aa
aa550600F300000100010055aa
aa550600F400000100010055aa
aa550600F500000100010055aa
aa550600F600000100010055aa
aa550600F700000100010055aa
aa550600F800000100010055aa
aa550600F900000100010055aa
aa550600FA00000100010055aa
aa550600FB00000100010055aa
aa550600FC00000100010055aa
aa550600FD00000100010055aa
aa550600FE00000100010055aa

von Jonas B. (jibi)


Lesenswert?

>Blöd ist dabei halt, dass diese ID Teil des durch die Prüfsumme
>geschützten Bereichs ist. D.h.: für jede angenommene Prüfsummenroutine
>mußt du 256 Versuche (mit jeweils angepaßter Prüfsumme) unternehmen.

Das würde man annehmen, die Prüfsumme wird aber nicht über die ID 
gebildet sondern nur über die Daten (siehe meinen Post oben).

@Mario:
kopier meinen letzten Post komplett ins terminal (müsste gehen).

von Jonas B. (jibi)


Lesenswert?

Ups der klassische off-by-one error: (eins vergessen, dubdidu)

aa550600FE00000100010055aa

von Hammer M. (maximiliandonatus_k)


Lesenswert?

Großartig!!!

Werde ich gleich mal testen.

Beitrag #6596310 wurde vom Autor gelöscht.
von K. S. (the_yrr)


Lesenswert?

Jonas B. schrieb:
> kopier meinen letzten Post komplett ins terminal (müsste gehen).

ID 0A bis 0F sehen 1 Byte kürzer aus, da steht statt 0A nur A usw.

von c-hater (Gast)


Lesenswert?

Jonas B. schrieb:

> Das würde man annehmen, die Prüfsumme wird aber nicht über die ID
> gebildet sondern nur über die Daten (siehe meinen Post oben).

Nö. Die ID ist Teil der "Daten". Das zumindest geht recht eindeutig aus 
der Beschreibung hervor.

> aa550600FE00000100010055aa

Das passt doch vorne und hinten nicht zur Protokollbeschreibung, da sind 
einige Bytes zu viel. Der Kommandoframe muss 12 Bytes haben, 4 davon 
sind "Daten" (schließt ID ein!), 4 Post/Pre, 2 Kommando und 2 Checksum.

von Jonas B. (jibi)


Lesenswert?

Sehr gut gesehen, scheint ein Bug in openoffice oder openJonas zu sein 
:)
Hier die ganzen Purschen nochmal:

aa5506000000000100010055aa
aa5506000100000100010055aa
aa5506000200000100010055aa
aa5506000300000100010055aa
aa5506000400000100010055aa
aa5506000500000100010055aa
aa5506000600000100010055aa
aa5506000700000100010055aa
aa5506000800000100010055aa
aa5506000900000100010055aa
aa5506000A00000100010055aa
aa5506000B00000100010055aa
aa5506000C00000100010055aa
aa5506000D00000100010055aa
aa5506000E00000100010055aa
aa5506000F00000100010055aa
aa5506001000000100010055aa
aa5506001100000100010055aa
aa5506001200000100010055aa
aa5506001300000100010055aa
aa5506001400000100010055aa
aa5506001500000100010055aa
aa5506001600000100010055aa
aa5506001700000100010055aa
aa5506001800000100010055aa
aa5506001900000100010055aa
aa5506001A00000100010055aa
aa5506001B00000100010055aa
aa5506001C00000100010055aa
aa5506001D00000100010055aa
aa5506000100000100010055aa
aa5506001F00000100010055aa
aa5506002000000100010055aa
aa5506002100000100010055aa
aa5506002200000100010055aa
aa5506002300000100010055aa
aa5506002400000100010055aa
aa5506002500000100010055aa
aa5506002600000100010055aa
aa5506002700000100010055aa
aa5506002800000100010055aa
aa5506002900000100010055aa
aa5506002A00000100010055aa
aa5506002B00000100010055aa
aa5506002C00000100010055aa
aa5506002D00000100010055aa
aa5506000200000100010055aa
aa5506002F00000100010055aa
aa5506003000000100010055aa
aa5506003100000100010055aa
aa5506003200000100010055aa
aa5506003300000100010055aa
aa5506003400000100010055aa
aa5506003500000100010055aa
aa5506003600000100010055aa
aa5506003700000100010055aa
aa5506003800000100010055aa
aa5506003900000100010055aa
aa5506003A00000100010055aa
aa5506003B00000100010055aa
aa5506003C00000100010055aa
aa5506003D00000100010055aa
aa5506000300000100010055aa
aa5506003F00000100010055aa
aa5506004000000100010055aa
aa5506004100000100010055aa
aa5506004200000100010055aa
aa5506004300000100010055aa
aa5506004400000100010055aa
aa5506004500000100010055aa
aa5506004600000100010055aa
aa5506004700000100010055aa
aa5506004800000100010055aa
aa5506004900000100010055aa
aa5506004A00000100010055aa
aa5506004B00000100010055aa
aa5506004C00000100010055aa
aa5506004D00000100010055aa
aa5506000400000100010055aa
aa5506004F00000100010055aa
aa5506005000000100010055aa
aa5506005100000100010055aa
aa5506005200000100010055aa
aa5506005300000100010055aa
aa5506005400000100010055aa
aa5506005500000100010055aa
aa5506005600000100010055aa
aa5506005700000100010055aa
aa5506005800000100010055aa
aa5506005900000100010055aa
aa5506005A00000100010055aa
aa5506005B00000100010055aa
aa5506005C00000100010055aa
aa5506005D00000100010055aa
aa5506000500000100010055aa
aa5506005F00000100010055aa
aa5506006000000100010055aa
aa5506006100000100010055aa
aa5506006200000100010055aa
aa5506006300000100010055aa
aa5506006400000100010055aa
aa5506006500000100010055aa
aa5506006600000100010055aa
aa5506006700000100010055aa
aa5506006800000100010055aa
aa5506006900000100010055aa
aa5506006A00000100010055aa
aa5506006B00000100010055aa
aa5506006C00000100010055aa
aa5506006D00000100010055aa
aa5506000600000100010055aa
aa5506006F00000100010055aa
aa5506007000000100010055aa
aa5506007100000100010055aa
aa5506007200000100010055aa
aa5506007300000100010055aa
aa5506007400000100010055aa
aa5506007500000100010055aa
aa5506007600000100010055aa
aa5506007700000100010055aa
aa5506007800000100010055aa
aa5506007900000100010055aa
aa5506007A00000100010055aa
aa5506007B00000100010055aa
aa5506007C00000100010055aa
aa5506007D00000100010055aa
aa5506000700000100010055aa
aa5506007F00000100010055aa
aa5506008000000100010055aa
aa5506008100000100010055aa
aa5506008200000100010055aa
aa5506008300000100010055aa
aa5506008400000100010055aa
aa5506008500000100010055aa
aa5506008600000100010055aa
aa5506008700000100010055aa
aa5506008800000100010055aa
aa5506008900000100010055aa
aa5506008A00000100010055aa
aa5506008B00000100010055aa
aa5506008C00000100010055aa
aa5506008D00000100010055aa
aa5506000800000100010055aa
aa5506008F00000100010055aa
aa5506009000000100010055aa
aa5506009100000100010055aa
aa5506009200000100010055aa
aa5506009300000100010055aa
aa5506009400000100010055aa
aa5506009500000100010055aa
aa5506009600000100010055aa
aa5506009700000100010055aa
aa5506009800000100010055aa
aa5506009900000100010055aa
aa5506009A00000100010055aa
aa5506009B00000100010055aa
aa5506009C00000100010055aa
aa5506009D00000100010055aa
aa5506000900000100010055aa
aa5506009F00000100010055aa
aa550600A000000100010055aa
aa550600A100000100010055aa
aa550600A200000100010055aa
aa550600A300000100010055aa
aa550600A400000100010055aa
aa550600A500000100010055aa
aa550600A600000100010055aa
aa550600A700000100010055aa
aa550600A800000100010055aa
aa550600A900000100010055aa
aa550600AA00000100010055aa
aa550600AB00000100010055aa
aa550600AC00000100010055aa
aa550600AD00000100010055aa
aa550600AE00000100010055aa
aa550600AF00000100010055aa
aa550600B000000100010055aa
aa550600B100000100010055aa
aa550600B200000100010055aa
aa550600B300000100010055aa
aa550600B400000100010055aa
aa550600B500000100010055aa
aa550600B600000100010055aa
aa550600B700000100010055aa
aa550600B800000100010055aa
aa550600B900000100010055aa
aa550600BA00000100010055aa
aa550600BB00000100010055aa
aa550600BC00000100010055aa
aa550600BD00000100010055aa
aa550600BE00000100010055aa
aa550600BF00000100010055aa
aa550600C000000100010055aa
aa550600C100000100010055aa
aa550600C200000100010055aa
aa550600C300000100010055aa
aa550600C400000100010055aa
aa550600C500000100010055aa
aa550600C600000100010055aa
aa550600C700000100010055aa
aa550600C800000100010055aa
aa550600C900000100010055aa
aa550600CA00000100010055aa
aa550600CB00000100010055aa
aa550600CC00000100010055aa
aa550600CD00000100010055aa
aa550600CE00000100010055aa
aa550600CF00000100010055aa
aa550600D000000100010055aa
aa550600D100000100010055aa
aa550600D200000100010055aa
aa550600D300000100010055aa
aa550600D400000100010055aa
aa550600D500000100010055aa
aa550600D600000100010055aa
aa550600D700000100010055aa
aa550600D800000100010055aa
aa550600D900000100010055aa
aa550600DA00000100010055aa
aa550600DB00000100010055aa
aa550600DC00000100010055aa
aa550600DD00000100010055aa
aa550600DE00000100010055aa
aa550600DF00000100010055aa
aa550600E000000100010055aa
aa550600E100000100010055aa
aa550600E200000100010055aa
aa550600E300000100010055aa
aa550600E400000100010055aa
aa550600E500000100010055aa
aa550600E600000100010055aa
aa550600E700000100010055aa
aa550600E800000100010055aa
aa550600E900000100010055aa
aa550600EA00000100010055aa
aa550600EB00000100010055aa
aa550600EC00000100010055aa
aa550600ED00000100010055aa
aa550600EE00000100010055aa
aa550600EF00000100010055aa
aa550600F000000100010055aa
aa550600F100000100010055aa
aa550600F200000100010055aa
aa550600F300000100010055aa
aa550600F400000100010055aa
aa550600F500000100010055aa
aa550600F600000100010055aa
aa550600F700000100010055aa
aa550600F800000100010055aa
aa550600F900000100010055aa
aa550600FA00000100010055aa
aa550600FB00000100010055aa
aa550600FC00000100010055aa
aa550600FD00000100010055aa
aa550600FE00000100010055aa

von Zeno (Gast)


Lesenswert?

Hammer M. schrieb:
> In der Beschreibung steht, die ID ist 1 Byte lang. Wieviel Möglichkeiten
> gibt es denn dann? Dann würde ich die einfach mal durchtesten.

Genau 255 - also von 0x00 bis 0xFF. Viel Spaß beim Ausbrobieren.

Da Dir der Schlauberger Wolfgang nun auch nicht wirklich weiter hilft 
will ich es noch mal mal versuchen.

Da Du das Protokoll der Datenübertragung nicht wirklich kennst und Du 
sehr wahrscheinlich auch nicht genau weist was da im einzelnen abgeht, 
lass den Käse mit dem Terminal - das ist in diesem Fall nicht 
zielführend.

Dich dürfte erst mal nur das Programm vom Hersteller weiter bringen. 
Selbiges läuft aber nicht unter Windows XP - habe ich gerade 
ausprobiert. Das Program ist in Visual Basic mit .Net geschrieben. Dies 
bedeutet Du brauchst sehr wahrscheinlich ein recht aktuelles 
.Net-Framework. Mit einer aktuellen Win10 Installation solltes Du gute 
Karten haben.
Wenn Du Win10 hast, dann gehe wie folgt vor:
1. Lege mit dem Explorer direkt unter C ein Verzeichnis (Neuen Ordner) 
an. Ich nennenne ihn mal schlicht und einfach test.
2. Mache einen Doppelklick auf das ZIP, es sollte Dir jetzt der Inhalt 
angezeigt werden. Das ist genau das Verzeichnis mit den vielen 
Leerzeichen an dem Du schon gescheitert bist.
3. Mache einen Doppelklick auf dieses Verzeichnis, es wird Dir der 
Inhalt - das eigentliche Programm - angezeigt. Es ist eine EXE Datei 
wobei der Dateiname eher kryptische Zeichen enthält.
4. Öffne ein 2. Explorerfenster und gehe dort in das neu angelegte 
Verzeichnis test.
5. Ziehe jetzt die Datei aus dem ZIP-Fenster nach test, also in das 
gerade geöffnete Explorerfenster.
6. Benenne die Datei im Verzeichnis test jetzt um. Am besten kurz und 
knackig z.B. akkutester.exe
7. Versuche sie mit einem Doppelklick zu öffnen.

Wenn das nicht funktioniert, dann mache Folgendes:
1. gebe in das Suchfeld cmd ein und drücke die Entertaste. Es sollte 
sich so ein schwarzes Kommandozeilen enster öffne
2. in diesem Fenster gibst Du cd c:\test ein Befehl auch mit Entertaste 
abschließen
3. jetzt tippst Du akkutester ein und schließt mit der Entertaste ab. 
Normalerweise sollte jetzt das Programm starten. Wenn nicht gibt es eine 
Fehlermeldung und die postest Du hier.

Melde Dich auch wenn das Programm startet, dann machen wir weiter.

von c-hater (Gast)


Lesenswert?

Jonas B. schrieb:

> aa5506000000000100010055aa

Immer noch zu fett. 12 Bytes müssen es sein.

von c-hater (Gast)


Lesenswert?

Zeno schrieb:

> Genau 255 - also von 0x00 bis 0xFF. Viel Spaß beim Ausbrobieren.

256!

> Dich dürfte erst mal nur das Programm vom Hersteller weiter bringen.
> Selbiges läuft aber nicht unter Windows XP - habe ich gerade
> ausprobiert. Das Program ist in Visual Basic mit .Net geschrieben. Dies
> bedeutet Du brauchst sehr wahrscheinlich ein recht aktuelles
> .Net-Framework.

Da würde ich nicht drauf wetten...

von Zeno (Gast)


Lesenswert?

Jonas B. schrieb:
> He, was ist das für ein komisches Program :D
> Die Serialports werden einfach von 1-16 durch nummeriert, statt die live
> abzufragen... ganz schlecht.
Ach weist Du, die haben da mal was auf die Schnelle mit Visualstudio in 
.Net zusammen geklickt und da auch nicht weiter überlegt. Halt typisch 
für die heutige Zeit.

von Jonas B. (jibi)


Lesenswert?

>Halt typisch für die heutige Zeit.

Ja ich weiß früher war alles besser und aus Holz, selbst die 
Gummistiefel ;)

>Genau 255 - also von 0x00 bis 0xFF. Viel Spaß beim Ausbrobieren.

heute gibt das sogar 256...

von Hammer M. (maximiliandonatus_k)


Angehängte Dateien:

Lesenswert?

Das mit dem Programm hat leider nicht funktioniert.

Windows ist 10 (64-Bit) und auf dem aktuellen stand.

von Zeno (Gast)


Lesenswert?

c-hater schrieb:
> Da würde ich nicht drauf wetten...
Wetten würde ich da auch nicht drauf, allerdings dürfte die Probiererei 
mit dem Terminal ihn auch nicht weiter bringen.
Wir wissen ja nicht ob die Beschreibung des Datenformats so richtig 
stimmt. Das Programm des Herstellers bietet biete zumindest erst mal ne 
Chance, denn der sollte eigentlich wissen wie man mit seinen Produkten 
umgeht.
Würde mal behaupten das das Programm eigentlich nicht für den Kunden 
gedacht ist, er hat es halt aus Kulanz bekommen. Das hat der Hersteller 
für interne Verwendung gemacht - so sieht es jedenfalls für mich aus.

Ich würde mal googeln - da hat vielleich schon mal einer was gemacht.

von Jonas B. (jibi)


Lesenswert?

>aa5506000000000100010055aa

>Immer noch zu fett. 12 Bytes müssen es sein.

Was stimmt den mit mir nur nicht :(

Letzter Versuch:

aa55060000000100010055aa
aa55060001000100010055aa
aa55060002000100010055aa
aa55060003000100010055aa
aa55060004000100010055aa
aa55060005000100010055aa
aa55060006000100010055aa
aa55060007000100010055aa
aa55060008000100010055aa
aa55060009000100010055aa
aa5506000A000100010055aa
aa5506000B000100010055aa
aa5506000C000100010055aa
aa5506000D000100010055aa
aa5506000E000100010055aa
aa5506000F000100010055aa
aa55060010000100010055aa
aa55060011000100010055aa
aa55060012000100010055aa
aa55060013000100010055aa
aa55060014000100010055aa
aa55060015000100010055aa
aa55060016000100010055aa
aa55060017000100010055aa
aa55060018000100010055aa
aa55060019000100010055aa
aa5506001A000100010055aa
aa5506001B000100010055aa
aa5506001C000100010055aa
aa5506001D000100010055aa
aa55060001000100010055aa
aa5506001F000100010055aa
aa55060020000100010055aa
aa55060021000100010055aa
aa55060022000100010055aa
aa55060023000100010055aa
aa55060024000100010055aa
aa55060025000100010055aa
aa55060026000100010055aa
aa55060027000100010055aa
aa55060028000100010055aa
aa55060029000100010055aa
aa5506002A000100010055aa
aa5506002B000100010055aa
aa5506002C000100010055aa
aa5506002D000100010055aa
aa55060002000100010055aa
aa5506002F000100010055aa
aa55060030000100010055aa
aa55060031000100010055aa
aa55060032000100010055aa
aa55060033000100010055aa
aa55060034000100010055aa
aa55060035000100010055aa
aa55060036000100010055aa
aa55060037000100010055aa
aa55060038000100010055aa
aa55060039000100010055aa
aa5506003A000100010055aa
aa5506003B000100010055aa
aa5506003C000100010055aa
aa5506003D000100010055aa
aa55060003000100010055aa
aa5506003F000100010055aa
aa55060040000100010055aa
aa55060041000100010055aa
aa55060042000100010055aa
aa55060043000100010055aa
aa55060044000100010055aa
aa55060045000100010055aa
aa55060046000100010055aa
aa55060047000100010055aa
aa55060048000100010055aa
aa55060049000100010055aa
aa5506004A000100010055aa
aa5506004B000100010055aa
aa5506004C000100010055aa
aa5506004D000100010055aa
aa55060004000100010055aa
aa5506004F000100010055aa
aa55060050000100010055aa
aa55060051000100010055aa
aa55060052000100010055aa
aa55060053000100010055aa
aa55060054000100010055aa
aa55060055000100010055aa
aa55060056000100010055aa
aa55060057000100010055aa
aa55060058000100010055aa
aa55060059000100010055aa
aa5506005A000100010055aa
aa5506005B000100010055aa
aa5506005C000100010055aa
aa5506005D000100010055aa
aa55060005000100010055aa
aa5506005F000100010055aa
aa55060060000100010055aa
aa55060061000100010055aa
aa55060062000100010055aa
aa55060063000100010055aa
aa55060064000100010055aa
aa55060065000100010055aa
aa55060066000100010055aa
aa55060067000100010055aa
aa55060068000100010055aa
aa55060069000100010055aa
aa5506006A000100010055aa
aa5506006B000100010055aa
aa5506006C000100010055aa
aa5506006D000100010055aa
aa55060006000100010055aa
aa5506006F000100010055aa
aa55060070000100010055aa
aa55060071000100010055aa
aa55060072000100010055aa
aa55060073000100010055aa
aa55060074000100010055aa
aa55060075000100010055aa
aa55060076000100010055aa
aa55060077000100010055aa
aa55060078000100010055aa
aa55060079000100010055aa
aa5506007A000100010055aa
aa5506007B000100010055aa
aa5506007C000100010055aa
aa5506007D000100010055aa
aa55060007000100010055aa
aa5506007F000100010055aa
aa55060080000100010055aa
aa55060081000100010055aa
aa55060082000100010055aa
aa55060083000100010055aa
aa55060084000100010055aa
aa55060085000100010055aa
aa55060086000100010055aa
aa55060087000100010055aa
aa55060088000100010055aa
aa55060089000100010055aa
aa5506008A000100010055aa
aa5506008B000100010055aa
aa5506008C000100010055aa
aa5506008D000100010055aa
aa55060008000100010055aa
aa5506008F000100010055aa
aa55060090000100010055aa
aa55060091000100010055aa
aa55060092000100010055aa
aa55060093000100010055aa
aa55060094000100010055aa
aa55060095000100010055aa
aa55060096000100010055aa
aa55060097000100010055aa
aa55060098000100010055aa
aa55060099000100010055aa
aa5506009A000100010055aa
aa5506009B000100010055aa
aa5506009C000100010055aa
aa5506009D000100010055aa
aa55060009000100010055aa
aa5506009F000100010055aa
aa550600A0000100010055aa
aa550600A1000100010055aa
aa550600A2000100010055aa
aa550600A3000100010055aa
aa550600A4000100010055aa
aa550600A5000100010055aa
aa550600A6000100010055aa
aa550600A7000100010055aa
aa550600A8000100010055aa
aa550600A9000100010055aa
aa550600AA000100010055aa
aa550600AB000100010055aa
aa550600AC000100010055aa
aa550600AD000100010055aa
aa550600AE000100010055aa
aa550600AF000100010055aa
aa550600B0000100010055aa
aa550600B1000100010055aa
aa550600B2000100010055aa
aa550600B3000100010055aa
aa550600B4000100010055aa
aa550600B5000100010055aa
aa550600B6000100010055aa
aa550600B7000100010055aa
aa550600B8000100010055aa
aa550600B9000100010055aa
aa550600BA000100010055aa
aa550600BB000100010055aa
aa550600BC000100010055aa
aa550600BD000100010055aa
aa550600BE000100010055aa
aa550600BF000100010055aa
aa550600C0000100010055aa
aa550600C1000100010055aa
aa550600C2000100010055aa
aa550600C3000100010055aa
aa550600C4000100010055aa
aa550600C5000100010055aa
aa550600C6000100010055aa
aa550600C7000100010055aa
aa550600C8000100010055aa
aa550600C9000100010055aa
aa550600CA000100010055aa
aa550600CB000100010055aa
aa550600CC000100010055aa
aa550600CD000100010055aa
aa550600CE000100010055aa
aa550600CF000100010055aa
aa550600D0000100010055aa
aa550600D1000100010055aa
aa550600D2000100010055aa
aa550600D3000100010055aa
aa550600D4000100010055aa
aa550600D5000100010055aa
aa550600D6000100010055aa
aa550600D7000100010055aa
aa550600D8000100010055aa
aa550600D9000100010055aa
aa550600DA000100010055aa
aa550600DB000100010055aa
aa550600DC000100010055aa
aa550600DD000100010055aa
aa550600DE000100010055aa
aa550600DF000100010055aa
aa550600E0000100010055aa
aa550600E1000100010055aa
aa550600E2000100010055aa
aa550600E3000100010055aa
aa550600E4000100010055aa
aa550600E5000100010055aa
aa550600E6000100010055aa
aa550600E7000100010055aa
aa550600E8000100010055aa
aa550600E9000100010055aa
aa550600EA000100010055aa
aa550600EB000100010055aa
aa550600EC000100010055aa
aa550600ED000100010055aa
aa550600EE000100010055aa
aa550600EF000100010055aa
aa550600F0000100010055aa
aa550600F1000100010055aa
aa550600F2000100010055aa
aa550600F3000100010055aa
aa550600F4000100010055aa
aa550600F5000100010055aa
aa550600F6000100010055aa
aa550600F7000100010055aa
aa550600F8000100010055aa
aa550600F9000100010055aa
aa550600FA000100010055aa
aa550600FB000100010055aa
aa550600FC000100010055aa
aa550600FD000100010055aa
aa550600FE000100010055aa

von c-hater (Gast)


Lesenswert?

Zeno schrieb:

> Ach weist Du, die haben da mal was auf die Schnelle mit Visualstudio in
> .Net zusammen geklickt und da auch nicht weiter überlegt. Halt typisch
> für die heutige Zeit.

Unsinn. Das ist erstens kein Programm, was irgendwie mit .net hantiert 
und zweitens keins, was in VB geschrieben wurde.

Das ist uralte 32Bit-MFC-Gülle, wahrscheinlich in C++ geschrieben. Das 
einzige, was wohl stimmt: ja, das wurde sehr wahrscheinlich mit 
VisualStudio erstellt...

Das "VB" in den Ressourcen kommt wohl von der Produktreihe des 
Herstellers, so wie auch in dieser Doku irgendwas mit "VB" steht...

von Hammer M. (maximiliandonatus_k)


Angehängte Dateien:

Lesenswert?

Ich habe eine Antwort vom Akku bekommen!!!!

Jonas B. schrieb:
> Letzter Versuch:

Hab alles kopiert und gesendet.

Aber irgendwie ist die Antwort nicht sehr aussagekräftig, oder?

von Hammer M. (maximiliandonatus_k)


Angehängte Dateien:

Lesenswert?

Ups, falsche Baudrate gewählt.

Jetzt gibts ne längere Antwort.

Aber irgendwie auch ohne wirklichen Inhalt.

von Jonas B. (jibi)


Lesenswert?

>Hab alles kopiert und gesendet.

Baudrate ist irgendwie bei 115200 nun?

von Jonas B. (jibi)


Lesenswert?

>Ich habe eine Antwort vom Akku bekommen!!!!

Sehr gut. Wir wissen nun das einer der 256 Befehle funktioniert hat. So 
nun probiere die ersten 128 (auf einmal natürlich) und schaue ob was 
zurück kommt. Wenn ja nehme die ersten 64 der 128 und teste wieder, 
ansonsten nimmst du die ersten 64 von den übrig gebliebenen 128 und 
testet damit? Prinzip erkannt? So müsstet du mit maximal 8 Tests deine 
ID gefunden haben...

Wobei eigentlich ist es ja egal, er müsste ja die anderen ignorieren. 
Also dürfte eigentlich jetzt schon eine sinnvolle Antwort kommen...Und 
die müsste ziemlich lang sein (länger als 26 Bytes). Jetzt bin ich 
gerade überfragt.

: Bearbeitet durch User
von Zeno (Gast)


Lesenswert?

Hammer M. schrieb:
> Das mit dem Programm hat leider nicht funktioniert.
>
> Windows ist 10 (64-Bit) und auf dem aktuellen stand.

Na will ich mal mein Glück versuchen. Vielleicht ist das Programm auf 
32Bit compiliert bzw. verwendet das 32bitige Framework.

Ich habe jetzt mal bei mir auf verschiedenen Rechnern probiert. Wenn ich 
unter Wiondows10 einen Doppelklick auf die Datei mache  - ob umbenannt 
oder nicht - erscheint zumindest erst mal ne Fehlermeldung:
 -MSVCP110.DLL fehlt
 -MFC110U.DLL fehlt
 -MSVCR110.DLL fehlt

Die Dateien gehören zum Visual C++ Redistributable. Wie es installiert 
wird steht hier 
https://www.giga.de/downloads/windows-10/tipps/msvcr110.dll-fehlt-so-installiert-ihr-die-datei/

Wie es aussieht doch nicht Visual Basic.

Also versuch mal Dein Glück.

von Jonas B. (jibi)


Lesenswert?

>Also versuch mal Dein Glück.

Das würde ich auch vorziehen...Selbst wenn du ne Antwort bekommst, die 
auseinander zu frickeln, puh das traue ich dir ehrlich gesagt nicht zu 
Mario, das ist aber auch gar nicht böse gemeint.

P.S. ist da im hterm etwa wieder ein Haken bei Ascii gesetzt??? mario du 
machst einen ja wahnsinnig ;)

VG Jonas

: Bearbeitet durch User
von Hammer M. (maximiliandonatus_k)


Lesenswert?

Das ist spannend,

je mehr ich es eingrenze, desto kürzer werden die Antworten.

Bei 128 = 10

bei 64 = 6

bei 32 = 7

bei 16 = 2

bei 8 = 2

bei 4 = 1

bei 2 = 0

von Hammer M. (maximiliandonatus_k)


Lesenswert?

Jonas B. schrieb:
> Das würde ich auch vorziehen...Selbst wenn du ne Antwort bekommst, die
> auseinander zu frickeln, puh das traue ich dir ehrlich gesagt nicht zu
> Mario, das ist aber auch gar nicht böse gemeint

Ich befürchte fast, da könntest du recht haben

von Zeno (Gast)


Lesenswert?

c-hater schrieb:
> Unsinn. Das ist erstens kein Programm, was irgendwie mit .net hantiert
> und zweitens keins, was in VB geschrieben wurde.
>
> Das ist uralte 32Bit-MFC-Gülle, wahrscheinlich in C++ geschrieben. Das
> einzige, was wohl stimmt: ja, das wurde sehr wahrscheinlich mit
> VisualStudio erstellt...
Mit 32Bit (XP) kann ich dem Teil keinen Pips entlocken. Einzig und 
allein auf meinem Win10 - 64Bit- gibt es bei mir eine Reaktion.
Werde es noch mal auf einem 32Bit Win7 probieren.
Win7 32Bit habe ich auc eine Reaktion, da fehlt bei mir die MFC110U.DLL

Aber Du wirst schon recht haben das Ding ist 32Bit, habe noch mal rein 
geschaut es ist gegen einige 32Bit DLL's gelinkt.
Also sollte sich der TO die 32Bit Versionen der genannten DLL's holen 
und nach C:\Windows\SysWOW64 kopieren.

Das mit dem VB hatte ich ja bereits korrigiert.

von Jonas B. (jibi)


Lesenswert?

>Ich befürchte fast, da könntest du recht haben

Keine Sorge, wir helfen dir. Hast du das mal installiert?

https://www.giga.de/downloads/windows-10/tipps/msvcr110.dll-fehlt-so-installiert-ihr-die-datei/

Auf meinem System Win7 64bit läuft das einfach so, allerdings ist da 
auch alles für die Entwicklung und Softwarepaketierung mit C++ 
vorbereitet.

: Bearbeitet durch User
von Zeno (Gast)


Lesenswert?

Hammer M. schrieb:
> je mehr ich es eingrenze, desto kürzer werden die Antworten.

Da bekommst Du nicht wirklich was zurück, sondern nur irgendwas.

Ich habe mir die Anleitung (s.7-9) nochmals angeschaut. Da müßten mit 
einem Hieb bei erfolgreicher Anfrage um die 82 Byte Daten zurückkommen, 
wenn ich mich nicht verzählt habe.  Aber über 80 waren es in jedem Fall. 
Die müßtest Du dann auseinander fummeln, um an die interessierenden 
Daten zu kommen.

von Jonas B. (jibi)


Lesenswert?

>Da bekommst Du nicht wirklich was zurück, sondern nur irgendwas.

Vorher kam ja keine Antwort, also einen kleinen Schritt weiter sind wir 
schon. Ich frage mich gerade, wo wird die Geräte-ID eigentich 
festgelegt. Ich hätte ja vermutet, das die auf dem Gerät selbst 
gespeichert ist und abgefragt werden kann. Hm...
Ich hoffe aber das Mario einfach das Programm zum Laufen kriegt...

von Hammer M. (maximiliandonatus_k)


Angehängte Dateien:

Lesenswert?

Die Anleitung von der Installation zu C++ bin ich gefolgt und das hat 
auch funktioniert.

Jetzt erscheint dieser Fehler

von Jonas B. (jibi)


Lesenswert?

Neu gestartet?

von Hammer M. (maximiliandonatus_k)


Lesenswert?

Ja

von Jonas B. (jibi)


Lesenswert?

lade die mal direkt von hier:
https://de.dll-files.com/search/?q=msvcr110.dll
und speichere sie unter C:\Windows\System32
(dafür musst du den Explorer mit Administrator Rechten starten)

: Bearbeitet durch User
von Gerald K. (geku)


Lesenswert?

Wie ist der folgende Satz zu interpredieren?

"Die zu prüfenden Daten reichen von nach dem Befehlswort (5. Byte) bis 
vor der Prüfung
selbst (nicht enthalten) (5. Byte von unten)"

von Jonas B. (jibi)


Lesenswert?

"Die zu prüfenden Daten reichen von nach dem Befehlswort (5. Byte) bis
vor der Prüfung
selbst (nicht enthalten) (5. Byte von unten)"

Das die Prüfsumme doch über alle Bytes berechnet wird (außer prä und 
postambel).

von Gerald K. (geku)


Lesenswert?

Wie ist der folgende Satz zu interpredieren?

"Die zu prüfenden Daten reichen von nach dem Befehlswort (5. Byte) bis 
vor der Prüfung
selbst (nicht enthalten) (5. Byte von unten)"

Ohne funktionierender Prüfsumme wird's nichts mit erfreichender 
Kommunikation.

von Jonas B. (jibi)


Lesenswert?

>Ohne funktionierender Prüfsumme wird's nichts mit erfreichender
>Kommunikation.

Ja das ist bekannt. Aber jetzt gibt auch alles Sinn. Die Antwort mit den 
vielen Nullen, sind bestimmt Antworten auf Messages mit richtiger ID 
aber falscher Prüfsumme.

: Bearbeitet durch User
von Wolfgang (Gast)


Angehängte Dateien:

Lesenswert?

c-hater schrieb:
> Nö. Die ID ist Teil der "Daten". Das zumindest geht recht eindeutig aus
> der Beschreibung hervor.
>
>> aa550600FE00000100010055aa
>
> Das passt doch vorne und hinten nicht zur Protokollbeschreibung, da sind
> einige Bytes zu viel. Der Kommandoframe muss 12 Bytes haben, 4 davon
> sind "Daten" (schließt ID ein!), 4 Post/Pre, 2 Kommando und 2 Checksum.

Wozu soll das Programm sonst gut sein. Ich würde mal ganz naiv davon 
ausgehen, dass die Kiste mit der Anfrage, die das Programm über die 
Serielle Schnittstelle rausschickt, auch etwas anfangen kann.
Und da kommt nun mal jede Sekunde
1
AA 55 06 00 00 00 01 00 01 00 55 AA
Eine Möglichkeit zur Eingabe/Konfiguration einer anderen ID konnte ich 
da erstmal nicht entdecken.

Hammer M. schrieb:
> Energy_storage_battery_host_computer_software_V2.0.zip

von Hammer M. (maximiliandonatus_k)


Angehängte Dateien:

Lesenswert?

Datei ist "installiert"
Aber passieren tut irgendwie nix.

Wolfgang schrieb:
> AA 55 06 00 00 00 01 00 01 00 55 AA

Wenn ich das sende bekomme ich keine Antwort. Sehr merkwürdig, oder?

von Hammer M. (maximiliandonatus_k)


Angehängte Dateien:

Lesenswert?

Verbindung getrennt und wieder hergestellt:

Jetzt kommt eine Antwort.

Aber wieder bisschen kurz, oder?

von Jonas B. (jibi)


Lesenswert?

>Datei ist "installiert"
>Aber passieren tut irgendwie nix.

Was kommt den für ein Fehler?

von Wolfgang (Gast)


Lesenswert?

Hammer M. schrieb:
> Aber wieder bisschen kurz, oder?

Da fehlt der Frame-Header (AA 55) am Anfang. Das sieht IMHO 
unvollständig aus.

von Hammer M. (maximiliandonatus_k)


Lesenswert?

Kommt gar kein Fehler.

Im cmd passiert nichts und durch Doppelklick ist es, wie wenn sich etwas 
öffnet, das sich direkt wieder schließt.

von Wolfgang (Gast)


Angehängte Dateien:

Lesenswert?

Hammer M. schrieb:
> Jetzt kommt eine Antwort.

Probier doch mal, die Abfrage jede Sekunde zu senden, ao wie es das 
Programm macht.

von Hammer M. (maximiliandonatus_k)


Angehängte Dateien:

Lesenswert?

Kommt nur immer wieder das selbe Ergebnis.

von Zeno (Gast)


Lesenswert?

Hammer M. schrieb:
> Datei ist "installiert"
> Aber passieren tut irgendwie nix.
Wo hast Du die Datei hin installiert? Unter 64Bit Win10 kommen 32Bit 
DLL's eben nicht nach Windows\System32 sondern nach C:\Windows\SysWOW64

Hammer M. schrieb:
> Die Anleitung von der Installation zu C++ bin ich gefolgt und das hat
> auch funktioniert.
>
> Jetzt erscheint dieser Fehler
Das hatte ich doch auch gepostet das diese DLL zu installieren ist.

von Zeno (Gast)


Lesenswert?

Hammer M. schrieb:
> Kommt nur immer wieder das selbe Ergebnis.

Ohne die korrekte Prüfsumme wird das wohl nichts werden.

von Wolfgang (Gast)


Lesenswert?

Hammer M. schrieb:
> Kommt nur immer wieder das selbe Ergebnis.

Bist du ganz sicher, dass du die Verkabelung richtig hast. Die 
empfangenen Daten könnten durch übersprechen entstehen.
Die Verbindung zwischen USB-RS232 Adapter (D-Sub Stecker?) und RJ-45 
Stecker am Gerät muss wie folgt aussehen:
1
D-Sub RJ45      Signal
2
  2     5       TX Gerät/RX PC
3
  3     4       RX Gerät/TX PC
4
  5   1 od. 2   Gnd

Und außerdem muss am RJ-45 die Verbindung von Pin 6 nach 7 oder 8 
vorhanden sein.

von Wolfgang (Gast)


Lesenswert?

Zeno schrieb:
> Ohne die korrekte Prüfsumme wird das wohl nichts werden.

Warum sollte die Prüfsumme, die die GUI-Software sendet, falsch sein?

von Heinz B. (Firma: Privat) (hbrill)


Lesenswert?

Vielleicht liegt es doch an der Hardware.
Welchen USB --> RS232 Adapter hast du denn ?
Mit den Noname-Adaptern ohne FTDI-Chip hatte ich
auch schon ähnliche Probleme gehabt. Ist dann auch
ein Treiberproblem. Der CP2100x... paßt am besten.
Am besten fand ich noch den DIGITUS mit FTDI.

Auch sollte man ein durchkontaktiertes Nullmodemkabel
oder Adapter parat haben. Und diverse Adapter (m/w)
(breites/9pol.) ebenfalls.

Da hatte ich schon die abentuerlichste Kabelverbindung
von Klein nach Groß, über Nullmodemadapter und wieder
von Groß nach klein gehabt, bis ich da Ergebnisse
hatte.

So ist mal meine Erfahrung damit.

: Bearbeitet durch User
von Hammer M. (maximiliandonatus_k)


Lesenswert?

Hallo Zusammen,

Vielen vielen vielen Dank für die Mühe, die ihr euch alle gemacht 
habt!!!!!!

Das ist wirklich großartig.


Leider konnte ich das "Problem" zwar nicht beheben, aber ich habe sehr 
viel gelernt.
Es fehlt wahrscheinlich noch an zu vielen Grundkenntnissen, um den 
ursprünglichen Plan zu verfolgen, den Akku später mit Hilfe eines 
Raspberry Pi zu überwachen.
Vielleicht findet sich in der Zukunft ja ein findiger Tüftler, der einen 
ähnlichen Plan verfolgt und bereit ist die Ergebnisse dann zu teilen.

Ich bin wirklich sehr begeistert, von eurer Hilfsbereitschaft.

Liebe Grüße

von Peter D. (peda)


Lesenswert?

Oftmals haben RS-232 Protokolle auch einen Timeout. Man kann also in 
einem Terminalprogramm gar nicht so schnell eintippen, daß der Befehl 
akzeptiert wird.
In der Serviceanleitung wurde daher vorgeschlagen, man öffne einen 
Texteditor, gebe den Befehl mit Prüfsumme ein und dann übernimmt man die 
Zeile mit Copy&Paste in das Terminalprogramm, damit alle Bytes in einem 
Rutsch gesendet werden.

von Wolfgang (Gast)


Lesenswert?

Peter D. schrieb:
> Oftmals haben RS-232 Protokolle auch einen Timeout. Man kann also in
> einem Terminalprogramm gar nicht so schnell eintippen, daß der Befehl
> akzeptiert wird.

Das war die Idee hinter:

Wolfgang schrieb:
> Probier doch mal ...

Damit kommen die Daten genauso aus dem Terminalprogramm wie aus dem 
GUI-Programm ;-)

Aber das nützt nur, wenn die Verdrahtung auch passt.
Wie steht es damit, inbesondere mit der Brücke 6-7/8?

von Hammer M. (maximiliandonatus_k)


Lesenswert?

Wolfgang schrieb:
> Aber das nützt nur, wenn die Verdrahtung auch passt.
> Wie steht es damit, inbesondere mit der Brücke 6-7/8?

Die Überbrückung habe ich gemacht.

Muss die denn dauerhaft sein?
Hab ein Kabel zum überbrücken genommen.

von Nick M. (Gast)


Lesenswert?

Peter D. schrieb:
> Man kann also in
> einem Terminalprogramm gar nicht so schnell eintippen, daß der Befehl
> akzeptiert wird.

Guter Punkt!
Kann aber zusätzlich sein, dass das Terminalprogramm (das eher nicht) 
und / oder der USB-RS232-Wandler puffert und irgendwann die restlichen 
Zeichen sendet (also kein flush macht).
Könnte man nochmal mit einem loopback (also Tx mit Rx verbinden) 
verifizieren.

von Wolfgang (Gast)


Lesenswert?

Hammer M. schrieb:
> Muss die denn dauerhaft sein?

Zumindest so lange, wie du mit der Kiste über die RS-232 Schnittstelle 
kommunizieren willst.

von Heinz B. (Firma: Privat) (hbrill)


Lesenswert?

Hab auch schon so einen 9poligen Adapter Male<->Gender
gehabt, der Rx und Tx intern gekreuzt hatte. Damals
suchte ich auch tagelang. Habe mir dann mit Filzstift
eine 0 auf das Gehäuse draufgeschrieben.
Scheint wahrscheinlich so eine billige China-Produktion
ohne Endkontrolle gewesen zu sein.

Sage ich hier mal, falls du einen solchen benutzen solltest.

von Zeno (Gast)


Lesenswert?

Wolfgang schrieb:
> Warum sollte die Prüfsumme, die die GUI-Software sendet, falsch sein?

Wer redet hier von der GUI-Software?
Es geht um das Rumgehampel mit dem Terminal.

von Wolfgang (Gast)


Lesenswert?

Zeno schrieb:
> Wer redet hier von der GUI-Software?
> Es geht um das Rumgehampel mit dem Terminal.

Der Sendestring der da mit dem Terminal gesendet wird, ist genau die 
Sequenz, die das GUI-Programm sendet - wenn du den Thread vielleicht mal 
verfolgen magst.

Hammer M. schrieb:
> Screenshot_2021-02-21_234941.png

von Hammer M. (maximiliandonatus_k)


Lesenswert?

Heinz B. schrieb:
> der Rx und Tx intern gekreuzt hatte.

hab mal TX und RX wild hin und her getauscht.

Wenn es "falsch" verkabelt ist, bekomme ich eine Antwort.

Wolfgang schrieb:
> Bist du ganz sicher, dass du die Verkabelung richtig hast. Die
> empfangenen Daten könnten durch übersprechen entstehen.

Könnte aber daran liegen.

Wenn ich es "richtig" verkabel, bekomme ich gar keine Antwort.

Ich benutze einen CP2102 als USB --> RS232 Adapter

von Einer K. (Gast)


Lesenswert?

Hammer M. schrieb:
> Ich benutze einen CP2102 als USB --> RS232 Adapter

Hasse mal ein Bild, oder einen Link?

von Hammer M. (maximiliandonatus_k)


Angehängte Dateien:

Lesenswert?

Hab mal Bilder gemacht

von Einer K. (Gast)


Lesenswert?

Hammer M. schrieb:
> Hab mal Bilder gemacht
Ja!

Ein tolles Dingen!
Ein USB UART Adapter.

Aber mit RS232C hat das Dingen erstmal nix zu tun.

Nix gegen das Dingen, die tuns.
Aber RS232C ist das nicht.

von Hammer M. (maximiliandonatus_k)


Lesenswert?

Ok, dass könnte natürlich unter anderem erklären, warum nichts 
funktioniert, wenn ich das falsche Teil benutze 🤦🏼‍♂️.

von Hammer M. (maximiliandonatus_k)


Lesenswert?

Arduino Fanboy D. schrieb:
> Aber mit RS232C hat das Dingen erstmal nix zu tun.

Kannst du mir nen Tipp geben, was für ein Adapter geeignet wäre?

Nicht, dass ich noch mal was falsches kaufe

: Bearbeitet durch User
von Einer K. (Gast)


Lesenswert?

Hmm...
Du könntest deinen Adapter mit einem Max232 aufpeppen.

Alternativ, würde auch wohl sowas gehen, ebay: 313404350976

von Hammer M. (maximiliandonatus_k)


Lesenswert?

Kurze Verständnisfrage:

Arduino Fanboy D. schrieb:
> Alternativ, würde auch wohl sowas gehen, ebay

Wo genau liegt der Unterschied zu meinem Adapter? Ich dachte es wäre 
eigentlich nur der Anschluss. Aber wohl irgendwie falsch gedacht.

Ist RS232 nicht auch UART?

von Einer K. (Gast)


Lesenswert?

Hammer M. schrieb:
> Ist RS232 nicht auch UART?
Ist es!

Wobei aber dein UART mit TTL Pegeln(0V - 5V(3,3V?)) arbeitet, und RS232C 
mit (ca -12V - +12V). Und zudem invertiert.

Darum ja auch der Max, als spezieller Pegelwandler, genau für diesen 
Zweck.

von Franz M. (elmo64)


Lesenswert?

Arduino Fanboy D. schrieb:
> Wobei aber dein UART mit TTL Pegeln(0V - 5V(3,3V?)) arbeitet

Laut Seite 5 des vom TO hochgeladenen Datenblattes 3,3V

also sollte der Schnittstellenadapter, den der TO gerade benutzt 
geeignet sein. Bei der Nutzung eines richtigen RS232 Wandlers, 
könnte die Elektronik des Akkus beschädigt werden.

Hammer M. schrieb:
> Ich dachte es wäre eigentlich nur der Anschluss
Jain. RS232C spezifiziert die physikalische Übertragung, wie 
Spannungspegel, Steckverbinder, etc. UART (Universal Asynchronous 
Receiver Transmitter) heißt hingegen der Tranceiver, der den seriellen 
Datenstrom erzeugt/empfängt.
Beide Begriffe werden oft fälschlicherweise synonym benutzt.

Hammer M. schrieb:
> hab mal TX und RX wild hin und her getauscht.
> Wenn es "falsch" verkabelt ist, bekomme ich eine Antwort.

Vielleicht sind die Pins des Schnittstellenadapters "falsch" beschriftet 
und du musst die Leitungen NICHT kreuzen. Ich hatte mal einen solchen 
und habe den LA gebraucht um das festzustellen.

Hammer M. schrieb:
> der Hersteller meint, sie hätten alle Akkus von RS485 auf RS232
> umgestellt.

Zitat aus dem Datenblatt: "(bitte wenden Sie sich an das Creabest-Team, 
um die Version Ihres Akkus zu bestätigen)." Vielleicht hast du trozdem 
eine alte Version mit RS485? Solange nichts anhand der Seriennummer oder 
ähnlichem verifiziert wurde, ist alles möglich.

: Bearbeitet durch User
von Wolfgang (Gast)


Lesenswert?

A. M. schrieb:
> Vielleicht sind die Pins des Schnittstellenadapters "falsch" beschriftet
> und du musst die Leitungen NICHT kreuzen. Ich hatte mal einen solchen
> und habe den LA gebraucht um das festzustellen.

Dafür braucht man keinen LA, es hilft schon ein Multimeter.
Man kann einfach bei nicht an der Gegenstelle angeschlossenen 
USB-X-Adapter auf beiden Leitung die Spannung gegen Gnd messen (TXD-Gnd, 
RXD-Gnd).

Welche Spannung sieht man im Ruhezustand?
Was passiert, wenn man per Terminalprogramm eine Dauersendung mit 2400 
Baude macht und dann misst?
Auf dem Sende-Pin muss der Pegel beim Senden zappeln, auf dem 
Empfangs-Pin muss Ruhe herrschen.

von Wolfgang (Gast)


Lesenswert?

Hammer M. schrieb:
> Wenn es "falsch" verkabelt ist, bekomme ich eine Antwort.

IMHO siehst du keine Antwort, sondern die etwas verkrüppelten 
Sendedaten, die auf die RX-Leitung übersprechen.

Miss auch mal (bei aufgetrennter Verbindung zum USB-X-Adapter) auf der 
Geräteseite am RJ45 die Spannungen zwischen 2-4 RX und 2-5 TX.

von Mario M. (thelonging)


Lesenswert?

Arduino Fanboy D. schrieb:
> Alternativ, würde auch wohl sowas gehen, ebay: 313404350976

Bitte nicht diese billigen blauen Wandler kaufen, dir meist mit Prolific 
-Chips bestückt sind. Die Foren sind voll von Problemen, die nach 
Wechsel auf ein anderes Modell verschwanden.

von Stefan (Gast)


Lesenswert?

A. M. schrieb:
> Arduino Fanboy D. schrieb:
>> Wobei aber dein UART mit TTL Pegeln(0V - 5V(3,3V?)) arbeitet
>
> Laut Seite 5 des vom TO hochgeladenen Datenblattes 3,3V

Das steht da nur für Pin 3, der nicht angeschlossen werden soll:
"3.Verbindungsmodus. 3,3 V Logikpegel. Lass es schweben."
Zu den RX/TX-Pegeln steht da nichts - also wie Wolfgang schrieb 
nachmessen.

von Heinz B. (Firma: Privat) (hbrill)


Lesenswert?

Wie oben schon gesagt, nimm am besten den
Digitus. Mit Prolific hatte ich auch solche
Probleme gehabt.
Wie ich in den obigen Bildern sehe, hast du
ja auch nur 5 V TTL Pegel. Da gehört für den
PC noch ein Pegelwandler zu 12 V dazu.

: Bearbeitet durch User
von Christoph db1uq K. (christoph_kessler)


Lesenswert?

>Später mal soll da ganze über einen Pi mit Openhab hab laufen
https://de.wikipedia.org/wiki/OpenHAB
da steht aber nirgends was von RS232, soll der Pi das adaptieren?

Für den Raspberry gibt es nicht so viele Terminalprogramme.

Hterm hätte ich auf dem PC auch benutzt, aber unter Linux gibt es nur 
ein 32bit Binary von 2009, das man aber noch unter aktuellem Ubuntu 
benutzen kann, wenn alle 32bit-Libraries installiert sind. Aber für den 
Raspberry ist das nicht brauchbar, das läuft nur auf x86.

Für Raspberry gibt es ersatzweise Cutecom, das kann auch Hex übertragen.

Der Hauptfehler war sicher erstmal der falsche Pegel, dem 
RS232-Interface fehlt noch der invertierende Pegelwandler mit MAX232 
oder ähnlichem. Selbst wenn das Gerät auch mit TTL-Pegel zufrieden wäre 
ist immer noch high und low vertauscht.  Die Platine ist schon ok.

: Bearbeitet durch User
von Axel R. (axlr)


Lesenswert?

4.RX.DerRS232-Empfangspin des Geräts ist mit dem sendenden Ende des 
Hosts verbunden.

5.TX.DerRS232-Sende-Pin des Geräts ist mit dem Empfangsende des Hosts 
verbunden.

Steht da doch eindeutig.
Um jetzt herauszufinden, ob da nun nen RS232 oder TTL angelegt werden 
muss, nimmt man PIN3 seiner Seriellen Schnittstelle am PC, sendet dort
"UUUUUUUUUUUUUU" mit 300Baud.
und verbindet das mit dem RX-Pin des Akkus über 10k-Ohm. Masse nicht 
vergessen, PIN5 vom PC an den PIN1 vom RJ-45 ( auch hhier: 
zählreihenfolge am RJ45 beachten. )
Jetzt schaut man mit'm Oszilloskop, ob die Spannungen hinter dem 10K, 
auf der RJ-45 Steckerseite denen vor dem 10K in etwa folgen, oder ob sie 
gegen GND und VCC durch die internen Schutzdioden abgeschnitten werden.
Also entweder gehen die Spannungen mit (-6V, +6V; mehr wirds heute nicht 
mehr sein) oder sie "schlagen bei -0.7V und +4V an". Dann weis man, was 
man hat. Wenn tatscächlich reiner TTL Pegel ist, kann man zum Schutz des 
Empfängers ja zur Not den Widerstand auf 1K verringern, eine Sperrdiode 
gegen GND (zusätzlich zur Intergrierten) einbauen und muss im Terminal 
die ausgesendeten Daten eben invertieren.
Die angesprochenen USB-Wandler senden eben erst, wenn deren Sendepuffer 
voll ist (4K voreinstellung) oder eben nach 16 msekunden. Stellt man den 
Sendepuffer entsprechend der Paketgröße ein oder setzt die 16ms auf 1ms 
herab, hat man auch ordentlichen datendurchsatz, ohne dass ein oben 
angesprochen, eventuelles Timeout auf der schnittstelle zuschlägt. Es 
macht keinen Sinn, an dieser Stelle auf den Hersteller xyz zu schimpfen.
PIN6 wurde schon genannt, oder?
Baudrate 38400? LSB first ist gewöhnungsbedürftig, man muss wirklich 
erst das hintere Byte schicken, danach erst das "linke", höherwertige...

Aber ich denke, mittlerweile läuft das längst alles, oder?

: Bearbeitet durch Admin
von Wolfgang (Gast)


Lesenswert?

Mario M. schrieb:
> Die Foren sind voll von Problemen, die nach
> Wechsel auf ein anderes Modell verschwanden.

Wenn die Leute sich von ihrem Betriebssystem und der Microsoft Updaterei 
bevormunden lassen, haben sie selber Schuld. Die Treiberversion 
3.4.25.218 (07.10.2011) von Prolific hat bisher noch immer funktioniert.

von Wolfgang (Gast)


Lesenswert?

Axel R. schrieb:
> Jetzt schaut man mit'm Oszilloskop ...
Das wird wohl das Problem sein. Vermutlich gäbe es diesen Thread dann 
nicht.

von Mario M. (thelonging)


Lesenswert?

Wolfgang schrieb:
> Die Treiberversion

Nee, das scheint elektrisch was nicht kompatibel zu sein. Vermutlich zu 
schwache Ausgänge oder zu kleine Pegel.

Wolfgang schrieb:
> es hilft schon ein Multimeter

Genau, den TX-Pin erkennt man an der hohen negativen Spannung.

von Wolfgang (Gast)


Lesenswert?

Mario M. schrieb:
> Genau, den TX-Pin erkennt man an der hohen negativen Spannung.

Es gibt manche "RS-232"-Adapter, die nur eine positive Spannung liefern, 
aber mit RS-232 Invertierung. Der fehlendem negative Pegel ist nicht 
schön, aber nicht unbedingt ein Indiz

Mario M. schrieb:
> Nee, ...
Doch, meine Antwort bezog sich auf

Mario M. schrieb:
> Die Foren ...

von Hammer M. (maximiliandonatus_k)


Lesenswert?

Ein Multimeter hab ich da und werde heute Abend mal messen.

Kann man, sagen, dass wenn ich Spannung um die 12v feststelle, ein 
korrekter Adapter Sinn machen würde und eventuell eine Lösung wäre?

von Karl B. (gustav)


Angehängte Dateien:

Lesenswert?

Hammer M. schrieb:
> Kann man, sagen, dass wenn ich Spannung um die 12v feststelle

Hi,
sowas ist auch gut.
Oder noch 'ne "Breakout Box" für "beliebige" Verdrahtung dazwischen.

ciao
gustav

von Wolfgang (Gast)


Lesenswert?

Karl B. schrieb:
> Oder noch 'ne "Breakout Box" für "beliebige" Verdrahtung dazwischen.

Die ist schon da, oder was willst du noch mehr?

Hammer M. schrieb:
> 4.jpg

von Uwe (Gast)


Lesenswert?

Hi,
>Hammer M. schrieb:
> Kann man, sagen, dass wenn ich Spannung um die 12v feststelle
unbedingt, dann macht der richtig RS232. Glaube ich aber auf Grund 
fehlender Konensatoren nicht. 3.jpg zeigt eigentlich die Einstellung 
3,3V. Sollte also passen und ganz normal UART sein. Erst wenn weitere 
Treiber dazwischenkommen
wird dann RS232 / RS422 .... daraus.
Beide Seiten müssen eigentlich nur mit den richtigen 
"Spannungswerten"(3,3V?) und Schnittstelleneinstellungen (38400,8,N,1) 
arbeiten, Wenn jetzt noch RX und TX gekreuzt sind muss es gehen. Die 
Sendedaten müssen natürlich auch passen.

Viel Erfolg, Uwe

von Wolfgang (Gast)


Lesenswert?

Uwe schrieb:
> Beide Seiten müssen eigentlich nur mit den richtigen
> "Spannungswerten"(3,3V?) und Schnittstelleneinstellungen (38400,8,N,1)
> arbeiten, Wenn jetzt noch RX und TX gekreuzt sind muss es gehen.

Du hast die Signalpolarität vergessen. Bei 5V/3.3V-UART ist das Signal 
gegenüber RS-232 genau invertiert.

von Axel R. (axlr)


Lesenswert?

Wolfgang schrieb:
> Axel R. schrieb:
>> Jetzt schaut man mit'm Oszilloskop ...
> Das wird wohl das Problem sein. Vermutlich gäbe es diesen Thread dann
> nicht.

Dann kann man evtl. mit ner 1N4148 in Flussrichtung und nem 1µF oder 
sowas die jeweilige Spitzenspanung in negativer, als auch in positiver 
Richtung festnageln und "in Ruhe" mitm Multimeter messen. Wo die 300Baud 
"rauskommen", kann man zur Not mitm kleinen Aktiv-PC-Lautsprecher 
rausfinden.
Oszi ist schöner, klar. Muss man sich eben auch gern mal was einfallen 
lassen, wenn man keines zur Hand hat.

von Hammer M. (maximiliandonatus_k)


Lesenswert?

Glaube der usb Adapter kann in der tat kein RS232.

Daher müsste ich doch jetzt rausfinden, was die Schnittstelle des Akku 
verträgt, richtig?
Kann ich das nur messen, wenn er auch sendet, oder kann man auch im 
„Ruhemodus“ zwischen TX/RX und Ground eine Spannung messen?
Wenn ja und diese dann mehr als 5v ist, ist doch klar, dass es wirklich 
RS232 ist, oder?
Dann bräuchte ich nur einen anderen Adapter und könnte erneut mein Glück 
versuchen.
Oder irgendwo ein Denkfehler drin?

von Wolfgang (Gast)


Lesenswert?

Hammer M. schrieb:
> Kann ich das nur messen, wenn er auch sendet, oder kann man auch im
> „Ruhemodus“ zwischen TX/RX und Ground eine Spannung messen?

Eine Spannung kannst du immer messen. Wenn sie 0 ist, siehst du das. 
Möglicherweise hat das Vorhandensein oder nicht Vorhandensein der 
6-8-Brücke einen Einfluss. Als beides mal messen.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

>Glaube der usb Adapter kann in der tat kein RS232
Er erledigt den größten Teil, es fehlt nur noch der invertierende 
Pegelwandler. Für 5V-Systeme machen das MAX232 und ähnliche, für 3,3V 
MAX3232 und kompatible. Die ursprüngliche RS232 hatte eine 
Versorgungsspannung bis zu +/-15V, schon der MAX232 reduzierte es auf 
+/-10V, der MAX3232 nur noch +/-6V.
Tatsächlich funktionieren die Empfängereingänge auch noch mit 0V/5V 
TTL-Pegel. Beim MAX232 liegt die Schaltschwelle (wie seit den 1960ern 
für TTL) zwischen 0,8 und 2,4V.

von Hammer M. (maximiliandonatus_k)


Lesenswert?

An dem vorhanden Adapter ist ein Jumper, den man auf 5v liegen kann 
statt auf 3,3v.

Christoph db1uq K. schrieb:
> der MAX3232 nur noch +/-6V.

Würde das dann reichen?

Wahrscheinlich nicht, weil ja das Signal noch invertiert werden muss, 
richtig?

von Joachim B. (jar)


Lesenswert?

Hammer M. schrieb:
> Ist RS232 nicht auch UART?

na ja fast, deiner macht "TTL" quasi wobei TTL an 5V denkt aber heute 
auch 3,3V heissen kann und RS232 sich an V24 +-12V meint. Auf jeden Fall 
fehlt dazwischen die Invertierung. (der eine macht Ruhepegel high (5V 
oder 3,3V), der Andere -12V (oder 0, -3V, -6V).
Es wäre also erst mal die Spannungsfrage und Polarität zu prüfen.
Ruhepegel kann man messen, für Pegel mit Daten braucht man ein 
Oszilloskop, darf auch ein Billigteil sein auf STM Basis ab 15€.

Erst wenn das passt kann man sich um die richtigen Einstellungen 
kümmern.
Baudrate, 8N1 oder andere.

Nur dannn kommt man den Daten auf die Spur, vorher ist alles irgendwas.

: Bearbeitet durch User
von Lothar S. (schudi)


Lesenswert?

Hallo,
wie wäre es, von dem Akkuhersteller einen Schaltplan für die sog. RS232 
Schnittstelle anzufordern. Dann kennt man auch die Belegung der 
Westernbuchse und weiß, ob da ein TTL-Pegel, 3,3 V oder nativ RS232 
(-12V - +12V) rauskommt.
Dann hätten die Spekulationen ein Ende und man könnte zielführend 
arbeiten, da man auch wüsste, ob noch ein MAX232 dazwischengeschaltet 
werden muss. Ob Rx und Tx gekreuzt werden müssen kann man dann leicht 
experimentell ermitteln.
Viel Erfolg wünscht
Lothar

von Heinz B. (Firma: Privat) (hbrill)


Lesenswert?


von Rainer V. (a_zip)


Lesenswert?

Heinz B. schrieb:
> Vielleicht mal auch über Bluetooth nachdenken.

Nu mal langsam...erst mal Ergebnisse bekommen. Dann ist alles möglich...
Gruß Rainer

von Hammer M. (maximiliandonatus_k)


Lesenswert?

Heinz B. schrieb:
> Vielleicht mal auch über Bluetooth nachdenken.

Bluetooth hat der Akku an sich schon eingebaut, nur das ziel war es 
nicht für jedes gerät eine einzelne App zu haben und eventuell mit den 
Daten auch verschiedene Regeln zu erstellen.

Das Bluetoothsignal dafür direkt anzuzapfen (außerhalb der Hersteller 
App) habe ich mir noch weniger zugetraut als der Weg über die serielle 
Schnittstelle.

von Wolfgang (Gast)


Lesenswert?

Lothar S. schrieb:
> wie wäre es, von dem Akkuhersteller einen Schaltplan für die sog. RS232
> Schnittstelle anzufordern. Dann kennt man auch die Belegung der
> Westernbuchse und weiß, ob da ein TTL-Pegel, 3,3 V oder nativ RS232
> (-12V - +12V) rauskommt.

So schwer ist es doch nicht, mit einem Multimeter mal den Ruhepegel 
nachzumessen - man kann daraus natürlich auch eine Diplomarbeit machen 
;-(

Und die Belegung der Westernbuchse steht in der oben verlinkten 
Beschreibung des Kommunikationsprotokolls.

von Stefan F. (Gast)


Lesenswert?

Lange Listen bitte als Datei anhängen
Lange Listen bitte als Datei anhängen
Lange Listen bitte als Datei anhängen
Lange Listen bitte als Datei anhängen
Lange Listen bitte als Datei anhängen
Lange Listen bitte als Datei anhängen
Lange Listen bitte als Datei anhängen
Lange Listen bitte als Datei anhängen
Lange Listen bitte als Datei anhängen
Lange Listen bitte als Datei anhängen
Lange Listen bitte als Datei anhängen
Lange Listen bitte als Datei anhängen
Lange Listen bitte als Datei anhängen
Lange Listen bitte als Datei anhängen
Lange Listen bitte als Datei anhängen
Lange Listen bitte als Datei anhängen
Lange Listen bitte als Datei anhängen
Lange Listen bitte als Datei anhängen
Lange Listen bitte als Datei anhängen
Lange Listen bitte als Datei anhängen
Lange Listen bitte als Datei anhängen
Lange Listen bitte als Datei anhängen
Lange Listen bitte als Datei anhängen
Lange Listen bitte als Datei anhängen
Lange Listen bitte als Datei anhängen
Lange Listen bitte als Datei anhängen
Lange Listen bitte als Datei anhängen
Lange Listen bitte als Datei anhängen
Lange Listen bitte als Datei anhängen
Lange Listen bitte als Datei anhängen
Lange Listen bitte als Datei anhängen
Lange Listen bitte als Datei anhängen
Lange Listen bitte als Datei anhängen
Lange Listen bitte als Datei anhängen
Lange Listen bitte als Datei anhängen
Lange Listen bitte als Datei anhängen
Lange Listen bitte als Datei anhängen
Lange Listen bitte als Datei anhängen
Lange Listen bitte als Datei anhängen
Lange Listen bitte als Datei anhängen
...
You know?

von Uwe (Gast)


Lesenswert?

Hi,
habe jetzt endlich mal dein pdf gelesen, da steht wirklich nur was von 
RS232, bedeutet dein USB-Teil kann das nicht so einfach weils nur TTL 
macht. Messe also unbedingt die Spannung an der Bat. Die Pins 5,7,8 
unbedingt beachten
>7.Der externe Stromversorgungsanschluss der Batterie. Dieser Pin ist der >externe 
Stromversorgungsstift der Batterie, der vom Pluspol des Akkus >abgeleitet wird.
Die Bat. hatte was für eine Spannung? Könnte also Tatsache sauberes 
RS232 sein-> TX Spannung messen! Max232 an deinen Adapter anbauen(6V 
einstellen)  richtigen RS232 Adapter kaufen  Rechner mit richtiger COM 
suchen.
Viel Erfolg, Uwe

von Wolfgang (Gast)


Lesenswert?

Heinz B. schrieb:
> Das BT - Zeugs kostet heutzutage auch nicht mehr viel :
>
Egal wie billig es ist - das nützt überhaupt nichts, wenn es an dem 
Akkupack nicht funktioniert.
Noch mal ganz deutlich: Die Wahrscheinlich ist hoch, dass das Akkupack 
eine RS232 Schnittstelle hat, aber die von dir verlinkten BT-Module 
haben eine TTL-Schnittstelle. Auch da fehlt, neben den richtigen 
Signalpegeln, genau die Invertierung, um die es hier die ganze Zeit 
geht.

von Hammer M. (maximiliandonatus_k)


Lesenswert?

Hab mal gemessen:

Pin 2 (GND) zu Pin 4 RX = 0V


Pin 2 zu Pin 5 (TX) = 3,0V


Pin 6 zu 7/8 = 11,8v

Heißt RS232?

: Bearbeitet durch User
von Wolfgang (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> ...
> ...
> Lange Listen bitte als Datei anhängen
> ...
> You know?

Nun sein doch nicht gleich so böse, nur weil Jonas Schwierigkeiten mit 
Hex-Zahlen im Bereich 0x00 .. 0xff hat. Lass ihm doch seine schöne 
Liste, wenn  er sich dann besser orientieren kann.

von Olly T. (twinpeaks)


Lesenswert?

Hammer M. schrieb:
> Heißt RS232?

Nein, das heißt, Du hast vergessen, die Pins 6, 7 und 8 zu brücken.

Also die bitte brücken und dann die Spannung an RX und TX nochmal 
messen.

von Wolfgang (Gast)


Lesenswert?

Hammer M. schrieb:
> Pin 2 zu Pin 5 (TX) = 3,0V
> ...
> Heißt RS232?

Ein positiver Ruhepegel spricht eher gegen RS232.
Hattest du bei der Messung die Brücke 6-7/8 drin?

von Hammer M. (maximiliandonatus_k)


Lesenswert?


: Bearbeitet durch User
von Sebastian W. (wangnick)


Lesenswert?

Wolfgang schrieb:
> Und da kommt nun mal jede Sekunde AA 55 06 00 00 00 01 00 01 00 55 AA

Ich zähle ~38 Bit per Millisekunde auf dem LA-Bild der Programmausgabe, 
also wohl 38400 Baud?

LG, Sebastian

von Franz M. (elmo64)


Lesenswert?

Wolfgang schrieb:
> A. M. schrieb:
>> Vielleicht sind die Pins des Schnittstellenadapters "falsch" beschriftet
>> und du musst die Leitungen NICHT kreuzen. Ich hatte mal einen solchen
>> und habe den LA gebraucht um das festzustellen.
>
> Dafür braucht man keinen LA, es hilft schon ein Multimeter.
> Man kann einfach bei nicht an der Gegenstelle angeschlossenen
> USB-X-Adapter auf beiden Leitung die Spannung gegen Gnd messen (TXD-Gnd,
> RXD-Gnd).

Die Situationen sind nicht vergleichbar (Softwareentwicklung, 
Bugverdacht, CMOS-Pegel, Pullup an RX,...). Das sollte eigentlich nur 
darauf hinweisen, dass manchmal Pins nicht so beschriftet sind, wie man 
es erwarten würde, was an unerwarteten Stellen zu Fehlern führen kann.

Wolfgang schrieb:
> Hammer M. schrieb:
>> Pin 2 zu Pin 5 (TX) = 3,0V
>> ...
>> Heißt RS232?
>
> Ein positiver Ruhepegel spricht eher gegen RS232.

Wir wissen nicht, wie das Messgerät angeschlossen war. Bei vertauschten 
Messspitzen könnten das tatsächlich auch -3,0V sein. Wäre aber trozdem 
die Schwelle zu undefiniert. Bei TTL Pegeln würde ich in der 
Größenordnung eher 3,3V erwarten.

Hammer M. schrieb:
> muss ich 6 auf 7 UND 6 auf 8?

Laut Anleitung soll man beides verbinden. Laut Erläuterung sollten 7 und 
8 jedoch intern verbunden sein. Du kannst das aber auch gerne 
nachmessen.

Hammer M. schrieb:
> Meint ihr dieser Adapter könnte funktionirern:
> DIGITUS USB zu Seriell Adapter - RS232 Konverter

Vermutlich, jedenfalls sollte der mit "normgerechten" Signalen arbeiten.

Bietet der Hersteller eigene Adapter(kabel) oder Steuergeräte an? RJ45 
entspricht bei diesem Einsatzzweck schließlich nicht der Norm.
Kommst du an die Elektronik des Akkus heran?

: Bearbeitet durch User
von Christoph db1uq K. (christoph_kessler)


Lesenswert?

>> der MAX3232 nur noch +/-6V. Würde das dann reichen?
Die RS232 ist für sichere Datenübertragung durch lange Kabel gedacht. 
Trotz Kabelkapazität soll nach z.B. 100m noch eine auswertbare 
Rechteckschwingung ankommen, daher der große Spannungshub. Für 38 kBaud 
sind das maximal 19,2 kHz Rechteck.
Hier ist das Kabel vermutlich kürzer als 2m, dafür ist auch ein 
typischer Hub von +/-5,4V (Datenblatt MAX3232) noch mehr als 
ausreichend.

von Uwe (Gast)


Lesenswert?

Hi,
>>> der MAX3232 nur noch +/-6V. Würde das dann reichen?
ja, aber dein Ruhepegel an TX der Bat. ist nicht normgerecht.(wenn 
richtig gemessen)
Deshalb also mit höchster Vorsicht testen nicht das noch was kaputt 
geht.
Deine Geschichte ist also recht chinesisch.

Viel Erfolg, Uwe

von Hammer M. (maximiliandonatus_k)



Lesenswert?

Was lange währt, wird endlich gut.

Heute ist ein richtiger usb --> RS232 Adapter gekommen und nach dem ich 
alles verkabelt habe und

Wolfgang schrieb:
> AA 55 06 00 00 00 01 00 01 00 55 AA


rausgeschickt und wirklich eine brauchbare Antwort bekommen.

Vielen Dank für Eure Hilfe und Eure Geduld !!!!!!!!!!

Jetzt habe ich aber nochmal eine Frage ;-)

Wie schaffe ich es bzw. lerne es das Empfangene jetzt auch richtig zu 
lesen/übersetzen?

Liebe Grüße

: Bearbeitet durch User
von Uwe (Gast)


Lesenswert?

Hi,
>Wie schaffe ich es bzw. lerne es das Empfangene jetzt auch richtig zu
>lesen/übersetzen?
halte dich an dein PDF . Die Antwort auf 0006 ist 004d, beachte Low Byte 
first.
Viel Erfolg, Uwe

von michael_ (Gast)


Lesenswert?

Mario M. schrieb:
> Arduino Fanboy D. schrieb:
>> Alternativ, würde auch wohl sowas gehen, ebay: 313404350976
>
> Bitte nicht diese billigen blauen Wandler kaufen, dir meist mit Prolific
> -Chips bestückt sind.

Blau hat nichts mit einem Chip zu tun!
Es ist die allgemeine Kennzeichnung für RS-232 Buchsen/Stecker.
Kriech mal hinter deinen PC und schau nach, was für eine Farbe die 
Buchse hat.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

https://de.wikipedia.org/wiki/Datei:IMac_Bondi_Blue.jpg
Das blaue transparente Design stammt vom Apple iMac von 1998.

Farbkennzeichnungen kenne ich eher von PS2 (violett/grün) und USB (blau 
= USB3), hat RS232 auch eine?

von Stefan F. (Gast)


Lesenswert?

Christoph db1uq K. schrieb:
> hat RS232 auch eine

Wäre mir neu.

Bei unseren Laptop Docking Stationen ist die VGA Buchse blau, und die 
serielle schwarz.

Der Parallelport ist bei vielen Rechnern rosa.

von Jonas B. (jibi)


Lesenswert?

>Wie schaffe ich es bzw. lerne es das Empfangene jetzt auch richtig zu
>lesen/übersetzen?

Mit dem beigefügten Programm natürlich. Aber das kriegst du ja nicht zum 
rennen...

Was für Werte interessieren dich denn genau? Wie willst du das aufrufen? 
Wie sollen die Daten gespeichert / weiterverarbeitet werden?

von Sebastian W. (wangnick)


Lesenswert?

Hammer M. schrieb:
> Wie schaffe ich es bzw. lerne es das Empfangene jetzt auch richtig zu
> lesen/übersetzen?

Ist doch super:

4D 00 -> 0x004d  Batterieinformation Antwort
00 ->            Gerät 0
01 01 00 ->      Reserviert
04 ->            Anzahl Batteriezellen
02 ->            Lithiumeisenphosphat
CE 0C -> 0x0CCE  Erste Batteriezelle: 3,278V
CD 0C -> 0x0CCD  Zweite Batteriezelle: 3,277V
CC 0C -> 0x0CCC  Dritte Batteriezelle: 3,276V
CA 0C -> 0x0CCA  Vierte batteriezelle: 3,274V
18 00 -> 0x0018  Temperatur MOSFET: 24°C?
17 00 -> 0x0017
und so weiter ...

LG, Sebastian

von Äxl (Gast)


Lesenswert?

Also war es nun doch stilechtes RS232? Sieh an, sieh an.
Bin ja fast neidisch auf deinen Akku, was man dem alles an Infos 
entlocken kann. Würde ich ja sofort aufm Display darstellen wollen. So 
mit Spannungsveflauf der Einzelzellen und Temperatur usw. coole Sache 
...

von Hammer M. (maximiliandonatus_k)


Lesenswert?

Äxl schrieb:
> Würde ich ja sofort aufm Display darstellen wollen

Das hatte ich eigentlich auch vor.

Am liebsten würde ich das mit diesem RS232 Adapter an einen RasPi 
anschließen.(https://www.tinkerforge.com/de/shop/rs232-v2-bricklet.html)

Und dann alles über OpenHab auf ein Display werfen und ggf noch die ein 
oder andere Regel erstellen.

Allerdings bin ich mir im Moment nicht 100% sicher, ob das nicht dann 
doch etwas zu kompliziert ist für mich.

von Einer K. (Gast)


Lesenswert?

Hammer M. schrieb:
> Allerdings bin ich mir im Moment nicht 100% sicher, ob das nicht dann
> doch etwas zu kompliziert ist für mich.

Natürlich gibt es das nicht geschenkt.

Aber Vorsicht:
Es besteht die Gefahr, dass du was dabei lernst

von Joachim B. (jar)


Lesenswert?

Hammer M. schrieb:
> Am liebsten würde ich das mit diesem RS232 Adapter an einen RasPi
> anschließen.

wenn es günstiger sein darf
1,76€
https://www.ebay.de/itm/2X-Serial-Port-RS232-zu-TTL-Konverter-Modul-Board-MAX3232-115200bps-GeschenRSXG/393038537191

4,48€
https://www.ebay.de/itm/Gehause-fur-DB9-D-Sub-9-Polig-Stecker-Buchse-DSUB-Steckverbinder/224140170973

6,99€
https://www.ebay.de/itm/Connecteur-Serie-DB9-Male-D-Sub-Dsub-9-Broches-a-Souder-RS232-Adaptateur/254873581931

macht
13,23€

Den MAX 3232 kann man in dem Gehäuse unterbringen, 4 Leitungen brauchst 
du eh zum PI und Stecker für die Pinleiste

Du kannst aber auch gleich USB / RS232 am PI anstecken!
2,41€
https://www.ebay.de/itm/USB-2-0-Stecker-an-Serielle-RS232-DB9-Com-Port-Adapter-X8T5-Konverter-F5X3/313404350976

: Bearbeitet durch User
Beitrag #6602651 wurde von einem Moderator gelöscht.
von Hammer M. (maximiliandonatus_k)


Lesenswert?

Sebastian W. schrieb:
> 4D 00 -> 0x004d  Batterieinformation Antwort
> 00 ->            Gerät 0
> 01 01 00 ->      Reserviert
> 04 ->            Anzahl Batteriezellen
> 02 ->            Lithiumeisenphosphat
> CE 0C -> 0x0CCE  Erste Batteriezelle: 3,278V
> CD 0C -> 0x0CCD  Zweite Batteriezelle: 3,277V
> CC 0C -> 0x0CCC  Dritte Batteriezelle: 3,276V
> CA 0C -> 0x0CCA  Vierte batteriezelle: 3,274V
> 18 00 -> 0x0018  Temperatur MOSFET: 24°C?
> 17 00 -> 0x0017
> und so weiter ...

Das kann ich inzwischen sogar nachvollziehen und "Übersetzten" zumindest 
mit der Hilfe einer Zahlenkonverter-Webseite ;-)


Arduino Fanboy D. schrieb:
> Es besteht die Gefahr, dass du was dabei lernst

Dazu bin ich auch sehr gerne bereit.
Hat jemand einen Tipp, wo ich mir etwas Wissen für mein Projekt anlesen 
kann? Bin ja bestimmt nicht der erste, der sowas versucht und vielleicht 
hat ja jemand einen Bericht zu einem ähnlichen Projekt verfasst, so dass 
auch ich den verstehe.

Ziel ist OpenHab dazu zubringen, das was Sebastian gemacht hat 
automatisch zu tun.

: Bearbeitet durch User
von Wolfgang (Gast)


Lesenswert?

Hammer M. schrieb:
> Ziel ist OpenHab dazu zubringen, das was Sebastian gemacht hat
> automatisch zu tun.

Du brauchst eine Schnittstelle für die Daten deines BMS.
Das kann entweder ein OpenHAB Add-on sein, dass du dafür wahrscheinlich 
selber schreiben müsstest oder du greifst auf ein vorhandenes Add-on 
zurück. Wenn du die Daten vom BMS mit einem eigenen µC abfragst und ins 
MQTT-Protokoll übersetzt, könntest du das MQTT-Binding benutzen.

von Dierk (dingsundbums)


Lesenswert?

Hallo zusammen,
der Thread ist zwar schon ein paar Tage alt, aber ich habe ein ganz 
ähnliches Problem wie der Thread Owner.
Ich hoffe es ist okay wenn ich hier als Neuling beitrage und das nochmal 
aufwärme.
Scheinbar ist ja auch das Problem von TO noch nicht gelöst (Raspberry an 
Batterie zum auslesen).

Zuerstmal ein Danke für die geteilte Protokoll Doku und die CBT 
Software.
Die hat ECHT geholfen !

Mein Bestreben ist auch, diese Batterie auszulesen und in eine Victron 
Infrastruktur mit einer Cerbo GX bzw. einem Raspberry mit Venus OS zu 
integrieren.

Ich habe aus einem Womo eine Liontron Untersitz Batterie übernommen.
Modell LTDUC180.
Ist wohl hergestellt von Creabest und als Liontron gelabeled.

Diese Batterie ist aus 2018 und hat schon zwei RJ45 Buchsen auf der 
Vorderseite.
Die Linke ist nach Multimeter Messungen und der Doku nach RS232.
Hier kann ich allerdings mit keinem gängigen Adapter irgendwas aus der 
Batterie bekommen. Weder mit Pin6 auf 7/8 gebrückt noch offen.

Die rechte Buchse allerdings ist nach Doku RS485.
Da ich für mein RS485 Smartmeter einen unter Windows funktionierenden 
Adapter habe, konnte ich mit der CBT Software zumindest mal eine 
funktionierende Verbindung zur Batterie herstellen.

Verkabelung:
PIN 1+2 = GND
PIN 8 (braun) = RS485A
PIN 7 (braun weiß) = RS485B

Kommunikation klappt.
Allerdings sind die Werte die in der Software angezeigt werden absoluter 
Blödsinn mit Ausnahme der Zellspannungen.

Also Doku auseinander genommen.

Im HTERM bekomme ich nach senden von
aa 55 06 00 00 00 01 00 01 00 55 aa
auch eine Antwort und war in der Lage die richtig zu dekodieren.

Nächster Schritt für mich ist nun das ganze in ein Python Programm zu 
packen (nicht unbedingt meine stärkste Programmiersprache).
Ich habe allerdings schon eine Liontron 100Ah mit Smart BMS erfolgreich 
über ein angepasstes Python Script in die Venus eingebunden für meine 
Insel Anlage.

Liebe Grüße,
Dierk

von Dierk (dingsundbums)


Angehängte Dateien:

Lesenswert?

Hier mal als Anlage die Dekodierung laut Protokoll Doku mit Daten aus 
meiner Batterie.

Was mir Probleme gemacht hat war z.b. der SOC oder die Gesamtspannung.

Allerdings ist das mit gängigen Convertern eigentlich kein Problem.

00384F46 = Big Endian.

Also 464F3800,
bedeutet 13262 als Float Value.
Laut Doku in mV, daher /1000.
Also 13,262 Volt.
Stimmt auffallend.

Analog dazu der SOC:
9B250F46 = Big Endian.

Also 460F259B,
bedeutet 9161.4 als Float Value.
Laut Doku durch 100,
Also 91,614%.
Stimmt auch auffallend.

Jetzt nur noch in Software gießen......

Liebe Grüße,
Dierk

PS: Der Rechner hilft:
https://gregstoll.com/~gregstoll/floattohex/

: Bearbeitet durch User
von Stefan R. (crazybrot)


Lesenswert?

Moin Moin Zusammen,
ich hole diesen Thread mal aus der Versenkung...
das CBT Tool läuft auf meinen Laptops leider nicht... bleibt einfach 
"Stumm" und tut nichts..


hat sich schon wer die Arbeit gemacht einen Treiber für Serialbattery 
oder für Victron Venus os zu schreiben?

https://github.com/Louisvdw/dbus-serialbattery


Mit freundlichen Grüßen

: Bearbeitet durch User
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
Noch kein Account? Hier anmelden.