USBasp-Utilisation en injecteur de touche


Niveau:3

Introduction:

Nous allons créer un programme qui permettra d’envoyer une séquence de touche à Windows avec votre USBasp. Dans mon cas, je vais faire une séquence permettant d’ouvrir le logiciel notepad et d’écrire à l’intérieur hello. Vous devez avoir installé l’IDE Atmel Studio et AVRDUDESS voir chapitre sur mon site.

Mise en oeuvre:

Dans un premier temps, il faut charger la bibliothèque V-USB library de OBdev ou vusb-20121206.zip.

Ouvrir Atmel Studio 7 et créer un nouveau projet.

Choisir votre microcontrôleur: Atmega8A.

Décompresser l’archive de la bibliothèque et copier les fichiers du répertoire usbdrv dans votre projet.

Ouvrir le fichier usbconfig-prototype.h. Faire un clique sur votre projet et appuyer sur les touches shift+alt+a.

 

Modifier les paramètres suivants:

# define USB_CFG_IOPORTNAME B
# define USB_CFG_DMINUS_BIT 0
# define USB_CFG_DPLUS_BIT 1
#define USB_CFG_VENDOR_NAME 'H', 'I', 'D', '.', 'U', 'S', 'B'
#define USB_CFG_VENDOR_NAME_LEN 7
#define USB_CFG_DEVICE_NAME 'T', 'e', 'm', 'p', 'l', 'a', 't', 'e'
#define USB_CFG_DEVICE_NAME_LEN 8
#define USB_CFG_IMPLEMENT_FN_WRITE 1
#define USB_CFG_CLOCK_KHZ       (12000000/1000)
#define  USB_CFG_DEVICE_ID       0xdb, 0x27
#define USB_CFG_HID_REPORT_DESCRIPTOR_LENGTH    35
#define USB_CFG_HAVE_INTRIN_ENDPOINT    1
#define USB_CFG_DEVICE_CLASS        0
#define USB_CFG_INTERFACE_CLASS     3
#define USB_CFG_HAVE_MEASURE_FRAME_LENGTH   1

Voici mon fichier usbconfig.h

Sauvegarder et renommer le fichier en usbconfig.h. Vous pouvez l’ajouter directement à votre projet.

Ajouter les fichiers suivant en faisant un clique droit sur votre projet:

usbdrvasm.S, usbdrv.c, oddebug.c

Les sélectionner et faire un un crtl+F7 pour les compiler.

Le message suivant doit apparaître : Build succeeded.

Télécharger le fichier hid.h de définition des touches et le mettre dans le répertoire de votre projet.

Télécharger le programme principal main.c dans le répertoire de votre projet.

Maintenant vous pouvez créer votre fichier hex en appuyant sur la touche F7.

Et pour finir vous devez envoyer le fichier hex à votre USBasp.

Voici le projet sous Atmel Studio 7 en téléchargement HID.ZIP.

Test:

Brancher votre USBasp et attendre. Si cela ne marche pas bien au premier coup, refaire un essai, car cela dépend du temps d’installation du Driver.

Conclusion:

Je vous laisse le soin de faire des expérimentations avec ce programme, malgré le manque d’explication du programme principale. Si j’ai un peu de temps, j’essayerai de mettre plus de commentaires.