Contrôle de sonar, 2013/2014, TD2
Sommaire
Rapport du projet Système Communicant : Système de contrôle sonar
L'objectif de ce projet est de réaliser un sous-système de contrôle de sonar ultra-sons. Ce projet se partage en deux partie : une informatique et une électronique.
La partie informatique a pour but de créer une interface Web permettant la communication entre l'utilisateur et le sonar. Par l'intermédiaire de cette page Web, l'utilisateur donne un angle souhaité et le sonar indique la mesure de distance correspondant à la direction demandée.
La partie électronique...
Les participants de ce projet sont YVERNAULT Bertrand et THEBAULT Louis pour la réalisation électronique et SIMON Manouk pour la réalisation informatique.
Partie informatique
Séance 1
Dans un premier temps, cette première séance a surtout été dirigé sur la compréhension du sujet :
- Mise à jour des connaissances sur les différents langages à employer (HTML, PHP, AJAX, JAVASCRIPT, C, CGI-BIN)
- Etude des exemples fournis pour contrôler le servo-moteur.
- Réflexion sur l'architecture du projet :
Dans un second temps, nous avons installé les bibliothèques Phidget pour commander le servo-moteur et jQuery pour l'interface Web.
Dans un troisième et dernier temps, nous avons commencer la rédaction de la page html de contrôle du Sonar dans le fichier Acceuil.html situé dans le répertoire /var/www de l'ordinateur.
Séance 2
L'objectif de cette deuxième séance est de contrôler le servo-moteur à partir de la page Web Acceuil.html. Il nous faut donc créer le fichier de commande du servo-moteur (CommandeServoMoteur.c) et l'adapter à l'interface Web.
Création du fichier de commande du servo-moteur
Nous avons créé un fichier CommandeServoMoteur.c à partir de l'exemple qui contrôle la position du moteur (AdvancedServo-simple.c de la librairie libphidget21).
Configuration du port série
Pour pouvoir communiquer avec le banc de simulation, nous avons dû inscrire les commandes données en (C.2) dans le fichier /etc/rc.local pour configurer le port série à chaque démarrage.
Test du fichier de commande du servo-moteur
Une fois le port configuré, on paramètre le banc de simulation en sélectionnant le mode 5.
Puis, on compile sur le terminal par la commande suivante : gcc CommandeServoMoteur.c -o CommandeServoMoteur -lphidget21
Adaptation du fichier à l'interface Web
Nous avons ensuite adapté le fichier CommandeServoMoteur.c à notre utilisation :
- Suppression des printf pour éviter des perturbations sur la page Web
- Ajout de la bibliothèque cgi.h et adaptation du fichier pour récupérer en paramètre, par un script CGI-BIN CommandeServoMoteur.cgi via l'interface WEB, la valeur de l'angle donnée par l'utilisateur
- Déplacement du fichier dans le répertoire /usr/lib/cgi-bin
- Commande sur le terminal pour obtenir les droits d'exécutions : chmod u+s /usr/lib/cgi-bin/CommandeServoMoteur.cgi (grâce à l'intervention de M. Redon)
Ajout des fonctions Javascript à la page Web
Enfin, nous avons dû introduire un champ de saisie pour indiquer l'angle et des fonctions d'envoi.
Par la fonction onBlur qui fait appel à la function commandeServoMoteur(), l'angle donné par l'utilisateur est automatiquement envoyé au servo-moteur.
Séance 3
Le but de cette séance est de récupérer la valeur de la distance mesurée par le sonar ainsi que d’implémenter le projet embarqué sur la Foxboard.
Il nous aura fallu une séance supplémentaire pour finir le transfère du projet sur la Foxboard mais malheureusement les tests n'ont pas été concluant.