Outils pour utilisateurs

Outils du site


Panneau latéral

Accueil

Select other language :


Apprentissage

Enseignements

Enseignements Département Informatique SI5 et Master IFI

Enseignements Département Bâtiment Polytech'Nice

Autres Formations française et étrangère

Activités administratives, Ingénierie et Innovation Pédagogiques

Apprentissage Département Informatique SI5/Master 2 ingénierie informatique EUR DS4H


Recherche

Valorisation de la Recherche

Dépôts Logiciels à l’Agence de Protection des Programme (APP)

Valorisation des résultats de recherche et transfert

Diffusion de la Culture scientifique et Technologique

Communications de presse

Séminaire ENSI Tunis

Pédagogie Innovante

Relations industrielles et socio-économique

Organisation de Manifestations

  • Conférence sur les FabLabs, Alexandre Schneider, Professeur Agrégé en Génie Mécanique, Université de Reims Champagne-Ardenne Web
  • Journées UbiMob'14 Site Web

Animation de la Recherche

U-Santé

Privé

Outils

Sources d'Informations

projets:ocs:20142015:gr1

Projets Objets Connectés et Services (OCS)

Une planche de surf connectée

Groupe 1

Informations principales sur le projet

Nous voulons créer une planche de surf connectée, proposant des services météorologiques et sécuritaire.

Nom des membres du groupe

  • TURCHINI Marie-Catherine (IAM) : turchini@polytech.unice.fr
  • BOURGEOIS Benjamin (IAM) : bbourgeo@polytech.unice.fr
  • MICHEL Alain (IFTS) : alainmichel08@gmail.com
  • BOHL Gautier (IFTS) : gautier.bohl@orange.fr

Scenarii du projet

Scenarii météorologie & phénomènes naturels

Scénario 1 :

Alors qu’il est en train de surfer, un phénomène météorologique dangereux approche. L’information est retransmise au surfeur à l’aide d’une LED et/ou d’un dispositif vibrant et/ou un signal sonore, incitant le surfeur à arrêter son activité.

Scénario 2 :

Alors qu’il est en train de surfer, un phénomène naturel dangereux vient de se produire. L’alerte est transmise au surfeur qui est vivement incité à se retirer (cf Tsunami).

Scénario 3 :

Alerte aux requins. L'alerte peut tout aussi bien provenir d'un service externe comme d'un surfeur. A cette fin, les surfeurs dispose d'un bouton qui leur permettra d'envoyer l'alerte.

Scénario 4 (hors mer) :

Détection des conditions météorologiques et envoi d’alertes au surfeur chez lui :

  • Conditions optimales
  • Conditions changeantes
  • Conditions défavorables

Scenarii sécurité

Scénario 5 :

Après une chute sans remontée sur la planche est déclenché un système de secours à la personne :

  1. Recherche des surfeurs aux alentours pour porter secours (disposant de l’objet)
  2. Envoi d’une alerte au poste de secours
  3. Envoi d’une alerte aux pompiers
Scénario 6 :

Dégradation/Rétablissement de la qualité de l’eau, envoi d’une alerte.

Scénario réseau social - surfeurs connectés

Scénario 7 :

Un surfeur détecte un bon spot ou une anomalie et peut transmettre l’information.

Description de notre objet connecté

Croquis de l'objet

Nous faisons le choix de créer une planche de surf ou de bodyboard aux dimensions réduites, afin d'obtenir non seulement un objet réaliste mais également un élément pouvant venir se greffer à n'importe quel type de planche et demeurant toujours fonctionnel.

Pour l'aspect visuel de l'objet envisagé voici un ensemble d'images qui ont guidé nos collaborateurs de l'Université de Reims :

kathyviglietti.com_wp-content_uploads_2015_01_bodyboard-01_r.jpg kathyviglietti.com_wp-content_uploads_2015_01_bodyboard-02_r.jpg kathyviglietti.com_wp-content_uploads_2015_01_bodyboard-03-2_r.jpg

Une version planche de surf avait aussi été envisagée. Cependant la solution fut rejeté par nos collaborateurs pour des raisons évidentes de réalisation. 3 images illustrant cette proposition figurent aux adresses suivantes pour ne pas surcharger la présente page :

3D - CAO description de l'objet

Voici quelques images du travail réalisé par nos collaborateurs de l'Université de Reims sur la conception 3D de l'objet : kathyviglietti.com_wp-content_uploads_2015_01_cao3_r.jpg kathyviglietti.com_wp-content_uploads_2015_01_cao1_r.jpg

Le fichier de CAO est disponible à l'adresse suivante : http://c.sdbx.co/1z0XGwu

Un schéma étant bien souvent plus parlant que de simples mots, voici une description des différents emplacements et quel matériel ils viendront abriter :

Photographie de l'objet

A des fins de test nos collaborateurs ont effectué une première découpe de l'objet communiquant. L'image ci-dessous présente le résultat de ces premières étapes de conception.

kathyviglietti.com_wp-content_uploads_2015_01_bodyboard_decoupe.jpg

Spécifications matérielles et distribution de l'objet connecté

- Phidget

- Ensemble de LED

- Bracelet possédant un vibreur

- Capteur de pression pour la planche

- Wi-Fi

Une extension possible serait l'ajout d'un bloc permettant l'insertion d'une carte SIM, afin de pouvoir utiliser le réseau GSM en mer. Notre preuve de concept

Spécifications matérielles

- LED : signaler une nouvelle notification au surfeur. Elles peuvent être soit d'informations comme la LED orange qui s'allumera en cas de temps peu favorable mais sans risques, soit d'alerte, elles sont alors rouges et signale au surfeur un danger immédiat.

(Note : affichage des informations avec les LED et un motif par transparence/finesse de la matière)

- Le surfeur possède également un vibreur afin de recevoir les notifications (les LED n'étant pas toujours visibles à contre-jour).

- Le capteur pression intégrer à la planche capte la présence du surfeur, si la pression devient nulle ou quasi-nulle cela signifie que le sportif est tombé à l'eau. Si la durée au cours de laquelle la pression est trop faible dépasse un certain seuil, alors un nouvelle alerte est créée.

Achats
Type reseller Reference Quantity unit price link on the Web page of the product Total price
Phidget SBC1073 Gotronic 25445 1 119,58 € HT http://www.gotronic.fr/art-interface-8-8-8-hub-sbc1073-19807.htm 143,50 € TTC
Batterie WP5-12 Gotronic 09537 1 24,08 € HT http://www.gotronic.fr/art-batterie-wp5-12-5667.htm 28,90 € TTC
Led 5 mm rouge L53IT Gotronic 03035 4 0,13 € HT http://www.gotronic.fr/art-led-5-mm-rouge-l53it-252.htm 0,60 € TTC
Led 5mm orange L51ED Gotronic 03031 1 0,13 € HT http://www.gotronic.fr/art-led-5mm-orange-l51ed-2070.htm 0,15 € TTC
Capteur de force + adaptateur 1131 Gotronic 25539 2 11,92 € HT http://www.gotronic.fr/art-capteur-de-force-adaptateur-1131-12151.htm 28,60 € TTC
Module Wifi pour Raspberry Gotronic 31874 1 9,17 € HT http://www.gotronic.fr/art-module-wifi-pour-raspberry-19662.htm 11,00 € TTC
Vibreur VPM2 Gotronic 25351 2 3,83 € HT http://www.gotronic.fr/art-vibreur-vpm2-12006.htm 9,20 € TTC
Bracelet (pour vibreur)
Dongle Bluetooth CSR 4.0 Gotronic 32952 2 9,13 € HT http://www.gotronic.fr/art-dongle-bluetooth-csr-4-0-21938.htm 21,90 € TTC
Total 243,85 € TTC
Fichier Excel des achats

Spécifications logicielles et distribution de l'objet connecté

Spécifications logicielles

Description de l'interface du périphérique

L'objet embarque le minimum de l'intelligence, à savoir le traitement d'une donnée basique pouvant potentiellement engendrer l'allumage d'une LED ou du vibreur. Ainsi, côté réception notre Phidget peut :

  • Recevoir le résultat du web service météo :
    • 0 : rien à signaler, rien ne s'allume ;
    • 1 : le temps n'est pas optimal, le surfeur doit se méfier. La LED orange s'allume ;
    • 2 : une alerte météo est levée en raison de pluie, d'un vent trop fort ou d'une pression très basse. La LED rouge s'allume et le vibreur s'active ;
    • tsunami : le surfeur n'est pas en sécurité, comme pour une alerte météo de niveau 2, le vibreur s'active et la LED tsunami s'allume également.
  • Recevoir le résultat du web service de chute d'un surfeur (boolean true/false) : la LED rouge d'aide à un surfeur s'allume et le vibreur s'active, indiquant la chute de celui-ci dans un périmètre très proche.
  • Recevoir le résultat du web service d'alerte aux requins (boolean true/false) : la LED rouge d'alerte requin s'allume et le vibreur s'active, indiquant qu'un requin a été signalé dans un périmètre de quelques kilomètres maximum.

Mais il peut également :

  • Émettre une alerte requin, suite à l'appui sur le bouton prévu à cet effet ;
  • Émettre une alerte de chute, si le capteur détecte une absence trop longue du surfeur sur sa planche.

Intégration Bluetooth

Actuellement, la récupération de l'alerte chute d'un surfeur se fait en récupérant la position GPS du surfeur, et le web service a pour rôle de détecter s'il est suffisamment proche d'un autre surfeur en détresse pour pouvoir l'aider. Une extension possible aurait été d'intégrer les dongle Bluetooth à la planche, et de s'en servir afin de détecter la distance avec d'autres surfeurs, équivalent au principe des positions GPS. Cette fonctionnalité était à l'origine prévue d'être réalisée, mais pour des raisons de temps seule la solution par positions GPS n'a été réalisée.

Distribution logicielle de l'objet connecté
  • Embarqué dans l'objet
    • WeatherBeanPhidget.dll : contient les fonctions permettant d'émettre les évènements d'allumage ou extinction des LED météo en fonction du niveau d'alerte reçu du web services (0/1/2). Cela permet d'abonner les LED orange et rouges aux événements leur correspondant plutôt que d'effectuer un traitement de l'indice d'alerte par le biais de composants ;
    • PhidgetContainer.wcc : le fichier container embarqué la description des réceptions/émissions possibles faites dans les paragraphes précédents.
  • Partie locale
    • ConnectedWaveBeans.dll
      • WeatherBean : contient les appels (GET) au web service de météo et d'alerte tsunami
      • SharkBean : contient les appels (GET et POST) au web service d'alerte requin
      • SurferFallBean : contient les appels (GET et POST) au web service d'alerte de chute d'un surfeur
    • LocalContainer.wcc
  • Liens local/embarqué : ils s'effectuent en dehors de la Phidget, au sein de l'orchestrateur, contenu dans le fichier “LocalContainer.wcc”. Il s'agit là de faire le lien entre les connexions au web services mis en place et le containeur embarqué sur la carte, chargé du traitement de ces résultats (allumage/extinction des LED/vibreur).

Le schéma situé dans la partie suivante résume l'ensemble de l'architecture implémentée.

Spécifications du logiciel et de la distribution du service de haut niveau pour l'utilisateur

L'objet n'embarque que l'intelligence pure de traitement de l'information, engendrant ainsi les comportements nécessaires pour les composants électroniques, rien de plus. L'orchestrateur est quant à lui en charge du lien avec les web services, il fait dont le lien entre la partie matérielle et logicielle. C'est au sein de celui-ci que l'on retrouve les beans, contenant les URL au web services ainsi que les possibles conversions de format. Le but étant bien sûr d'envoyer la donnée la plus légère et simple possible, de telle sorte que la Phidget n'ait aucun autre traitement à faire que l'envoi au composant concerné.

Spécifications du logiciel du service de haut niveau pour l'utilisateur

Les web services sont une partie externe à SharpDevelop, tournant pour notre preuve de concept en local et décomposé en plusieurs sous-services :

  • localhost:8080/weather/lat/lon
    • Fonction GET : récupération de la météo (indice 0/1/2) par le biais de l'API http://api.openweathermap.org/, et analyse de certains paramètres essentiels nous permettant de juger s'il s'agit d'un bon temps (alerte niveau 0), d'une météo moyennement favorable (alerte niveau 1) ou bien d'une météo dangereuse pour le surfer (alerte niveau 2) ;
    • /tsunami/lat/lon : fonction GET d'un boolean indiquant s'il y a une alerte tsunami, en fonction des coordonnées GPS passées en paramètre ;
  • localhost:8080/shark/lat/lon
    • Fonction GET d'un boolean indiquant s'il y a une alerte requin, en fonction des coordonnées GPS passées en paramètre ;
    • Fonction POST : crée une nouvelle alerte pour les coordonnées passées en paramètre.
  • localhost:8080/fall/lat/lon
    • Fonction GET d'un boolean indiquant s'il y a une alerte chute d'un surfeur, en fonction des coordonnées GPS passées en paramètre ;
    • Fonction POST : crée une nouvelle alerte pour les coordonnées passées en paramètre.

Les web services auraient pu être programmé en C# et contenu dans l'orchestrateur, cependant, en raison d'un choix initial différent de cette architecture, nous avions déjà crée les services de telles sortes, en Java et hébergés sur un serveur Tomee. Afin de ne pas perdre du temps à remettre en place des web services, cette partie n'a pas été refaite, mais aurait très bien pu l'être.

Distribution logicielle du service de haut niveau pour l'utilisateur
  • Le projet ConnectedWaveWS : projet Maven contenant les web services ;
  • Projet SharpDevelop local : projet contenant les Beans et le containeur local ;
  • Projet SharpDevelop embarqué : contient la DLL de transformation des résultats des web services en alertes destinées au LED, ainsi que le fichier contenant le comportement embarqué de la Phidget.

L'ensemble des instructions pour le fonctionnement de la planche sont contenues dans la dernière catégorie de cette page.

Schéma récapitulatif de l'architecture générale de notre projet

Le schéma ci-dessous résume l'ensemble de l'architecture implémentée pour notre planche de surf connectée :

kathyviglietti.com_wp-content_uploads_2015_02_ocs_schema_general.jpg

== Extension ajoutée au cours de l'examen

Dans le cadre de l'examen nous avons rajouté la possibilité de supprimer des alertes directement depuis l'orchestrateur. A cela s'ajoutent deux services de suppression des alertes : un pour la suppression des alertes requins et l'autre pour la suppression des alertes de chute d'un surfeur. Ces appels sont déclenchés grâce à des boutons dans l'orchestrateur.

Une possible évolution serait d'ajouter une application mobile qui contrôlerait ces appels aux services de suppression en interagissant avec l'orchestrateur.

VIDEO PICTURES and SCREENSHOTS

Waiting for the object…

INSTRUCTIONS AND REMINDERS

INSTRUCTIONS :
  1. First, you have to launch the web services server, in the folder “/ConnectedWaveWS” (at the file pom.xml level), using the command :
mvn clean install tomee:run
  1. Then, you have to turn on the Phidget. The container, in the folder “/root/SharpWCompContainerMonoLinux/”, is automatically launched during the boot, thanks to the command :
mono ContainerMonoLinux.exe -r Beans -l PhidgetContainer.wcc -n connectedwave

contained in /etc/rc.local file, so, you don't have to launch it ;

  1. Finally, you have to launch the local part :
    1. Open Sharp Develop software ;
    2. Import the file “LocalContainer.wcc” in a new container file ;
    3. Create a new UPnP Wizard Proxy selecting “connectedwave_Functionnal” device in the list and add it into the container ;
    4. Make the mapping with the UPnP Proxy :
      1. Link from SharkBean to UPnP Proxy : AlertSharkBoolChanged to receiveSharkWSresultBool
      2. Link from SurferFallBean to UPnP Proxy : AlertFallBoolChanged to receiveSurferFallWSresultBool
      3. Link from WeatherBean to UPnP Proxy : AlertStringChanged to receiveWeatherWSresultString
      4. Link from WeatherBean to UPnP Proxy : AlertTsunamiBoolChanged to receiveTsunamiWSresultBool
      5. Link from UPnP Proxy to SharkBean : sharkButtonClickEvent to connectToSharkWSpost()
      6. Link from UPnP Proxy to SurferFallBean : fallSensorAlertEvent to connectToFallWSpost()
    5. Set the timer parameter “Started” to “True”

The final schema will look like the following:

Here are the source files : ocs_g1_connectedwave.zip

projets/ocs/20142015/gr1.txt · Dernière modification: 2015/02/17 18:37 par bourgeois