Sensibilisation a la maîtrise de l’énergie :
Partie personnel
Introduction
Le rôle de la partie que j’ai à traitée est de transmettre les valeurs d’énergies instantanées
produites ainsi que leurs moyennes lors du challenge vélo au PC superviseur qui se chargera
de les afficher sur le grand écran. Ces valeurs d’énergies m’auront été préalablement fournies.
Sur le plan matériel, mon interaction se limitera au Netmaster, où est embarqué la carte Tini et
le PC superviseur. C’est à cet endroit que s’effectuera le dialogue client/serveur.
Analyse détaillée
Pour mon projet et la mise en place d’un dialogue client/serveur je dois utiliser un protocole
web de type xml-rpc. Xml-rpc est ce qu’on appelle un service web.
Principes des services web
Ils permettent de faire communiquer des programmes tournant sur des machines différentes
et écrits dans des langages de programmation différents.
Ils autorisent l'appel d'une méthode, d'un objet distant en utilisant un protocole web pour
transporter des données au format XML pour formater les échanges. Les services web
fonctionnent sur le principe du client serveur :
Un client appelle les services web.
Le serveur traite la demande et renvoie le résultat au client.
Le client utilise le résultat.
Principes de xml-rpc
1. Un message en xml est construit, il contient un nom de méthode et des paramètres.
2. Ce message est envoyé vers une adresse URL.
3. Cette url correspond à un serveur, qui va analyser le message reçu. il exécute alors la
méthode indiquée en lui donnant les paramètres reçus.
4. Une réponse est ensuite renvoyée : elle indique un message d'erreur ou des valeurs
résultats, toujours sous forme XML.
Cependant les programmeurs n’ont pas besoin d’acquérir des connaissances particulières
sur le langage xml. En effet des composants réalisé en Javascript se chargent de formater
les messages, de faire les appels et de recevoir les réponses. Tout reste donc transparent.
Carte TINI
TINI (Tiny InterNet Interface) est une carte qui permet de développer des applications Java
Embarqué.
L'unité centrale de traitement de TINI est le DS80C390 de Dallas Semiconductor. La carte
TINI possède une gestion de réseau, des interfaces intégrées Ethernet pour relier différents
types de matériel, une interface RS232, une horloge en temps réel, une unique adresse MAC
d'Ethernet, et une protection de batterie pour la RAM.
La ROM Flash contient les bibliothèques, la machine virtuelle de Java et les librairies des
classes Java de TINI.
Rom Flash (Java Runtime Environment) Microcontrôleur
Contrôleur Ethernet SRAM RS232
Horloge temps réel
SRAM non volatile Pile au lithium
Conception détaillée
Diagrammes de séquences
Sur le diagramme de séquence, on peut lire que la classe xmlrpc_client a créée un
objet représentant le serveur, ceci afin d’exécuter les méthodes distantes présentes
dans la classe xmlrpc_transfert. Cette classe est un gestionnaire crée au lancement du
serveur. Elle se situe du même coté que le serveur.
xmlrpc_client:
xmlrpc_serveur:
xmlrpc_transfert:
Création d'un objet représentant le serveur
init()
idvélo
envoyerValeurEnergie()
résultat
sauvegardeMoyenneEnergie()
Diagramme de classes
D’après le diagramme de classes, xmlrpc_client hérite d’XmlRpcClient ceci afin de pouvoir
utiliser toutes les méthodes de la classe mère. Même chose pour xmlrpc_serveur qui hérite de
WebServeur. Il en résulte une plus grande facilité de programmation. A noter qu’il peut y
avoir plusieurs classes xmlrpc_client pour une classe xmlrpc_serveur, et que la classe
xmlrpc_transfert a une même durée de vie que la classe xmlrpc_serveur.
Itérations
xmlrpc_serveur
<<create>>
+ xmlrpc_serveur()
<<create>>
+ xmlrpc_serveur()
xmlrpc_client
<<create>>
+ xmlrpc_client()
+ idvélo : int
+ résultat : boolean
- init()
+ envoyerValeurEnergie()
xmlrpc_transfert
+ TAILLE_BUFFER : int
+ déclareNouveauVélo()
- moyenne_energie : double
- nombreVélosDéclarés: int
- somme_energie: double
- nb_envois : int
+ addNouvelleEnergie()
+ calculMoyenneEnergie()
<<create>>
+ xmlrpc_client()
+ déclareNouveauVélo()
+ addNouvelleEnergie()
+ calculMoyenneEnergie()
XmlRpcClient
execute() execute()
+ résultat : boolean
*
WebServer
setParanoid()
acceptClient()
addHandler()
start()
setParanoid()
se connecte
Créer
start()
1
- init()
+ envoyerValeurEnergie()
1
1
Client Web Embarqué
La première étape dans la réalisation de ce projet a été de maitriser développer un client
WEB pour le module TINI. Ce travail a reposé sur l’API xmlrpc2.0 qui est un projet Apache.
Celle-ci contient le paquetage org.apache.xmlrpc pour la manipulation du protocole XML-
RPC, conformément aux demandes du cahier des charges.
Le principe de fonctionnement réside dans le fait qu’il y est une carte tini par vélo. Le client
se trouve sur la carte. Dès qu’il se connecte au serveur basé sur un pc superviseur, le
serveur lui renvoie un numéro d’identification qui lui sera propre. Ce numéro permettra de
différencier les sources des énergies récupérées par les différents vélos.
Pour créer le serveur, je me suis servi du paquetage org.apache.WebServer. Le serveur à pour
rôle de permettre la connexion du client et de mettre en place un gestionnaire où seront
stockés toutes les méthodes dont a besoin le client.
1 / 11 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !