Previous Up Next

2  Description des composants du projet

2.1  Architecture générale

Les capteurs sont réalisés à l’aide d’un Arduino complété par un capteur du taux de particules ainsi que par un bouclier Ethernet à base de circuit WIZnet W5100. Ces capteurs diffusent leurs valeurs sur le réseau TCP/IP local.

Il est aussi possible de concevoir une carte électronique à base de micro-contrôleur ATMega328p intégrant une puce W5100.

La collecte des valeurs des capteurs est assurée par un processus Unix qui joue aussi le rôle de serveur Web pour permettre un accès par les utilisateurs aux données. Une page affiche les valeurs instantanées et une autre les graphiques de valeurs au cours du temps. Les éléments graphiques sont implantés en utilisant la technologie canvas de la norme HTML5.

2.2  Diffusions UDP

Les dispositifs à base d’ATMega328p envoient les valeurs des capteurs en utilisant le protocole UDP. Les processus Unix doivent récupérer et archiver ces valeurs de façon permanente. Il est demandé que les dispositifs diffusent un identifiant sous la forme d’une chaîne de caractères avec leurs valeurs. Le format des messages UDP est laissé à votre bon soin. Il est évident qu’un format unique doit être adopté par la promotion.

Les valeurs sont envoyées lorsqu’un message UDP de sollicitation est reçu. Cela permet aux processus Unix de découvrir les capteurs à l’aide d’une diffusion UDP pour ensuite solliciter les dispositifs en unicast. Ces derniers ne générent donc que des paquets UDP unicast.

2.3  L’affichage des données

Pour afficher les données de l’ensemble des capteurs connectés, votre processus Unix doit se comporter comme un serveur Web. Le port d’écoute du serveur doit pouvoir être passé en paramètre. Il vous faut décoder les requêtes HTTP envoyées à votre processus. Vous avez juste besoin de trouver le nom de la page demandée mais il faut quand même lire toutes les entêtes des requêtes. Vous devez gérer les entêtes de réponse Server, Date et Content-Type.

La page d’affichage des valeurs instantanées peut être une simple page HTML avec un dispositif de rafraichissement périodique. Prenez soin d’identifier les valeurs en utilisant les chaînes envoyés par les dispositifs micro-contrôleur. Vous pouvez agrémenter l’affichage en utilisant des routines javascript pour simuler des afficheurs 7 ou 14 segments disponibles sur Internet.

La page d’affichage des graphiques doit être à base de javascript utilisant la technologie canvas d’HTML5 (vous pouvez utiliser une bibliothèque). Les données sont récupérées dans les fichiers de sauvegarde et transcrites sous forme de tableaux javascript. Les graphes sont tracés par une routine javascript. Un plus est de permettre de spécifier la plage d’affichage (jour, semaine, mois ou année).

2.4  Le matériel

Chaque binôme reçoit un Arduino mini avec un breakout Ethernet et un capteur GP2Y1010AU0F pour récupérer le taux de particules. Il vous est demandé de concevoir un circuit imprimé pour porter l’Arduino, le breakout, le capteur ainsi que quelques LEDs indicatives. Personne ne vous empêche de réaliser une carte intégrant le micro-contrôleur ATMega328p, le contrôleur Ethernet W5100 et le capteur.

La programmation du micro-contrôleur se fait en utilisant le compilateur avr-gcc. L’algorithme à implanter sur le micro-contrôleur consiste en la lecture des valeurs des capteurs et en leur envoi dans des datagrammes UDP.


Previous Up Next