Index général
- Outils
- Références
- Tuyaux
This is an old revision of the document!
La plate-forme SensApp (http://sensapp.modelbased.net/) est développée en collaboration avec le laboratoire SINTEF (Oslo, Norvège). Cette plateforme permet la collecte d'informations en provenance de capteurs (humidité, température, présence, vitesse, …).
A l'heure actuelle, la plateforme ne dispose pas d'interface de recherche. Il est fastidieux pour un utilisateur de retrouver le capteur qui l'intéresse, car les recherche se font par nom. Par exemple: “osl/forsk/4/C/444/humidity” pour accéder au capteur d'humidité installé dans le bureau C444 situé au 4ème étage du bâtiment “Forskningsveien 1” à Oslo.
Ces capteurs peuvent être visualisés en utilisant différents composants graphiques en fonction du type d'informations remontées par les capteurs. Il existe aujourd'hui une interface graphique permettant d'associer un capteur à une visualisation, néanmoins nous aimerions améliorer …
Ce sujet présente donc plusieurs sous-projets exposés ci-après
Le choix des technologies….
- html/JS - pour la BD? MongoDB connecté à une BD existante avec des liens par URL - Ils doivent savoir utiliser des services REST et en écrire un en java.
JERSEY : librairie pour faire des web services REST
Comme serveur web on peut utiliser JETTY
Données sur les capteurs :
Vous réaliserez un service web REST en Java qui aura pour rôle entre autre d'accéder à la base de donnée de “sensors” distantes et de compléter ces informations par vos propres informations stockées sur votre propre base de donnée. A priori nous utiliserons, si vous en avez les capacités et le voulez, http://www.mongodb.org/.
Accès aux services :
Le projet intègre une part d'apprentissage de concepts, standards, et technologies. Cette part du travail sera planifiée et fera probablement l'objet de quelques productions pour faciliter l'accès à ces informations ultérieurement par d'autres développeurs.
https://github.com/SINTEF-9012/sensapp
https://github.com/SINTEF-9012/sensapp/tree/master/net.modelbased.sensapp.service.database.raw
https://github.com/SINTEF-9012/sensapp/tree/master/net.modelbased.sensapp.service.dispatch
https://github.com/SINTEF-9012/sensapp/tree/master/net.modelbased.sensapp.service.notifier
https://github.com/SINTEF-9012/sensapp/tree/master/net.modelbased.sensapp.service.registry
Attention ces sous-projets ne sont pas complètement indépendants. Des rapprochements entre les sous-groupes seront envisagés dès que possible, en effet ils se complètent.
Un découpage dans le temps sera fourni ultérieurement qui stipulera les premières étapes, puis en fonction de vos avancés chacun des sujets pourra être réajusté pour mieux répondre aux besoins concrets du SINTEF.
SensApp supporte la possibilité d'ajouter des tags (paires clés-valeurs) aux capteurs. Le projet tutoré consistera en (i) la caractérisation des tags nécessaire à l'identification des capteurs en tenant compte de l'existant, (ii) l'implémentation d'un mécanisme de recherche sur ces tags et enfin (iii) en la mise en place d'une interface Web permettant d'exposer la fonctionnalité de recherche.
Ce projet inclut l'analyse de la notion de capteur et la caractérisation des informations pertinentes pour un capteur.
Vous prendrez également en compte les propriétés suivantes sur les capteurs
Si vous avancez bien, vous vous intéresserez aux capteurs composites, qui correspondent à un assemblage de capteurs et exposent donc plusieurs informations simultanées.
Artefacts attendus :
Il s'agit de permettre à un utilisateur d'enregistrer un nouveau capteur en fonction de son type (humidité, …) et de sa position dans un bâtiment, … Vous étudierez les solutions permettant de visualiser un bâtiment et de localiser un élément dans le bâtiment. Une autre version sera d'étudier la visualisation de capteurs sur des cartes comme par exemple les capteurs placés dans les rivières, …
Vous prévoirez la possibilité de créer de nouveaux types de capteurs (niveau d'eau, luminosité, son, …) et de leur associer des icones. Attention dans un même lieu un grand nombre de capteurs peuvent être présents.
Artefacts attendus :
Vous étudierez les algorithmes de recherche existant et se basant sur les notions de thesaurus. Notre objectif sera de fournir une interface de recherche de sensor dans laquelle au lieu de nommer les caractéritiques, vous utiliserez des termes et aiderez l'utilisateur à affiner sa recherche, par exemple : “humidity & office & 4 floor” ou bien “C444 & humidity level”
Artefacts attendus :
Option : l'internationalisation de l'interface et du vocabulaire pourrait avantageusement être étudiée.
A partir des informations connues sur un capteur, et une base de composants d'affichage (Jauges, cartes, Courbes,….) vous proposerez automatiquement les afficheurs possibles pour un capteur donné. En particulier, vous prendrez en compte les échelles de mesure pour éliminer des composants mal adaptés…
Vous pourrez aussi traiter le flou dans la correspondance : par exemple pour une localisation, une jauge n'a pas de sens, peut être une courbe mais une carte de chaleur ou une carte ou une street view ont vraiment du sens.
Une évolution particulièrement intéressante serait de prévoir la visualisation de plusieurs capteurs sur un même afficheur, par exemple des courbes ou une carte.
Artefacts attendus :