Projet de L2 (S45) -- 2013-2014
Objectifs
L’objectif complet du projet est de réaliser des montages électroniques qui supportent des capteurs (température, lumière, …). Ces montages envoient des messages toutes les secondes sur une liaison USB.
Les différents capteurs :
- température : TEMP en °C (précision 1/10) pusis en valeur numérique sur 10 bits (0 à 1023)
- voltmètre : VOLT, précision 10mV,
- distance : DIST, en m précision 1mm)
- luminosité : photorésistance LDR en %, valeur entière 0 à 100
Les messages ont la forme suivante (code du capteur, mesure en floattant, unité, mesure entière). Chaque mesure est envoyée sous la forme d’une ligne de caractères terminée par un <CR><LF>, les informations sont séparées par des ',’.
Exemple:
TEMP,25.02,C,457 VOLT,1.23,V,381 DIST,0.102,M,500 LDR,50,P,51
Dans un premier temps vous aller réaliser la partie informatique sous la forme d’un programme qui * analyse les messages (sous la forme d’une fichier texte dans un premier temps) * représente les informations en mémoire * produit un rendu des mesures sous diverses formes (HTML, SVG)
Analyse du protocole
Ecrire un programme en langage C qui devra s’exécuter de la façon suivante :
./analyse 10 xhtml resultat.html
il prend trois paramètres : le nombre de mesures passées en paramètre, le format de sortie et le fichier qui contiendra le résultat.
Le programme sera écrit de façon très structurée et utilisera un makefile et la compilation séparée.
Ecrire une fonction qui analyse et extrait les quatre champs et le numéro de ligne.
Déclarer une structure de données pour chaque type de mesure et un tableau ou une liste chaînée pour chacune qui enregistrera les mesures.
Ecrire les fonctions qui vous semblent utiles : recherche de la mesure minimale, maximale, de la moyenne, …
Restitution des résultats
XHTML
Ecrire les fonctions qui permettent d’afficher les mesures sous la forme de listes et tableaux xhtml.
Ecrire une fonction globale qui crée une document XHTML complet à partir des fonctions précédentes.
Les supports de XHTML.
CSS
Mettez en forme le document précédent en utilisant CSS. En particulier, les valeurs minimales et maximales seront mises en valeur.
Les supports de CSS.
SVG
En utilisant, la même logique produisez étudiez le langage SVG (La norme : http://www.w3.org/Graphics/SVG/, un tutoriel : http://svground.fr/) et produisez une image qui représente les mesures sous la forme d’un histogramme (numéro de mesure/valeur), de la même façon les valeurs minimales et maximales seront représentées ainsi que la moyenne sous la forme d’un trait horizontal.
une astuce : “dessiner” un modèle d’histogramme avec un logiciel de dessin vectoriel (par exemple inkscape), exporter en SVG et s’en servir comme base.