[logo INP] [logo ANRTT]
Projet FAUST'96
La webcam motorisée

introduction

La Cellule Multimédia et Nouvelles Technologies de l'Institut National Polytechnique de Toulouse (INP), en partenariat avec l'Association Nationale de Recherche sur les Technologies de Télécommunication (ANRTT), présente lors de FAUST'96 un de leurs projets communs:
la webcam motorisée.

L'objectif de ce projet est de mettre en oeuvre une caméra motorisée sur le stand de l'Education Nationale afin de filmer l'intérieur du salon. L'image pourra être consultée par n'importe qui dans le monde via le réseau Internet en utilisant un simple navigateur web. Tel est le principe d'une webcam. Par l'intermédiaire de programmes CGI adaptés, le robot sur lequel sera posée la caméra pourra être contrôlé en différents mouvements.

 
La technologie utilisée

La caméra est branchée sur un PC (Windows for Workgroups) tandis que le robot est piloté par un autre PC (système d'exploitation Linux) qui fait office de serveur HTTP à partir duquel les utilisateurs d'Internet pourront se connecter. Les deux machines, reliées par réseau, peuvent alors échanger des informations.

 
Un serveur sous le système d'exploitation Linux

Le PC sur lequel tourne le serveur web fonctionne sous le système d'exploitation Linux. Ce PC pilote la carte électronique contrôlant le déplacement de la caméra. Les scripts CGI chargés de récuperer les commandes des utilisateurs pour les retransmettre au robot ont été écrits avec les languages TCL, Perl et C.

 
La caméra branchée sur un PC

Un PC, dédié à l'acquisition vidéo (via une carte spécifique) et fonctionnant sous Windows for Workgroups, enregistre de façon régulière sur son disque les images fournies par la caméra. Grâce au protocole SMB, le PC Linux accède nativement au système de fichier Windows et le serveur HTTP consulte l'image stockée sur le disque de la machine Windows.

 
Un protocole de communication I2c

La communication entre le serveur Linux et le robot est basée sur un bus de type i2c. De plus en plus utilisé dans le domaine de l'électronique digitale, I2c est un protocole de transfert de données série très puissant. La carte "maître I2C" est branchée sur le port parallèle du PC, la carte "esclave I2C" contrôle directement les moteurs du robot, par l'intermédiaire de 4 relais. Elle permet de commander indépendamment les deux moteurs dans un sens comme dans l'autre. Le driver I2c Linux utilisé ("i2c-0.2.2") a été développé par Simon G. Vogl.

 
L'aspect utlisateur

La page web qui permet de contrôler le robot est divisée en deux fenêtres (frames). Sur la Frame du haut figure l'image diffusée par la caméra, et sur la Frame du bas, les contrôles afin d'envoyer au robot les différents mouvements à exécuter: mouvement de rotation (dans les deux sens) et mouvement de translation (dans les deux sens). L'utilisateur sélectionne le type, le sens et la durée du mouvement que le robot devra effectuer.