Hallo zusammen,
ich möchte das serielle Protokoll des 3315 USB auslesen.
Das offensichtliche war einfach aber ein paar Infos fehlen noch
vielleicht kann der ein oder andere Infos ergänzen.
Verbinden mit "2400,N,7,1"
Es werden außer CR/LF 9 Zeichen ohne besondere Aufforderung gesendet.
Zeichen 1 Faktor für Wert (10 ^ Faktor-4) bei Spannung (10^Faktor-1) für
Widerstand,....
Zeichen 2: 2-5 Messwert (ohne Dezimalpunkt) 4000-> Overflow
Zeichen 6: Physik Messgröße
Zeichen 7: In Bit 3 Vorzeichen, Bit 4 Fahrenheit/Celsius
Zeichen 8: immer 0
Zeichen 9: In Bit 4 AC Bit 3 DC
Einiges aber leider noch nicht alles.
Schön wenn wir das komplette Protokoll hier posten könnten...
Ich habe mal vor einem halben Jahr eine Praktikumsanleitung gefunden. Da
ich nicht weiss ob ich die weiterschicken darf (copyright) und die
Anleitung nicht mehr finde, habe ich mal nach dem Inhalt gesucht und ich
wurde fündig:
http://www.cyrustek.com.tw/spec/ES51981.pdf
Ich habe jetzt das PekaTech nicht vor mir aber ich denke dass dieser
Chip drin ist. Da steht eigentlich das gleiche drin was auch in der
Anleitung steht.
Gruss
Markus
Also die Reihenfolge der Bytes stimmt nicht ganz in der Anleitung:
1 Range
2-5 Digits
6 Funktion
7 Status
8 Option 1
9 Option 2
So wie es der Threadersteller auch gesagt hat.
Jetzt habe ich das Protokoll, dann kann ich mich mal an den USB Port
unter Linux machen ...
Der beim Peaktech 3315 Kabel verwendete USB to Serial konverter Chip ist
ein Hoitek Baustein, den Linux mit dem usbhid-Treiber als HID-Interface
zur Verfügung stellt. Die USB VID/PID-Kennung ist irritierend, es
handelt sich eben nicht um einen 1-Wire Chip.
Hier ist ein Programm, das diesen Baustein USB-Baustein verwendet, um
das serielle Protokoll eines anderen DMMs einzulesen:
http://relavak.wordpress.com/2009/10/04/tenma-72-7730-in-linux/
Das würde die Probleme mit Beitrag "Reichelt Tischmultimeter UT 803"
erklären. Da hatte ich dessen Format mal untersucht und ein paar Infos
gepostet. Vielleicht identisch?
Die DLL ist natürlich nur Windows und das mag ich nicht so. Auf der CD,
die beim DMM war, waren auch so komische und recht verwirrende Windows
Beispiel-Sourcen für Delphi und so was, aber nichts für Linux.
Im Anhang zu diesem Posting eine kleine Anwendung "hoitek.c", die das
Device /dev/hidraw0 öffnet und die gelesenen Daten auf stdout ausgibt.
Das sollte sich leicht auch für andere DMMs benutzen lassen, nur die
Baudrate wird man da wohl anpassen müssen.
Dann noch peaktech3315.cpp, das die in stdin eingelesenen Daten
interpretiert und in eine einerseits für Menschen lesbare Form bringt
und anderseits zur Umleitung über eine .CSV-Datei nach openoffice.org
zur weiteren Auswertung verwendet werden kann. Beide Dateien sind ganz
banal ohne weitere Abghängigkeiten mit gcc bzw g++ zu compilieren.
Ungefähr so:
gcc -o hoitek hoitek.c
g++ -o peaktech3315 peaktech3315.cpp
./hoitek /dev/hidraw0 | ./peaktech3315 >output.csv
Strg-C drücken wenn fertig
openoffice output.csv
Dann noch ein Patch gegen qtdmm-0.8.13.tgz
be9dfebcdfceecfdbb4e01884dcffc73 /home/herd/Desktop/qtdmm-0.8.13.tgz
qtdmm geht allerdings nur über RS232, nicht über das USB-Kabel. So ein
typischer USB <-> RS232 Schnittstellenwandler an /dev/ttyUSB0 geht
übrigens nicht mit dem beim Peaktech DMM mitgeliegerten RS232-Kabel,
weil zumindest meine beiden USB Adapter nur Rx und Tx pins haben und ich
schätze das PeakTech DMM nimmt seine Betriebsspannung wohl von DTR, CTS
oder so...
Das PeakTech 3315 hat eine eingebaute Temperaturmessung und qtdmm macht
auch eine sinnvolle Mittelung mit der man dann auch auf Zehntelgerade
genau messen kann. Ich fand es sehr interessant, den Temperaturverlauf
unserer Nachtabsenkung damit mal nachzumessen.
So, auch wenn ich hier einen alten Thread wiederbelebe, ich bin hier
auf der Suche nach einer Möglichkeit für ein Uni-T UT61E und UT71E die
USB Verbindung unter Linux zu verwenden, vorbeigekommen. Die Geräte
scheinen vom Chip her gleich oder ähnlich zu sein.
herdsoft schrieb:> vielleicht kannst Du ja mit der Datei hoitek.c unter Linux die Daten des> Tischmultimeters per USB einlesen.
Mit einer neuen Linux-Kernel-Version (2.6.38, Intel x86_64) funktioniert
der Zugriff nicht mehr wie in der Datei hoitek.c vorgesehen
(Erkenntnis nach ein paar Stunden ...).
Auf
http://diyftw.de/wiki/doku.php?id=projekte:ut61e
habe ich jedoch eine funktionierende Software gefunden. Ich musste nur
die USB ID auf (04fa:2490) anpassen. Für das UT71E musste ich die
Baudrate von 19200 (UT61E) auf 2400 (UT71E) umstellen. So habe ich von
beiden Multimetern Daten auf dem Rechner gesehen.
Ich hoffe, dass hilft Leuten, die per Suchmaschine auf diesen Beitrag
stoßen.
Beste Grüße
Dave
Ist zwar ein alter Thread, aber vielleicht interessiert es ja noch
jemanden.
Meine Lösung zur Benutzung unter Ubuntu: Umbau des alten Adapters mit
dem Hokitec CH9325: Entfernen des USB-Kables und Ersatz durch ein
USB-Kabel mit RS232-TTL-Wandler (Ebay: USB auf RS232 TTL UART PL2303HX
Konverter). Kosten: <5Euro für das Kabel, Zeitaufwand: ca. 30 Min.-
- Gehäuse des Adapters vorsichtig öffnen. Ist zugeklebt. Mit dem
Cuttermesser an der Klebestelle entlangfahren, dann vorsichtig
aufhebeln.
- USB-Kabel von der Platine ablöten.
- USB-Kabel mit RS232TTL-Wandler anlöten: rot -> vcc, schwarz -> GND,
weiss (RX) -> Pin 3 vom CH9325 oder an R6 (360Ohm), das ist etwas
einfachr anzulöten. Grün (TX) wird nicht benötigt.
Vorteil:
- Geht sofort im Minicom (19200, 7O1).
- Die Originalsoftware "UT61E Interface Program Ver:1.00" läfut prima
unter Wine. Ich habe COM2 auf /dev/ttyUSB0 gelegt.
Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.
Wichtige Regeln - erst lesen, dann posten!
Groß- und Kleinschreibung verwenden
Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang