« SE4 2022/2023 EC5 » : différence entre les versions

De wiki-se.plil.fr
Aller à la navigation Aller à la recherche
m (Correctif)
Ligne 39 : Ligne 39 :


J'ai réussi à téléverser un programme et à contrôler les leds de la carte électronique du côté de l'Atmega, mais je pense qu'il doit toujours y avoir des erreurs dans la configuration du programme. En effet, lorsque je développe la description du périphérique USB de l'Atmega, j'observe qu'il n'y a pas d'Endpoint présent dans la description.
J'ai réussi à téléverser un programme et à contrôler les leds de la carte électronique du côté de l'Atmega, mais je pense qu'il doit toujours y avoir des erreurs dans la configuration du programme. En effet, lorsque je développe la description du périphérique USB de l'Atmega, j'observe qu'il n'y a pas d'Endpoint présent dans la description.
''<u>Rectification Semaine 2</u> : L'erreur apparaît car la fonctionnalité USB côté Atmega16u2 n'est pas implémenter/implémentable.''


Enfin, je n'arrivais pas à récupérer une fonction de délai afin de faire clignoter les leds, donc j'ai essayé d'implémenter les boutons de la carte électronique qui fonctionne bel et bien, plus qu'à regarder la vidéo pour voir le code à l'action !
Enfin, je n'arrivais pas à récupérer une fonction de délai afin de faire clignoter les leds, donc j'ai essayé d'implémenter les boutons de la carte électronique qui fonctionne bel et bien, plus qu'à regarder la vidéo pour voir le code à l'action !


(Titre : EC PSR - Semaine 1 / Non répertorié / Lien vers vidéo youtube) <nowiki>https://youtu.be/WFprhhi6del</nowiki>
(Titre : EC PSR - Semaine 1 / Non répertorié / Lien vers vidéo youtube) [https://www.youtube.com/watch?v=WFprhhi6del]


ReX : Impossible de voir quelle erreur tu as fait pour les LED : pas de code dans le Wiki.
ReX : Impossible de voir quelle erreur tu as fait pour les LED : pas de code dans le Wiki.
=== <u>Rectification Semaine 2 ===
L'erreur apparaît car la fonctionnalité USB côté Atmega16u2 n'est pas implémenter/implémentable.
ReX : Cette phrase n'a pas de sens l'ATMega16u2 est bien doté d'une implantation USB matérielle. A la livraison du matériel j'ai aussi montré le bon fonctionnement du mode DFU/USB et la façon d'y faire entre le microcontrôleur.


= Documents Rendus =
= Documents Rendus =
[[:Fichier:Keyboard-Device-Atmega (Semaine 1).zip#file]]
[[:Fichier:Keyboard-Device-Atmega (Semaine 1).zip#file]]

Version du 18 juillet 2023 à 17:19

Objectifs

Il vous est demandé de :

  • réaliser un keylogger en partant d'un prototype réalisé par un élève des années précédentes, ce prototype comporte :
    • un microcontrôleur AT90USB647 pour pouvoir utiliser un projet LUFA en mode hôte,
    • un microcontrôleur ATMega16u2 pour pouvoir utiliser un projet LUFA en mode périphérique,
    • une mémoire flash pour pouvoir sauver les touches capturées ;
  • commencez par écrire un programme, basé sur la démonstration LUFA bas-niveau Keyboard pour vérifier que la partie ATMega16u2 de la carte fonctionne ;
  • poursuivez en vérifiant que vous avez accès, à partir de l'AT90USB647 à la carte mémoire AT45DB641E, vous pouvez vous baser sur le code des PeiP ;
  • vous pourrez alors tester la démonstration LUFA hôte bas-niveau KeyboardHost ;
  • enfin terminez en récupérant les symboles lus par l'AT90USB647 sur le clavier USB pour les transmettre par UART à l'ATMega16u2 puis au PC ;
  • il reste à stocker les symboles au passage dans la mémoire flash et à prévoir une interface particulière sur l'ATMega16u2 pour récupérer les informations.

Matériel nécessaire

Vous avez besoin du prototype de la carte keylogger et d'un Arduino configuré en programmateur AVR ISP.

Schéma électronique
Routage

Le schéma électronique et le routage de cette carte sont donnés dans les figures ci-contre.

Le Fichier:2023-keylogger-fritzing.zip fichier Fritzing de la carte est disponible (à renommer en .fzz).

Le dernier projet sur ce sujet est disponible sur l'ancien Wiki [1].

Travail réalisé

Semaine 1

En premier temps, je me suis intéressé au fonctionnement, aux outils et librairie nécessaire au fonctionnement de la librairie LUFA.

J'ai donc essayé de comprendre comment créer un projet LUFA grâce aux démos, d'installer les programmes tel que dfu-programmer et avr-gcc.

Cependant, n'ayant pas de PC natif linux, j'ai d'abord essayer avec Windows Sous Linux (qui est la solution que j'ai utilisé tout au long de l'année) mais je n'arrivais pas à apercevoir le périphérique USB de la carte Atmega16u2, j'ai donc essayé d'installer et utiliser une VM Linux et j'ai pu lier le périphérique DFU Bootloader de l'Atmega vers la VM afin de téléverser le programme de démo device : Keyboard.

Capture d'écran Ouverture Fritzing.png

J'ai essayé d'ouvrir le fichier schématique de la carte électronique qui fonctionne très bien, mis à part trois fichier/modèle manquant dans l'archive comme les boutons et l'AT90. Ainsi, j'ai pu déterminer où été branché les leds à l'Atmega afin de configurer le programme de démo LUFA.

J'ai réussi à téléverser un programme et à contrôler les leds de la carte électronique du côté de l'Atmega, mais je pense qu'il doit toujours y avoir des erreurs dans la configuration du programme. En effet, lorsque je développe la description du périphérique USB de l'Atmega, j'observe qu'il n'y a pas d'Endpoint présent dans la description.

Enfin, je n'arrivais pas à récupérer une fonction de délai afin de faire clignoter les leds, donc j'ai essayé d'implémenter les boutons de la carte électronique qui fonctionne bel et bien, plus qu'à regarder la vidéo pour voir le code à l'action !

(Titre : EC PSR - Semaine 1 / Non répertorié / Lien vers vidéo youtube) [2]

ReX : Impossible de voir quelle erreur tu as fait pour les LED : pas de code dans le Wiki.

Rectification Semaine 2

L'erreur apparaît car la fonctionnalité USB côté Atmega16u2 n'est pas implémenter/implémentable.

ReX : Cette phrase n'a pas de sens l'ATMega16u2 est bien doté d'une implantation USB matérielle. A la livraison du matériel j'ai aussi montré le bon fonctionnement du mode DFU/USB et la façon d'y faire entre le microcontrôleur.

Documents Rendus

Fichier:Keyboard-Device-Atmega (Semaine 1).zip#file