Amateure braucht Hilfe bei RS232

OP #6595616
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
Angehängte Dateien:
#6595622
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.
Gast #6595638
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?
Gast #6595639
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.
#6595644
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.
#6595645
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
Moderator (Firma: Titel) Persönliche Seite #6595647
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...
#6595666
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'
Angehängte Dateien:
Gast #6595677
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.
Gast #6595689
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.
Gast #6595700
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.
Gast #6595732
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.
Gast #6595742
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.
Angehängte Dateien:
Gast #6595745
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.
OP #6595762
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
Gast #6595765
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).
Gast #6595780
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.
Gast #6595806
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.
Gast #6595809
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)
Gast #6595820
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.
Gast #6595833
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.
Gast #6595834
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.
Gast #6595838
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.
Gast #6595842
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.
Gast #6595845
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.
Angehängte Dateien:
#6595858
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
Gast #6595960
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.
OP #6596041
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.
Angehängte Dateien:
Gast #6596081
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,
OP #6596086
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.
#6596092
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.
#6596094
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?
#6596155
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.
Gast #6596165
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...
OP #6596175
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.
Gast #6596176
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...
#6596177
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
#6596179
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.
#6596182
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
Gast #6596219
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.
#6596226
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.
OP #6596274
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.
Gast #6596293
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...
#6596300
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
#6596303
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).
Beitrag #6596310 wurde von einem Moderator gelöscht.
Gast #6596321
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.
#6596325
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
Gast #6596327
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.
Gast #6596336
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...
Gast #6596338
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.
Gast #6596354
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.
#6596355
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
Gast #6596362
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...
#6596380
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.
Gast #6596389
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.
#6596396
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
Gast #6596421
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.
Gast #6596436
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.
#6596462
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...
Gast #6596504
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
Angehängte Dateien:
Gast #6596563
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.
Gast #6596618
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.
(Firma: Privat) #6596660
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.
OP #6596937
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
#6597186
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.
Gast #6597233
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?
Gast #6597261
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.
(Firma: Privat) #6597369
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.
OP #6597608
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
#6597642
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.
Gast #6597655
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.
Gast #6597662
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.
Gast #6597675
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.
#6597705
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.
#6597713
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?
Gast #6597720
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.
Gast #6598186
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
Gast #6598247
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.
#6598259
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.
OP #6598276
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?
Gast #6598282
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.
#6598333
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.
#6598380
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.
#6598397
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
(Firma: Privat) #6598405
Lesenswert?

OP #6598416
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.
Gast #6598503
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.
Gast #6598508
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?
Gast #6598601
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
Gast #6598668
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.
OP #6598897
Lesenswert?

#6598990
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?
#6599138
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.
Gast #6599319
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
OP #6601487
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
Gast #6601505
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.
#6601761
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?
#6602181
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
Gast #6602275
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 
...
OP #6602377
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.
#6602603
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
Beitrag #6602651 wurde von einem Moderator gelöscht.
OP #6602715
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.
Gast #6602786
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.
#7210377
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
#7210383
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/
Angehängte Dateien:
#7926637
Lesenswert?

Moin Moin. Ich wollte mal fragen, ob jemand schon weiter gekommen ist oder jemand eine software gefunden hat um den VB001 Akku auszulesen. Mein Akku ist noch von der ersten Generation ohne Blutooth und hat wahrscheinlich RS485 anschluss. Ich würde gerne die daten vom Akku auslesen. Das Tool was hier zum domwload ist, funktioniert bei mir leider auch nicht. Habe mehre Pcs ausprobiert. Richtig gut wäre wenn man es über einen ESP32 auslesen könnte mit mqtt.

mfg

#7926950
Lesenswert?

Danke für eure Antworten. Ich bäuchte ne anleitung wie ich das ganze umsetzen kann. RS485 leider gibt es zu diesem Thema auch nichts im Netz. Creabest stellt sich dumm und möchte mir die Software zum auslesen nicht schicken. Der Akku ist nun auch schon relativ alt und ich würde gerne mal schauen ob die Zellen noch gut sind.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren