Utiliser votre Arduino Uno pour simuler les touches d’un clavier !
Hello Hello jeune Padawan,
Je suis récemment tombé sur un article qui permettait de recycler votre précieux Arduino, en Clavier « programmé » …
Tout d’abord, à quoi cela peut-il bien servir ?
Je dirais que vous pourriez faire des blagues à vos amis …
Mais d’un coté pratique …
Vous pourriez tester la sécurité de votre entreprise, en laissant traîner
votre Arduino (emballé comme un disque externe), voir si des personnes
curieuses, le bancheraient sur leurs ordinateurs professionnels …
Sous entendu :
- Vous programmez l’arduino
- Vous le branchez sur un ordinateur
- L’ordinateur détecte l’arduino comme un clavier
- L’arduino fait croire à l’ordinateur que vous tapez sur le clavier
Je croyais jusqu’à il n’y a pas si longtemps que ça, que transformer un Arduino en clavier, n’était possible que pour une certaine gamme d’Arduino tel que l’ATMEGA328P :
Mais non il est visiblement possible de le faire depuis un Arduino Uno
Pour cela :
- Il vous faudra mettre à jour son « firmware », vous allez donc télécharger cette archive « TurnArduinoToKeyboard«
- Ubuntu /Debian : Installer les paquets nécessaire
sudo apt-get install dfu-programmer dfu-util
- Windows : Suivre la doc officiel et installer la dfu-programmer tool (http://arduino.cc/en/Hacking/DFUProgramming8U2)
Vous allez ensuite extraire les 2 fichiers contenu dans l’archive que je vous ai préalablement fait télécharger.
Petite précision, pour les étapes suivantes, il faudra mettre votre Arduino en mode DFU (cf. Google, car cela dépend de la révision de votre Arduino : R1, R2, R3)
Nous allons maintenant vérifier notre environnement est ok, et que nous pouvons « flasher » notre Arduino Uno:
sudo dfu-programmer at90usb82 erase sudo dfu-programmer at90usb82 flash --debug 1 Arduino-usbserial.hex sudo dfu-programmer at90usb82 reset
Si tout ce passe bien, nous allons ensuite pouvoir procéder au flashage !
sudo dfu-programmer at90usb82 erase sudo dfu-programmer at90usb82 flash --debug 1 Arduino-keyboard-0.3.hex sudo dfu-programmer at90usb82 reset
ATTENTION :
Lorsque votre Arduino est flashé avec « Arduino-keyboard-0.3.hex« , vous ne pouvez pas développer dessus, c’est reconnu comme un « Clavier« .
Si vous souhaiter modifier votre code, il vous faudra le flasher avec « Arduino-usbserial.hex » (cf. ci-dessus : erase flash reset)
Puis le flasher depuis l’IDE.
Et enfin, dès que vous aurez fini de développer dessus, le reflasher avec « Arduino-keyboard-0.3.hex » (cf. ci-dessus : erase flash reset)
Voilà maintenant ce que l’on peut faire coté Développement !
Je ne détaillerais pas plus, je pense avoir suffisamment commenté le code pour que vous puissiez comprendre comment ça marche ;)