Biblioteci pentru gestionarea dispozitivelor usb hid, pc, programare

Toate exemplele de programe listate în tabel, puteți descărca de pe linkul [1].

Biblioteci pentru gestionarea dispozitivelor usb hid, pc, programare

Pentru un articol care descrie un exemplu, consultați [2]. Pentru a compila exemplul, aveți nevoie de Windows DDK de orice versiune. Scrierea unui program folosind un exemplu este cel mai convenabil în Visual Studio C ++, dar dacă puteți încărca DLL-uri în memorie și apela funcțiile sale, limba și sistemul de programare nu contează. Un exemplu de software gazdă nu este legat de un dispozitiv USB HID specific, ci oferă pur și simplu o interfață pentru a primi informații despre dispozitivele USB HID conectate. Avantajul utilizării HID.dll este că pe platforma Windows aceasta este metoda cea mai directă pentru accesarea dispozitivelor HID USB, în timp ce restul bibliotecilor se ocupă doar de apelurile HID.dll. Dezavantajul bibliotecii este un API incomod, lipsa codului sursă, utilizarea limitată numai pe sistemele de operare Windows. Codul sursă al exemplului poate fi preluat din DDK Windows sau descărcat de pe linkul [1], vezi directorul HID.dll \ hclient \.

Biblioteci pentru gestionarea dispozitivelor usb hid, pc, programare

Biblioteca este bine documentată, are un API simplu pentru utilizare. Există exemple de programe GUI scrise în C ++ și Java, precum și un exemplu de program de consolă.

Biblioteci pentru gestionarea dispozitivelor usb hid, pc, programare

Biblioteci pentru gestionarea dispozitivelor usb hid, pc, programare

Biblioteci pentru gestionarea dispozitivelor usb hid, pc, programare

Biblioteca inter-platformă cu sursă deschisă, bine documentată. Cel mai bun exemplu de utilizare (software-ul gazdă și firmware-ul USB HID pentru microcontrolerul AT90USB162) pe care l-am putut găsi este un proiect de lumină, vezi [5].

Biblioteci pentru gestionarea dispozitivelor usb hid, pc, programare

Biblioteci pentru gestionarea dispozitivelor usb hid, pc, programare

O bibliotecă transfrontalieră foarte cunoscută este utilizată în multe produse comerciale. Bine documentat, codul sursă este deschis, exemplele codului software gazdă pe acesta pot fi găsite destul de ușor. În opinia mea, cele mai bune exemple sunt în componența bibliotecii V-USB (a se vedea. [6]), și exemple de software gazdă libusb implică un dispozitiv USB HID firmware-ul (pe biblioteca V-USB). Adică aveți exemple gata de software gazdă și exemple gata de dispozitive USB HID care fac schimb de date cu acest software de date gazdă. USB dispozitiv în biblioteca V-USB proiectat pentru chips-uri AVR convenționale, care nu au la bord hardware controler USB (m. Protocolul E. USB este prelucrata in interiorul software-ul AVR cip) HID, dar se poate scrie un program care va lucra cu orice dispozitiv USB. Exemple de o gazdă proiectat pentru GCC (limbajul C) și Visual Studio (limbajul C ++), dar dacă știi cum să încărcați într-o memorie de DLL și numesc o funcție, nu există nici o problemă de portare exemple în orice alt mediu de programare (vezi [7].) . Biblioteca libusb Lipsa că software-ul la gazdă, scris pe ea, nevoile de instalare pentru Windows ale bibliotecii, precum și necesitatea de a lega dispozitivul USB HID filtru special (filtru de conducător auto) conducător auto. Acest driver de filtru este instalat utilizând utilitarul special inclus în pachetul libusb library.

Biblioteci pentru gestionarea dispozitivelor usb hid, pc, programare

[Componenta USB HID pentru Windows C #]

Biblioteci pentru gestionarea dispozitivelor usb hid, pc, programare

Vedeți și driverul / biblioteca HID USB pentru .Net / C # (DLL) [12] pentru a fi utilizate în proiectele Visual Studio. DLL-ul este scris în C #, ușor de integrat în proiectele Visual Studio și are o interfață de programare simplă și intuitivă.

[Biblioteca JEDI Visual Component (JVCL)]

O bibliotecă de componente vizuale și non-vizuale pentru mediul popular de dezvoltare Delphi. Utilizarea bibliotecii este destul de simplă, un exemplu bun de utilizare este configuratorul de dispozitive USB HID pentru controlul vitezei ventilatorului unității sistemului în funcție de temperatură [15].

Biblioteci pentru gestionarea dispozitivelor usb hid, pc, programare

Iată o scurtă trecere în revistă a clasei și componentelor JVCL referitoare la gestionarea dispozitivelor USB HID.

TJvHidDeviceController oferă acces la lista controlorilor USB, monitorizează starea controlorilor, conectează / deconectează dispozitivele.

TJvHidDeviceController: OnDeviceChange - handler pentru conectarea / deconectarea dispozitivelor.

TJvHidDeviceController: OnEnumerate - obțineți lista de dispozitive.

TJvHidDevice - oferă acces la dispozitivul USB suprem. Configuratorul utilizează numai două metode pentru a primi și a trimite un pachet de date.

TJvHidDevice: GetFeature - primirea unui pachet de date (primirea de date de la dispozitiv).

TJvHidDevice: SetFeature - trimiterea unui pachet de date (transfer de date pe dispozitiv).

Un exemplu de lucru cu un dispozitiv HID (HIDSerialMonitor) este pentru cardurile Arduino și USnooBie. În depozitul de pe GitHub [16], puteți găsi atât binare precompilate pentru Linux (32-bit, 64-bit) atât pentru Windows, cât și pentru codul sursă în limba de procesare. Codul folosește apelurile în biblioteca hidapi. Programele compilate și aplicațiile individuale nu necesită software suplimentar.

Biblioteci pentru gestionarea dispozitivelor usb hid, pc, programare

Biblioteci pentru gestionarea dispozitivelor usb hid, pc, programare

Programul HIDSerialMonitor este necesar ca alternativă la monitorul serial în mediul de dezvoltare Arduino, ceea ce permite eliberarea portului UART al microcontrolerului.

Pentru a compila singur codul, trebuie să instalați procesarea (consultați site-ul web processing.org) și să copiați bibliotecile (G4P și hiddapi) în dosarul Biblioteci de procesare. Apoi descărcați HIDSerialMonitor.pde în mediul de procesare și faceți clic pe "Run".

[Ce trebuie să încerci]

Cu o varietate de opțiuni pentru implementarea unui schimb de date cu un dispozitiv USB HID, trebuie mai întâi să determinați platforma de dezvoltare. De exemplu, dacă scrieți în Java, atunci biblioteca Atmel este cea mai bună. Dacă programați în C #, este mai bine să selectați componenta USB HID C #. Cele mai multe opțiuni pentru alegerea de la dezvoltatorii care programează în Visual C ++.

Apoi trebuie să alegeți dispozitivul USB HID (dacă nu îl aveți deja). O opțiune ieftină și convenabilă pentru care există exemple gata făcute de firmware USB HID sunt panourile AVR-USB162. AVR-USB162MU. AVR-USB-MEGA16 (vezi [4]). Pentru a completa firmware-ul firmware-ului în aceste placi, programatorul nu este necesar, firmware-ul este turnat în memoria cip-ului prin intermediul bootloader-ului USB. Pentru placi de dezvoltare AVR-USB162 și AVR-USB162MU pot lua exemple gata făcute de USB cod HID de la Atmel și din biblioteca LUFA (a se vedea [10].) Și pentru placa de prototipuri AVR-USB-MEGA16 - din biblioteca V-USB (a se vedea [. 6]).

Articole similare