Outils pour utilisateurs

Outils du site


projets:ocs:20142015:gr1

Ceci est une ancienne révision du document !


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

Scénarii du projet

Scénarii 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

Scénarii 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énarii réseau social - surfeurs connectés

Scénario 7 :

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

Scénario 8 :

Les capteurs de pression enregistrent des informations que le surfeur peut récupérer.

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 ou des beancons à 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
    • Aucune DLL n'est nécessaire
    • 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

Here, put all the files needed to build, to compile and to deploy all your software developments for the high level service

  • Le projet ConnectedWaveWS : projet Maven contenant les web services ;
  • Projet SharpDevelop Local : projet contenant les Beans et le containeur local ;
  • Fichier containeur SharpDevelop embarqué : simple 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 :

AJOUTER IMAGE SCHEMA RESUME

VIDEO PICTURES and SCREENSHOTS

Waiting for the object…

INSTRUCTIONS AND REMINDERS

INSTRUCTIONS :
  1. First, you have to launch the web services server, using the command :
mvn clean install tomee:run
  1. Then, you have to lauch the phidget container, in the folder “/root/SharpWComp/SharpWCompContainerMonoLinux/”, using the command :
mono ContainerMonoLinux.exe -r Beans -l PhidgetContainer.wcc -n connectedwave
  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. Bind it to UPnP Services ;
    4. Create a new UPnP Wizard Proxy selecting “connectedwave_Functionnal” device in the list.
projets/ocs/20142015/gr1.1424013996.txt.gz · Dernière modification : 2015/02/15 15:26 de bourgeois