Clavier souris reseau : Différence entre versions

De Wiki d'activités IMA
m (Librairie TCP Serveur et Client)
(Logiciel)
Ligne 51 : Ligne 51 :
 
** [http://ww2.cs.fsu.edu/~rosentha/linux/2.6.26.5/docs/DocBook/kernel-api/ch24.html Linux Kernel API - Chapter 24. Input Subsystem]
 
** [http://ww2.cs.fsu.edu/~rosentha/linux/2.6.26.5/docs/DocBook/kernel-api/ch24.html Linux Kernel API - Chapter 24. Input Subsystem]
 
** [http://www.blueicefield.com/2010/02/11/un-petit-keylogger-sous-linux/ Exemple de keylogger Linux]
 
** [http://www.blueicefield.com/2010/02/11/un-petit-keylogger-sous-linux/ Exemple de keylogger Linux]
 +
** [http://thiemonge.org/getting-started-with-uinput Exemple uinput en espace utilisateur]
  
 
= Avancement du projet =
 
= Avancement du projet =

Version du 10 mars 2011 à 15:59

Présentation

Objectif

Concevoir et développer un clavier réseau et une souris réseau capable de s'interfacer avec n'importe quelle machine fonctionnant sous Linux.

Interface

Les deux périphériques seront connectés à une Foxboard. Un écran OLED sera fixé sur le boitier. Dans le cas d'un écran tactile, il sera utilisé pour faire la sélection de la machine destination. Dans le cas contraire, une molette ou des boutons seront utilisées.

Il faudra également concevoir et développer des mécanismes simples permettant de configurer les périphériques.

Connectique

Les périphériques se raccorderont au réseau via une connexion Ethernet filaire ou via une connexion WiFi.

Préparation du projet

Matériel

  • Clavier USB
  • Souris USB
  • Foxboard
  • Ecran OLED tactile
    • Modèle : µLCD-24PT(SGC)
    • Taille : 2.4" - 48.64 x 60.7 x 14mm
    • Taille de la zone d'affichage : 36.72 x 48.96mm
    • Résolution : 240 x 320 QVGA
    • Connectique : 16 x General Purpose I/O pins. Upper 8 bits can be used as an I/O Bus for fast 8-bit parallel data transfers.
  • Alternative : Ecran OLED non tactile ?

Electronique

  • Ecran OLED/LCD
    • Connecter l'écran sur les e/s logiques de la Foxboard
    • Mettre en fonctionnement l'écran

Logiciel

  • Coté serveur (Foxboard ou autre)
    • Serveur : Enregistrer les événements clavier et souris, puis les transmettre sur le réseau (TCP ? UDP ?)
    • Outil ligne de commande : Changer les client destinataires, changer la keymap, arrêter le serveur
  • Coté client
    • Pilote en mode utilisateur en utilisant le module uinput

Avancement du projet

Lundi 28 février 2011

Absence non justifiée

Vendredi 4 mars 2011

Choix technique

Travail effectué

Installation d'une Arduino, test du programme LED clignotante (pour se rafraîchir la mémoire sur le fonctionnement de Arduino).

Démontage d'un souris, pour regarder comment y récupérer les signaux des interrupteurs, de la molette, du capteur optique...

Conclusion

Après discussion avec le professeur, abandon du Arduino pour utiliser exclusivement Foxboard auquel on connecte un écran LCD/OLED tactile.

uinput : Pilote de Clavier/Souris virtuel

Travail effectué

Documentation sur le module Linux uinput.

Test du code source exemple : requiert les droits root pour charger le module uinput et exécuter le pilote.

Lundi 7 mars 2011

Récupération des événements Clavier/Souris

logkeys

Travail effectué

Installation du keylogger logkeys, disponible sur les dépôts Debian pour l'architecture ARM (celle de la Foxboard) :

  • Via le gestionnaire de paquets : Debian Lenny est installé sur la Foxboard, il faudrait passer au dépôt Debian Squeeze (stable) pour obtenir logkeys : abandon car trop long
  • Compilation des sources : effectué sur la Foxboard après avoir installé les outils de compilation et librairies nécessaire. L'exécutable obtenu ne fonctionne pas pour une raison inconnue, abandon.

Conclusion

Nécessité d'écrire notre propre keylogger.

Ecriture d'un keylogger

Travail effectué

La fonction permettant de récupérer les événements clavier depuis un périphérique /dev/input est écrite, en utilisant l'API linux/input.h.

Conclusion

  • Nécessité de faire appel à un keymap pour déchiffrer les frappes Clavier
  • Possibilité d'utiliser la fonction écrite pour récupérer les événements clavier ET souris.

Ecran LCD/OLED

Travail effectué

Recherche d'un écran LCD/OLED tactile à prix plus abordable, lecture des documentations.

Jeudi 10 mars 2010

Commutateur Ethernet

Travail effectué

Nous avons manifesté le besoin d'avoir davantage de prise Ethernet, nous avons donc configuré un Commutateur 24 ports.

Librairie TCP Serveur et Client

Nous avions déjà commencé à écrire cette librairie pour le tutorat Système et Réseaux.

Travail effectué

  • Finir d'écrire les fonctions de la librairie
  • Tester une connexion client-serveur