vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB & Windows API
HID-Device auslesen in eigene Anwendung 
Autor: Lupus52
Datum: 27.06.14 10:46

Hi,

bin neu hier und habe meine erste Frage.

Ich möchte eine USB-Tempereratursensor "Temper1" auslesen bzw. dessen selbständig gesendete Daten auswerten.

Bisherige Erkenntnisse: Das Teil läuft als HID-Device bzw. HID-Tastatur und sendet alle Sekunde einen Temperaturwert. Ganz ohne jede Treiberinstallation. Man kann das z.B. in Word einschreiben lassen, indem man einfach mehr als 3 Sekunden die Taste NumLock drückt. Dann kommen im Sekundentakt Temperaturwerte. (1 Zeile pro Sekunde)

Ich habe schon eine Menge Themen dazu gefunden und viel Quälcode. Und meist nur in C++ oder.NET.

Aber das ist mir alles vieeeel zuviel. Ich will möglichst keine DLLs dazu laden. Windows kann das ja als HID-Device ganz ohne externe DLLs.

Es müsste doch mit einer handvoll Befehle reichen diesen Stream, den Word ja auch lesen kann, in eine andere Anwendung einzulesen?

Oder gibt es andere Vorschläge? Möglichst für VB5. Die neueren VB-Sachen sind mir alle viel zu umfangreich für meine Minianwendungen.

VG
Wolfgang

Beitrag wurde zuletzt am 27.06.14 um 10:49:51 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: HID-Device auslesen in eigene Anwendung 
Autor: ModeratorMartoeng (Moderator)
Datum: 29.06.14 21:10

Hmm, also Beispiele in anderen Sprachen, die keine zusätzlichen DLLs benötigen, sondern dies über Win-API lösen, wären ja ein erster Schritt.
Müsste man dann einfach nur übertragen. Einfache Beispiele in C++ kann man ganz gut übersetzen. Wenn Du da Links präsentieren könntest, kann man da sicherlich was machen.


vbarchiv.dll (Freeware), Tutorials uvm. auf http://www.martoeng.com.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

HID-Device auslesen in eigene Anwendung 
Autor: Lupus52
Datum: 02.07.14 12:06

Hallo, sorry für die Verspätung. Konnte mich nicht mehr einloggen. Obwohl ich mit genau den gleichen Daten ja schon hier war.

Habe dann deshalb an den Webmaster geschrieben. Den interessiert das aber wohl nicht. Also jetzt neues Passwort angefordert. Danach hat die Forensoftware erst mal einige Scriptfehler erzeugt. Und im dritten Anlauf klappte das dann.

Zu deiner Antwort. Ich kann kein C++ übersetzen. NUr annähernd etwas verstehen. Und die gefundenen Programme waren alle sehr komplex. Ich habe mir die Links nicht gespeichert. Hatte da nur Bahnhof verstanden <g>

Das muss doch eigentlich ganz einfach gehen. Windows liefert doch die Daten schon. Wie schon geschildert.

Es muss doch also irgend einen (API?)-Call geben, der den Inputstream lesen kann. So wie z.B. Word und Excel das ja auch tun. Oder jede beliebige Editor wie Notepad. Sogar hier in der Webseiteneingabe kommt der Datenstream wenn ich 3 Sekunden "Numlock" drücke

**********************
caps lockÖon-off-`` fwÖ1.4
num lockÖoff-on-ßß unitÖc

x
x
x
x
.......
**********************

Das zwischen den Sternchen schrieb eben der HID-Stream! Bis auf die x. So fängt es immer an. Dann kommen pro Sekunde ein Wert. Allerdings schmeissen mich die Werte durch das folgende "Enter" hier aus dem Editorfenster. Kann also die Daten nicht hier einlesen lassen und habe die Zeilen durch x ersetzt.

Der HID-Stream ist also überall verfügbar nach Druck von 3 Sekunden NUM-Lock. Einmal angetriggert, schreibt er kontinuierlich in jedes Eingabefeld, welches gerade den Focus hat. Was allerdings sehr lästig sein kann. Man kann beliebig z.B. per Maus die Programme wechseln. Und der Stream geht sofort im nächsten erreichbaren Eingabefeld weiter. Für einen Barcodescanner ist das sicher ok. Aber laufende Temperaturdaten kann man so natürlich nicht im Hintergrund verarbeiten.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: HID-Device auslesen in eigene Anwendung 
Autor: ModeratorMartoeng (Moderator)
Datum: 02.07.14 12:33

Das scheint dann ja aber schon ein sehr spezieller Treiber zu sein, wenn der Input über Tastatureingaben kommen kann (?)
Der Hersteller muss doch auch irgendwie ein SDK oder Beispielprogramm haben?


vbarchiv.dll (Freeware), Tutorials uvm. auf http://www.martoeng.com.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: HID-Device auslesen in eigene Anwendung 
Autor: Lupus52
Datum: 02.07.14 13:27

Hi,

diese Forensoftware hat echt einen Schuss!

Konnte mich wieder nicht einloggen und musste wieder ein neues Passwort anfordern. Nach dessen Eingabe wieder ein Fehlerscript. Dann über "Home" erneut ins Forum ging und ich war angemeldet. Komisch!?

Zum Thema:

Du hast die Problematik leider nicht ganz verstanden. Hier ist kein Herstellertreiber im Spiel. Das ist ein treiberloses HID-Device. Es liefert kontinuierlich Temperaturwerte als Tastatureingaben. So als wäre eine externe HID-Tastatur oder ein Barcodescanner angeschlossen.

Alle Windows-Input-Funktionen liefern diese Daten, wenn man 3 Sekunden NumLock gedrückt hat. Nach dieser Numlock Prozedur leitet Windows wohl die immer kommenden Daten in den Tastaturpuffer. Bis man wieder 3 Sekunden Numlock drückt. Dann ist wieder Schluss. Die Daten kommen aber weiter und werden einfach ignoriert.

Genau diese Daten will ich lesen ohne NUM-LOCK vorher zu drücken.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: HID-Device auslesen in eigene Anwendung 
Autor: ModeratorMartoeng (Moderator)
Datum: 02.07.14 18:19

Ob das alle Devices so tun weiß ich nicht... kenne ich so nicht, habe ich jetzt auch so nichts finden können, was das bestätigt. "Treiberlos" ist kein Gerät, es gibt nur generische Treiber, die Windows automatisch mitliefert, die gewisse Funktionen übernehmen.

Um die Daten abzufangen müsstest Du vermutlich über RawInput gehen, also als erstes über RegisterRawInputDevices. Dort dann entsprechend spezifizieren, um welchen Obertyp es sich handelt (glaube Tastatur ist der Wert 1). Dann schickt Windows die entsprechenden Daten.

Ist der Hardware denn keine Doku beigelegt? Normalerweise ist bei so etwas einmal zusätzliche Software mitgeliefert, die helfen könnte und/oder ein Beispiel (zumindest mal in C), wie es anzusprechen ist, ansonsten wäre ja eine solche Hardware sinnfrei.

Ich kenne etwas ähnliches von Barcode-Scannern, die aber natürlich so konzipiert sind, dass sie sich ebenfalls als Tastatur "tarnen". Hier musste ich aber nie die Numlock-Taste drücken oder ähnliches. Der Scanner hat dann die Tastatureingaben simuliert, wenn ich etwas eingescannt habe.


vbarchiv.dll (Freeware), Tutorials uvm. auf http://www.martoeng.com.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: HID-Device auslesen in eigene Anwendung 
Autor: Lupus52
Datum: 02.07.14 22:59

N'Abend

Martoeng schrieb:
Zitat:

Ob das alle Devices so tun weiß ich nicht... kenne ich so
nicht, habe ich jetzt auch so nichts finden können, was das
bestätigt. &quot;Treiberlos&quot; ist kein Gerät, es gibt nur
generische Treiber, die Windows automatisch mitliefert, die
gewisse Funktionen übernehmen.


So ist es wohl

Zitat:

Um die Daten abzufangen müsstest Du vermutlich über RawInput
gehen, also als erstes über RegisterRawInputDevices.


Bahnhof <g> - das ist mir schon zu hoch

Zitat:

Dort dann entsprechend spezifizieren, um welchen Obertyp es sich
handelt (glaube Tastatur ist der Wert 1). Dann schickt
Windows die entsprechenden Daten.

Ist der Hardware denn keine Doku beigelegt?


Nix - das ist ja Dauerthema zu dem Ding in unzähligen Beiträgen. Eine eigentlich tolle Hardware. Aber nix dazu um sie sinnvoll zu implementieren.

Zitat:

Normalerweise ist bei so etwas einmal zusätzliche Software mitgeliefert, die
helfen könnte und/oder ein Beispiel (zumindest mal in C), wie
es anzusprechen ist, ansonsten wäre ja eine solche Hardware
sinnfrei.


Der Hersteller in China hat da wohl gar kein Interesse. Die mitgelieferte Anzeigesoftware ist ja ganz nett. Aber wer das selber wo einbinden will scheitert an der Null-Info-Grenze.

Zitat:

Ich kenne etwas ähnliches von Barcode-Scannern, die aber
natürlich so konzipiert sind, dass sie sich ebenfalls als
Tastatur &quot;tarnen&quot;. Hier musste ich aber nie die
Numlock-Taste drücken oder ähnliches. Der Scanner hat dann
die Tastatureingaben simuliert, wenn ich etwas eingescannt
habe.


Hier auf der Herstellerseite gibt es die ZIP mit allen (wenigen) Infos. Die Zip ist auch auf der mitgelieferten CD. Was anderes habe ich nicht gefunden.

Übersicht:

http://www.pcsensor.com/index.php?_a=document&doc_id=6

Softwarepaket

http://www.pcsensor.com//uploadFile/APPsoftware/TEMPer%20V24.4.4.zip

Da gibt es Beiträge dazu, die sind mir aber zu hoch

http://www.vbforums.com/showthread.php?685671-VB6-TEMPer-Gold-USB-HID-Thermometer-Class

https://www.vb-paradise.de/index.php/Thread/83838-PCsensorTEMPer-V23-5-USB/

Und hier ist wohl ein interessanter Ansatz. Ist zwar ein PB-Forum. Der Code, der da in einem Beitrag steht, ist aber wohl VB.

Vielleicht kann man das verwenden? Mir ist da nur zu viel drumherum und zu viel fehlende klare Info.

http://www.powerbasic.com/support/pbforums/showthread.php?t=52895

Das wäre doch mal eine tolle Aufgabe da endlich mal für eine Lösung zu haben. Ich stelle gerne auch mal meinen Sensor dafür zur Verfügung falls jemand da wirklich was von versteht und experimentieren will.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: HID-Device auslesen in eigene Anwendung 
Autor: ModeratorMartoeng (Moderator)
Datum: 03.07.14 08:39

In diesem Beitrag http://www.vbforums.com/showthread.php?685671-VB6-TEMPer-Gold-USB-HID-Thermometer-Class ist doch schon ein komplett lauffähiges Programm!?

Ich weiß nicht, was Du da noch mehr haben möchtest. Denn "einfacher" wird das nicht. Dort ist beschrieben, wie Du mittels der von der Hersteller-Software genutzten DLL das Ding ansprechen kannst und offensichtlich bekommt man da auch die Sampling-Daten, sprich Temperaturdaten, ausgelesen.


vbarchiv.dll (Freeware), Tutorials uvm. auf http://www.martoeng.com.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: HID-Device auslesen in eigene Anwendung 
Autor: Lupus52
Datum: 03.07.14 09:01

Hi,

diese Demos aus dem Beitrag habe ich mir schon runtergeladen. Aber ich bekomme da gar nichts zum laufen :-

Schon beim Klick auf den .vbp - File oder beim Öffnen aus VB heraus bekomme ich nur eine Fehlermeldung:

"Retained" ist ein ungültiger Schlüssel. Die Datei .....Project1.vbp kann nicht geladen werden

Meine VB5 kann das wohl nicht.

Und ich verstehe das ganze "Klassenzeugs" nicht um das anzupassen. Was neueres VB betrifft bin ich Anfänger. Mit früherem Assembler, Powerbasic und dann bis VB4 war ich absolut fit und habe u.v.A. auch größere Mess- und Maschinensteuerungsprogramme realisiert. Bin also kein Programmieranfänger.

Allerdings halt bei VB5 (meine neueste Version) stehengeblieben. Und selbst da nutze ich nur den Wissens-Level meines vorigen VB4.

Vielleicht kann mir ja mal bezüglich der Realisierung und der Klassen da etwas auf die Sprünge helfen?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: HID-Device auslesen in eigene Anwendung 
Autor: ModeratorMartoeng (Moderator)
Datum: 03.07.14 09:05

Hmm, ja, das scheint dann VB6 zu sein...

Kann da nur empfehlen sich Literatur und ein VB6 zu besorgen (obgleich VB6 nun ja auch schon extrem überaltert ist). Das müsste es aufgrund des Alters aber entsprechend günstig zu kaufen geben.


vbarchiv.dll (Freeware), Tutorials uvm. auf http://www.martoeng.com.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: HID-Device auslesen in eigene Anwendung 
Autor: Lupus52
Datum: 03.07.14 09:25

Danke - ich kann mir doch nicht jedes Jahr neue Software kaufen

Jetzt habe ich gerade erst von VB4 auf VB5 geupdatet. Ich weiss - das ist auch schon alt. Aber für meine primitiven kleinen Anwendungen reicht eigentlich das einfachste (V)Basic.

Ich hätte noch das (kostenlose) "Visual-Basic 2010 Express". Aber das erscheint mir einfach zu kompliziert weil da wieder alles ganz anders ist. Damit kann ich ja schon nicht mal die Projektdatei öffnen. Überhaupt keine aus meiner Sammlung. Lauter andere Dateitypen.

Mir vergeht echt die Lust am (Hobby-)Programmieren bei so einem Chaos was MS da produziert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: HID-Device auslesen in eigene Anwendung 
Autor: ModeratorMartoeng (Moderator)
Datum: 03.07.14 09:54

Tja, die SW-Industrie ist etwas schnelllebiger geworden. Einerseits gibt es dadurch ständig schöne und nützliche Innovationen, andererseits ist es da für den Hobby-Programmierer in der Tat schwieriger immer Schritt zu halten.

Du kannst mal probieren die VBP-Datei mit einem Editor zu öffnen und die entsprechenden Einträge zu löschen oder zu ändern, die Probleme verursachen. Habe hier jetzt gerade keine Datei zur Hand, aber das Format der Datei an sich hat sich nicht geändert, nur sind ein paar Einträge dazugekommen und irgendwo steht sicherlich die Version auf 6 statt auf 5. Aber einen Versuch wäre es sicher wert.
Ob dann im Projekt selbst irgendwelche VB6-Neuheiten verwendet werden - k.A., wird man dann sehen.


vbarchiv.dll (Freeware), Tutorials uvm. auf http://www.martoeng.com.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: HID-Device auslesen in eigene Anwendung 
Autor: Lupus52
Datum: 03.07.14 11:17

Danke, ich werde da mal experimentieren.

Nur blicke ich mit dem ganzen VB6-Klassenzeugs nicht durch. Sieht ja aus wie normaler Programmcode. Wie und wo bekomme ich das in VB5 integriert?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: HID-Device auslesen in eigene Anwendung 
Autor: ModeratorMartoeng (Moderator)
Datum: 03.07.14 12:54

Das gab es in VB5 auch schon. In VB6 wurden hauptsächlich Controls hinzugefügt sowie einige Methoden (InstrRev, etc.).

Nach Entfernen der VB6-Zeilen müsste das Projekt doch zumindest lauffähig sein oder nicht?


vbarchiv.dll (Freeware), Tutorials uvm. auf http://www.martoeng.com.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: HID-Device auslesen in eigene Anwendung 
Autor: Lupus52
Datum: 04.07.14 08:53

Hi,

danke zunächst mal für deine Geduld.

Ich habe nun die Zeile "retained..." aus der Projektdatei rausgenommen. Jetzt lässt sich das Projekt wenigstens ohne Fehler laden. Aber der Start scheitert schon an der zugehörigen .cls Datei. Die ist für VB6. Und VB5 versteht die wohl nicht. Zudem wird die Datei fehlerhaft geladen. Es fehlen also erst mal die ersten beiden Zeilen. (VERSION und BEGIN)

Wenn ich dann von Hand einfüge, meckert VB dann beim Ausführen darüber
Wenn ich die Zeile VERSION lösche geht es mit nächstem Fehler bei BEGIN weiter. "Ausserhalb einer Prozedur ungültig"

VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "TEMPerGold"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Option Explicit
'==========
'TEMPerGold
'==========
'
'Version: 2.3 August 2012
'Author: Bob Riemersma
'
'This is a VB6 class that reads data from PCsensor's USB HID Thermometer
'product "TEMPer Gold."
'
u.s.w.
'
Da ich mit "CLASSEN" noch nie beschäftigt habe scheitere ich hier schon.

Nebenbei: Es gibt einen gravierende Fehler in der Forumssoftware. Aber weder auf meine Mail an den Webmaster noch per Kontaktforumular reagiert da jemand.

Wen kann man da ansprechen?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: HID-Device auslesen in eigene Anwendung 
Autor: phispo
Datum: 23.07.14 13:43

Hi Lupus,

beschäfftige mich mittlerweile seit 3 tagen mit diesem thema und möchte mich auch mal zu wort melden.

hier erstmal mein stand der dinge:
- es gibt bespielprogramme, die sind aber nur für die ältere version des tempers die melden sich noch über einen COM port. unserer als HID device.
- alle möglichen beispielprogramme in c und in vb.net getestet, ohne erfolg.
- bis jetzt konnte ich das gerät nicht direkt ansprechen.

kurz zu mir: programmiere mit Visual studio 2013 express.


die einzige idee die mir noch kommt ist folgende:

da ist ja ne software mitgeliefert die eine log datei schreibt, hier einfach die zuletzt geschriebene zeile auslesen und verarbeiten. was aber etwas sau doof wäre da man immer diese schrottsoftware mitlaufen lassen müsste.

ich denke es gibt für den temper mit hid keine vernünftige lösung.
das einzige was mir noch einfällt ist das wundermittel WMI von microsoft da da evtl über das die werte ausgelesen werden könnten da mache ich mich gleich nochmal drüber.

EDIT: WMI geschaut. bekomme ich auch keine werte.
halte das thema doch bitte auf dem laufenden, denn ich bin auch auf der suche nach einer lösung.

Beitrag wurde zuletzt am 23.07.14 um 13:55:56 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: HID-Device auslesen in eigene Anwendung 
Autor: Lupus52
Datum: 23.07.14 14:11

Hi,

danke für die Infos. Ich hab's auch aufgegeben. Offensichtlich kennt keiner so eine Möglichkeit ein simples HID-Device auszulesen. Dabei sind die Daten ja in Windows vorhanden.

Man braucht nur z.B. in Excel, Word oder sogar dem einfachen Editor "CAPS" und "NUM" 3 Sekunden zu drücken. Schon kommt ein Wert pro Sekunde angestreamt.

Die mitgelieferte Software ist echt Müll. Einfach so ein Alibischrott, damit überhaupt was dabei ist.

Wesentlich besser ist http://www.thermohid.co.uk - Aber der Programmierer stellt sich tot und es gibt schon lange nichts mehr Neues.

Da es mir nicht um genaue Werte geht, sondern einfach eine aussentemperaturabhänge Schaltung sein soll, mache ich das jetzt wohl per Analog-Digitalwandler von einem PT100 aus. Mit dem USB-Interface werde ich auch noch andere Sachen steuern wie z.B. Rolläden rauf/runter.

Habe aber noch nicht angefangen. Andere Arbeit ist dringender.

VG
Wolfgang
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel