Projet PJEM
Projet de Programmation Java Embarqué

Introduction

Projet de M2PGI option SLE

Année Universitaire 2005-2006

Université Joseph Fourier

 

Contributeur(s) étape : Didier Donsez, Cristina Marin, Mikaël Désertot

Encadrement M2PGI/SLE 2005-2006 : Didier Donsez, Cristina Marin

 

PLAN

1      Objectif 1

2      Agenda. 1

3      Démonstrateur SensorBean. 3

3.1   Services basés capteurs. 3

3.2   Architecture du démonstrateur SensorBean. 4

4      Extensions à réaliser 6

4.1   Coupleur TINI + RFID + JOnAS. 6

4.2   Remontée d'événements RFID.. 7

4.3   Remontée de positions mesurées et d’images capturées. 7

4.4   Portage de la partie passerelle sur carte ARM9. 7

4.5   Consoles dynamiques et pour mobile de la passerelle. 8

5      Matériel 2006. 8

6      Conseils. 8

 

1      Objectif

Les systèmes enfouis sont de moins en moins isolés. Leur intégration avec/dans les systèmes IT est de plus en plus cruciale pour les entreprises e-agiles. Cette UE a pour objectif de maîtriser les technologies clés nécessaires à cette intégration sans couture. Le projet qui sera réalisé dans le cadre de cette UE, met en œuvre quelques unes de ces technologies émergentes comme OSGi, J2ME, J2EE, UPnP, les Web Services (SOAP, WSDL, …) et JMX.

Cette UE comporte 2 parties : la première est constituée de cours et de tutorials pour apprendre les technologies requises pour le projet, la seconde est consacrée au développement d’extensions pour une application de collecte de mesures acquises par des réseaux de capteurs.

L’UE est validée par une soutenance sur la réalisation de cette application lors de la dernière séance.

2      Agenda

Séance

Date

Salle

Nature

Enseignant

Contenu

Liens

1

 

 

CM

Didier Donsez

Introduction  (0H30)

OSGi : concepts, programmation et services (2H30)

Distribution des extensions à réaliser par les binônes

 

http://www-adele.imag.fr/~donsez/cours#osgi

2

 

 

CM

Didier Donsez

J2ME : JVMs et Profiles (1H30)

Services Adhocs (UPnP, JINI, SLP, DNS-SD) (1H30)

http://www-adele.imag.fr/~donsez/cours/j2me.pdf

http://www-adele.imag.fr/~donsez/cours/upnposgi

3

 

 

CM

Didier Donsez

Web Services : Principes et Protocoles (1H30)

JMX (1H30)

http://www-adele.imag.fr/~donsez/cours#ws

http://www-adele.imag.fr/~donsez/cours/jmx.pdf

4

 

F103

TD

Cristina Marin

Tutorial OSGi (3H00)

http://www-adele.imag.fr/~donsez/cours/exemplesosgi

http://www-adele.imag.fr/~donsez/dev/osgi

5

 

F103

TD

Cristina Marin

Tutorial J2ME (2H00)

Tutorial JMX (1H00)

Tutorial J2ME

http://www-adele.imag.fr/~donsez/cours/exemplesj2me

Tutorial JMX

6

 

F103

TD

Cristina Marin

Installation, étude et test de SensorBean (3H00)

http://www-adele.imag.fr/sensorbean

7

 

F103

TD

Cristina Marin

Réalisation d'une extension à SensorBean (3H00)

 

8

 

F103

TD

Cristina Marin

Réalisation d'une extension à SensorBean (3H00)

 

9

 

F103

TD

Cristina Marin

Réalisation d'une extension à SensorBean (1H30)

Démonstration par groupe (1H30)

 

3      Démonstrateur SensorBean

SensorBean est un prototype d’expérimentation des plates-formes d’exécution OSGi et J2EE pour le développement de services basés capteurs (SBC).

3.1   Services basés capteurs

Le développement des capteurs communicants dans de nombreux domaines industriels (industrie manufacturière, domotique/immotique, transport, systèmes d’arme …) et la généralisation d’Internet offrant des possibilités de connections filaires ou sans-fil, simples et à bas coût (bus de terrain, CAN, WiFi, Bluetooth, ZigBee, RFID, GPRS) favorisent la création de nouveaux services à forte valeur ajoutée basés sur l’exploitation des mesures acquises par les capteurs. Ces services basés capteurs (SBC et Sensor-based Services en anglais)) permettent à l’entreprise ou l’organisation d’intégrer dans son système d’information des données du monde réel en « temps réel » non critique (ie.online ou near-realtime) afin d’améliorer son pilotage (gestion de production, logistique) ou d’auditer son fonctionnement par les tiers experts. Par exemple, BMW intègre désormais dans les véhicules (250000 véhicules en 2005) qu’il produit une passerelle communicante permettant d’une part de mettre à jour le logiciel embarqué afin de limiter les retours chez le concessionnaire et d’autre part d’offrir des services (à valeur ajoutée) d’information trafic pour l’assistance à la navigation, de téléchargement de jeux-vidéo, de musiques, de films, …. Un autre exemple est celui de Schneider Electric, fabricant de dispositifs de distribution électrique, qui propose à ses clients un service (payant) d’auditer leur fournisseur d’électrique (respect de la qualité contractuelle) à partir des mesures acquises par les équipements de protection électrique de sa marque.

Les services basés capteurs proposent d’acquérir, collecter, filtrer, agréger, d’analyser et de réagir aux mesures acquises par les capteurs disséminés dans le monde réel de l’organisation ou de l’entreprise. Ces mesures peuvent être aussi variées que l’identifiant RFID (ou code barre) d’un colis lu par un lecteur, la position GPS d’un véhicule ou celle d’un prisonnier en liberté supervisée, la puissance consommée par une chaudière, la température d’une poche de transfusion sanguine, une image infrarouge d’une caméra de surveillance, le niveau de toner d’un photocopieur ou bien encore la fréquence cardiaque d’un soldat au contact de l’ennemi ou celui d’un patient hospitalisée à son domicile (HAD). Ces services s’articulent principalement autour du traitement de flux de mesures acquises en début de chaîne par une myriade de capteurs (Smart Dust).

La nouveauté par rapport aux applications SCADA (ie Supervisory Control And Data Acquisition [http://ref.web.cern.ch/ref/CERN/CNL/2000/003/scada/]) qui pilotent les automates industriels de l’entreprise, est que d’une part le logiciel des SBC est déployé (installé, activé, mis à jour, retiré) en parallèle (voir en concurrence) des applications SCADA qui sont en cours de production et d’autre part, que ces services font appel à des intergiciels (Web Services) et des plates-formes (J2EE) initialement destinés aux applications IT avec une tendance forte vers l’intégration de ces mesures en temps réel (non critique, également appelé near-realtime) dans le système d’information globale de l’entreprise.

Figure 1 : Architecture hiérarchique capteur-passerelle-serveur

3.1   Architecture du démonstrateur SensorBean

SensorBean est une infrastructure de médiation de mesures acquises par des capteurs. Cette infrastructure repose sur des plates formes largement employées et éprouvées pour chacune des parties passerelles et serveurs. Au niveau passerelle, le plate-forme retenue ciblant les matériels embarqués est OSGi (Open Service Gateway initiative). OSGi est un consortium proposant une spécification de plate-forme de déploiement de services logiciels. Basé sur une Architecture Orientée Service (AOS), OSGi fournit la mécanique permettant l’installation, la mise à jour et le retrait des services logiciels.. L’implémentation open source d’OSGi utilisée est Oscar ou Felix. Au niveau serveur, la plate forme retenue est J2EE, plate-forme ouverte de Sun qui a été conçue pour simplifier le développement d'applications d'entreprises, ainsi que leur déploiement et leur intégration. L’implémentation du serveur J2EE utilisée dans notre prototype est JOnAS.

Le prototype réalisé met en œuvre

L’architecture des services sur la plate-forme OSGi peut se décomposer en deux parties. Une partie permettant de gérer la collecte des informations sur les capteurs et une autre effectuant la poussée des mesures traitées et offrant des possibilités de consultation. La première partie s’appuie sur le WireAdmin introduit par la spécification OSGi. Il définit des notions de producteurs (sources de données) et de consommateurs (puits de données) ainsi que la façon de tisser des liens entre eux. La seconde partie permet l’émission de mesures vers des outils externes à la passerelle (mode push) ou offre des possibilités de consultations (mode pull). Deux types d’envois ont été validés en mode push. La passerelle peut se connecter sur une file de message de type JMS et y déposer les mesures collectées et éventuellement pré-traitées. Elle peut aussi envoyer par SMTP sur un serveur mail les informations. Le format XML est largement employé pour ces opérations. Le mode push fournit des Web Services permettant à tout client extérieur de connaître les dernières mesures mises à jour où de collecter un agrégat de certaines valeurs.

La partie émission et consultation est complètement indépendante de l’outil utilisé pour centraliser et rendre persistante toutes les données du fait de l’emploi de standards comme SOAP et XML pour la mise à disposition des données glanées.

Côté serveur J2EE, l’application tire parti des possibilités de la passerelle énoncées précédemment. JOnAS autorise facilement la connexion sur une file JMS pour en traiter les messages et ainsi faire persister les informations qui en sont déballées. Un de ses composants peut aussi prendre en charge le relevé des messages émis par la passerelle vers le serveur mail. Enfin, l’interrogation des Web Services accessibles en façade de la passerelle peut être intégrée directement dans la couche présentation de J2EE, pour une page de consultation des mesures. Cette connexion est réalisée de manière transparente au niveau du PIM. Dans ce cas elle est projetée vers des services Web autorisant une liaison synchrone entre serveur et passerelle, mais n’est pas limitée à cette technologie et pourrait par exemple s’appuyer sur le DDS de l’OMG, UPnP (dans un contexte SOHO (Small Office Home Office), ….

Une fois cette architecture mise en place, plusieurs facilités sont disponibles pour consulter les informations. Les dernières informations collectées peuvent être consultées directement par l’intermédiaire de pages web servies par la passerelle. Comme ses capacités mémoire sont limitées, l’interrogation de la base de données des mesures par l’intermédiaire du serveur J2EE est nécessaire pour un historique plus complet des valeurs ou pour effectuer des traitements complexes sur un grand nombre de données. De la même manière qu’il est possible de consulter les données, il est aussi possible d’envoyer des ordres vers la passerelle. Depuis le serveur et la passerelle, des services sont aussi proposés aux administrateurs pour la gestion des services logiciels disponibles sur les passerelles.

Le site de SensorBean est http://www-adele.imag.fr/sensorbean

Figure 2 : Prototype SensorBean

4      Extensions à réaliser

Le projet de l’UE consiste à développer des extensions au démonstrateur SensorBean.

Chaque binôme d’étudiants est en charge une de ces extensions

4.1   Coupleur TINI + RFID + JOnAS

Objectif :

L’objectif de cette extension est développer sur la carte TINI une application Java (mais non OSGi) qui journalise des identifiants d’étiquettes RFID acquises par un lecteur connecté à la carte par le port série et transmet régulièrement le contenu du journal à un serveur J2EE via un Web Service.

Matériel :

Liens :

4.2   Remontée d'événements RFID

TODO

Objectif : (EventAdmin) + Outils de reporting coté serveur

Matériel :

Liens :

4.3   Remontée de positions mesurées et d’images capturées

TODO

Objectif : à SensorBean (WireAdmin) vers le serveur + Outils de reporting coté serveur

Matériel :

Liens :

4.4   Portage de la partie passerelle sur carte ARM9

TODO

Objectif : bundle USB

Matériel :

Liens :

4.5   Consoles dynamiques et pour mobile de la passerelle

L'administration de ces passerelles peut se faire via des interfaces Web (HTML, HTTP). L'objectif de cette extension est faire évoluer les consoles existantes de supervision d'une passerelle OSGi d’une part en se basant sur des technologies dynamiques (Flash et AJAX)  et d’autre part pour d’autres types de terminaux (ie les téléphones portables et les PDA).

Les extensions à réaliser sont (par ordre de priorité) :

  1. Une console MIDLet J2ME pour téléphone portable
  2. Une console HTML, AJAX et Flash pour les stations de travail
  3. Une console pour PDA OSGi/J2ME avec UPnP
  4. Une console pour PDA WindowsCE/Compact .NET avec UPnP et WebServices

Matériel :

Liens :

Réalisation

5      Matériel 2006

Un certain nombre de matériels réels sont confiés aux étudiants pour les expérimentations :

6      Conseils

Méthodologies et Outils