Page 1 sur 1
[..] Lecture d'un device usb via une dll
Posté : mar. 16 nov. 2010 20:33
par er441
Bonjour,
Pour un projet scolaire nous souhaitons récupérer les données de plusieurs capteur (température, tensions etc...).Ces données seront affichées sur un site web via des graphiques en temps réel.
Nous utilisons le graphtec GL200a pour transférer les données sur le pc, le problème est que le logiciel fourni ne nous permet que de visualiser les courbes sur le pc.
J'aimerais savoir s’il est possible d'utiliser la dll ("gtcusbr.dll") fournie dans le répertoire d'installation, pour lire les données sur le gl200a directement par AutoIt, puis de les envoyés moi-même par ftp?
Après quelques recherches j'ai trouvé que la dll contient 7 fonctions :
1 GtcUSBr_OpenDevice()
2 GtcUSBr_CloseDevice()
3 GtcUSBr_ReadDevice()
4 GtcUSBr_ReadDeviceEx()
5 GtcUSBr_WriteDevice()
6 GtcUSBr_WriteDeviceEx()
7 GtcUSBr_GetLastError()
J’ai également trouvé la source d'un programme qui utilise cette dll pour communiquer avec le gl200a, il y a la source en vb et en c++. Ces exemples ont étés trouvés sur le site officiel de graphtec et sont apparemment en japonais ...
Mais voilà n'ayant que peu utilisé les dll avec AutoIt ... je suis perdu, c'est pourquoi je fait appel à vous.
Merci d'avance pour vos réponses.
Re: [..] Lecture d'un device usb via une dll
Posté : mar. 16 nov. 2010 20:47
par timmalos
Pouvez vous copier les script VB/C++ ici svp? Ou plutot les ajouter en tant que piece jointe?
Re: [..] Lecture d'un device usb via une dll
Posté : mar. 16 nov. 2010 21:05
par er441
J'avais mis les exemples en fichier joint mais la taille maximale d'upload est de 1mo ...
voila
http://www.sendspace.com/file/pk0b73
Re: [..] Lecture d'un device usb via une dll
Posté : mar. 16 nov. 2010 21:12
par timmalos
Je vous conseille fortement d'aller directement voir sur le forum anglais, peu de personnes ici sont capables de gérer un tel appel de DllCall.
http://autoitscript.com/forum/
Re: [..] Lecture d'un device usb via une dll
Posté : mar. 16 nov. 2010 21:38
par er441
Je vous remercie pour votre aide

Je vais essayé de poster sur le forum anglais demain, mais l'anglais et moi ... je vais avoir du mal ^^
sur ce, je vous souhaite une bonne soirée

Re: [..] Lecture d'un device usb via une dll
Posté : mar. 16 nov. 2010 22:25
par Tlem
A première vue, le fichier gtcusbr.pdf donne tous les paramètres ainsi que leurs nature afin d'utiliser les fonction de la dll.
Si vous fournissez cette doc et pourquoi pas un ou deux exemples d'utilisation, je ne doute pas que vous aurez une réponse rapide sur le site Anglais.
Maintenant, je suis sur que certains membre du forum sont largement capable de donner tous les éléments.

Re: [..] Lecture d'un device usb via une dll
Posté : mer. 17 nov. 2010 07:18
par er441
Oui le pdf explique apparement les fonctions une a une, mais il est en japonais...^^ j'ai essayé google translate mais le résultat n'est pas très compréhensible... si quelqu'un peux traduire mon post en anglais je suis preneur sinon j'utilise un traducteur..
Encore merci pour vos réponses.
Re: [..] Lecture d'un device usb via une dll
Posté : mer. 17 nov. 2010 08:50
par Tlem
Certes, il est en Japonais, mais certaines choses sont lisibles (et compréhensibles).
► Afficher le texte
Code : Tout sélectionner
GtcUSBr_OpenDevice()
HANDLE GtcUSBr_OpenDevice(void);
GtcUSBr_CloseDevice()
BOOL GtcUSBr_CloseDevice(
HANDLE hDevice
);
GtcUSBr_ReadDevice()
BOOL GtcUSBr_ReadDevice(
HANDLE hDevice,
LPVOID lpBuffer,
DWORD nNumberOfBytesToRead,
LPDWORD lpNumberOfBytesRead,
DWORD dwTimeOut
);
GtcUSBr_ReadDeviceEx()
BOOL GtcUSBr_ReadDeviceEx(
HANDLE hDevice,
LPVOID lpBuffer,
DWORD nNumberOfBytesToRead,
LPGtcUSBr_OVERLAPPED lpGtcUSBr_Overlapped
);
GtcUSBr_WriteDevice()
BOOL GtcUSBr_WriteDevice(
HANDLE hDevice,
LPVOID lpBuffer,
DWORD nNumberOfBytesToWrite,
LPDWORD lpNumberOfBytesWrite,
DWORD dwTimeOut
);
GtcUSBr_WriteDeviceEx()
BOOL GtcUSBr_WriteDeviceEx(
HANDLE hDevice,
LPVOID lpBuffer,
DWORD nNumberOfBytesToWrite,
LPGtcUSBr_OVERLAPPED lpGtcUSBr_Overlapped
);
GtcUSBr_GetLastError()
BOOL GtcUSBr_GetLastError();
Normalement avec ça et les quelques exemples fournit en C, il devrait être possible de déduire la méthode d'utilisation de la dll.
Sinon, il vous faudra trouver un traducteur Japonais => Anglais ou tout simplement la version Anglaise de cette documentation qui doit fort probablement exister ...
Edit : Sinon, vous avez la possibilité de les contacter, ou encore de leur envoyer un Email pour demander la doc en Anglais.
http://www.graphteccorp.com/support/index.html
Re: [..] Lecture d'un device usb via une dll
Posté : mer. 17 nov. 2010 17:00
par er441
J'ai posté ce matin sur le forum anglais mais je n'ai toujours aucunes réponses... J'ai utilisé un traducteur pour traduire mon poste mais ça ne doit pas être très clair ...
En ce qui concerne la doc de la dll en anglais j'ai fait pas mal de recherches sur le site anglais mais sans succès ...
Sinon personne ici ne maitrise les dllcall ? Ce qu'on a déjà n'est pas suffisant pour arriver à faire quelque chose ?
Voila la traduction de la doc par google translate :
► Afficher le texteGtcUSBr_OpenDevice()
Caractéristiques:
Open Device
Description:
gtcusbr.sys contrôlée par le dispositif, l'appareil hors tension s'il n'est pas utilisé
retourne Pun handle.
Si vous n'avez pas été ouverte depuis plus d'un périphérique connecté, le premier d'entre eux
Ouvrez l'appareil. Choisir de ne pas ouvrir l'appareil.
Déclaration:
POIGNÉE GtcUSBr_OpenDevice (void);
Valeur de retour:
Après un retour réussi à manipuler un appareil ouvert.
Retourne NULL si elle échoue à ouvrir.
Code:
GetLastError () GtcUSBr_GetLastError ()
ERROR_DEVICE_NOT_CONNECTED: aucun périphérique valide sont connectés
ERROR_NO_MORE_DEVICES: il n'existe pas de dispositif utilisé
ERROR_NOT_ENOUGH_MEMORY: Out of memory
► Afficher le texteGtcUSBr_ReadDevice()
GtcUSBr_ReadDevice ()
Caractéristiques:
Synchrone Lire
Description:
Lire à partir du périphérique à synchroniser les données.
Déclaration:
GtcUSBr_ReadDevice BOOL (
hDevice MANCHE,
lpBuffer LPVOID,
DWORD nNumberOfBytesToRead,
LPDWORD lpNumberOfBytesRead,
dwTimeout DWORD
);
Arguments:
hDevice: dispositif GtcUSBr_OpenDevice handle obtenu par
lpBuffer: tampon de données dans laquelle la lecture
nNumberOfBytesToRead: Lire Bytes
lpNumberOfBytesRead: le nombre réel d'octets 読 Mi 取 Reta
dwTimeout: nNumberOfBytesToRead nombre spécifié d'octets lus
Le temps d'attente (en millisecondes). Précisez INFINITE pour spécifier
Retourne le nombre d'octets à lire.
Valeur de retour:
True 読 Mi 込 Metara nombre spécifié d'octets (TRUE), FALSE 読 Mi 込 Menakattara (FALSE).
(Même fausse, et lisez toujours 0 octets)
Code:
GetLastError () GtcUSBr_GetLastError ()
ERROR_INVALID_HANDLE: nulle valeur poignée a été spécifié.
ERROR_TIMEOUT: TimeOut nombre spécifié d'octets lus avant le moment venu.
ERROR_BUSY: Le périphérique spécifié est déjà dans le processus de chargement.
► Afficher le texteGtcUSBr_WriteDevice()
Caractéristiques:
Synchrone écrit
Description:
Dispositif d'écriture pour synchroniser les données.
Déclaration:
GtcUSBr_WriteDevice BOOL (
hDevice MANCHE,
lpBuffer LPVOID,
nNumberOfBytesToWrite DWORD,
lpNumberOfBytesWrite LPDWORD,
dwTimeout DWORD
);
Arguments:
hDevice: dispositif GtcUSBr_OpenDevice handle obtenu par
lpBuffer: Ecrit tampon de données
nNumberOfBytesToWrite: écrire des octets
lpNumberOfBytesWrite: le nombre réel d'octets 书 Ki 込 Meta
dwTimeout: nNumberOfBytesToWrite nombre spécifié d'octets écrits
Attendez que le Meru (en millisecondes). INFINITE est spécifié
Retour jusqu'à ce que le nombre spécifié d'octets lus.
Valeur de retour:
True 书 Ki 込 Metara nombre spécifié d'octets (TRUE), FALSE 书 Ki 込 Menakattara (FALSE).
(Même fausse, et le nombre d'octets écrits n'est pas forcément 0)
Code:
GetLastError () GtcUSBr_GetLastError ()
ERROR_INVALID_HANDLE: nulle valeur poignée a été spécifié.
ERROR_TIMEOUT: TimeOut nombre spécifié d'octets écrits avant que le temps était.
ERROR_BUSY: Le périphérique spécifié est déjà dans le processus de chargement.
► Afficher le texteGtcUSBr_CloseDevice()
Caractéristiques:
dispositif de proximité
Description:
Fermez la poignée sur le périphérique spécifié, libérant les ressources impliquées.
Déclaration:
GtcUSBr_CloseDevice BOOL (
hDevice MANCHE
);
Arguments:
hDevice: dispositif GtcUSBr_OpenDevice handle obtenu par
Valeur de retour:
Après un gros succès réel (TRUE), FALSE si elle échoue (FALSE) est retournée.
Code:
GetLastError () GtcUSBr_GetLastError ()
ERROR_INVALID_HANDLE: nulle valeur poignée a été spécifié.
► Afficher le texteGtcUSBr_GetLastError()
Caractéristiques:
Pour obtenir des informations d'erreur étendues.
Description:
Divers GtcUSBr API d'extension pour récupérer le code d'erreur généré dans le.
WindowsAPI de GetLastError () lorsque vous utilisez la fonction ne peut pas être utilisé pour une raison quelconque.
Le code d'erreur peut être obtenu dans chaque thread (ne peut pas obtenir à partir d'un thread différent)
※ Ver1.21 de côté
Déclaration:
GtcUSBr_GetLastError BOOL ();
Arguments: aucun
Valeur de retour: erreur étendue
Voir les détails pour chaque API.
Edit: Voila le lien:
http://www.autoitscript.com/forum/topic ... sb-device/
Merci a vous

Re: [..] Lecture d'un device usb via une dll
Posté : mer. 17 nov. 2010 21:26
par Tlem
Ce type de traduction ne sert pas à grand chose car en réalité elle ne veut rien dire.
Tout n'est pas à traduire et il manque des fins de phrase.
Étant donné qu'il n'y à pas d'autres informations techniques sur les valeurs des différentes fonctions, les exemples devraient suffire pour ceux qui connaisse le C ou le VB.
Pour une réponse sur le forum Anglais, soyez un peut plus patient.
Attendez au moins 48 heures.
Edit : Je n'ai même pas trouvé votre sujet sur le forum Anglais ...
