Outils pour utilisateurs

Outils du site


projets:ocs:20142015:gr1

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
projets:ocs:20142015:gr1 [2015/02/15 15:18] bourgeoisprojets:ocs:20142015:gr1 [2015/02/17 17:37] (Version actuelle) – [INSTRUCTIONS AND REMINDERS] bourgeois
Ligne 20: Ligne 20:
  
  
-==== Scénarii du projet ====+==== Scenarii du projet ====
  
-=== Scénarii météorologie & phénomènes naturels ===+=== Scenarii météorologie & phénomènes naturels ===
  
 == Scénario 1 : == == Scénario 1 : ==
Ligne 40: Ligne 40:
  
  
-=== Scénarii sécurité ===+=== Scenarii sécurité ===
  
 == Scénario 5 : == == Scénario 5 : ==
Ligne 52: Ligne 52:
  
  
-=== Scénarii réseau social - surfeurs connectés ===+=== Scénario réseau social - surfeurs connectés ===
  
 == Scénario 7 : == == Scénario 7 : ==
 Un surfeur détecte un bon spot ou une anomalie et peut transmettre l’information. 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. 
- 
  
  
Ligne 171: Ligne 167:
  
 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. 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 possibleaurait é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.+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. 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.
    
Ligne 177: Ligne 173:
  
   * Embarqué dans l'objet      * Embarqué dans l'objet   
-    * Aucune DLL n'est nécessaire+    * 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.     * PhidgetContainer.wcc : le fichier container embarqué la description des réceptions/émissions possibles faites dans les paragraphes précédents.
    
Ligne 203: Ligne 199:
  
 Les web services sont une partie externe à SharpDevelop, tournant pour notre preuve de concept en local et décomposé en plusieurs sous-services : 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+  * 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) ;     * 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 ;     * /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 ;
Ligne 213: Ligne 209:
     * Fonction POST : crée une nouvelle alerte pour les coordonnées 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.
    
-== Software Distribution of the High Level Service for the user ==+== Distribution logicielle du service de haut niveau pour l'utilisateur ==
  
-// Hereput 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 ; 
 +    * Projet SharpDevelop embarqué : contient la DLL de transformation des résultats des web services en alertes destinées au LEDainsi que le fichier contenant le comportement embarqué de la Phidget.
  
-    * All the instructions on what must be installed before deployment of the developed software (exsoftware stack and WComp): +L'ensemble des instructions pour le fonctionnement de la planche sont contenues dans la dernière catégorie de cette page.
-    * Binary distribution of the developed software for the object and how to install (ex. DLL of new beans and wcc of the WComp the assembly) : +
-    * Sources distribution of the developed software  and how to build the binary distribution (ex. sources of new beans in WComp):+
  
-[[AJOUTER IMAGE SCHEMA RESUME]]+== 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 : 
 + 
 +{{http://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 ==== ==== VIDEO PICTURES and SCREENSHOTS ====
  
Ligne 231: Ligne 238:
 == INSTRUCTIONS : == == INSTRUCTIONS : ==
  
- +  - First, you have to launch the web services server, in the folder "/ConnectedWaveWS" (at the file pom.xml level), using the command :
-  - First, you have to launch the web services server, using the command :+
 <code>mvn clean install tomee:run</code> <code>mvn clean install tomee:run</code>
-  - Then, you have to lauch the phidget container, in the folder "/root/SharpWComp/SharpWCompContainerMonoLinux/", using the command :+  - 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 :
 <code>mono ContainerMonoLinux.exe -r Beans -l PhidgetContainer.wcc -n connectedwave</code> <code>mono ContainerMonoLinux.exe -r Beans -l PhidgetContainer.wcc -n connectedwave</code>
 +contained in /etc/rc.local file, so, you don't have to launch it ;
   - Finally, you have to launch the local part :   - Finally, you have to launch the local part :
     - Open Sharp Develop software ;     - Open Sharp Develop software ;
     - Import the file "LocalContainer.wcc" in a new container file ;     - Import the file "LocalContainer.wcc" in a new container file ;
-    - Bind it to UPnP Services ; +    - Create a new UPnP Wizard Proxy selecting "connectedwave_Functionnal" device in the list and add it into the container ; 
-    - Create a new UPnP Wizard Proxy selecting "connectedwave_Functionnal" device in the list.+    - Make the mapping with the UPnP Proxy : 
 +      - Link from SharkBean to UPnP Proxy : AlertSharkBoolChanged to receiveSharkWSresultBool 
 +      - Link from SurferFallBean to UPnP Proxy : AlertFallBoolChanged to receiveSurferFallWSresultBool 
 +      - Link from WeatherBean to UPnP Proxy : AlertStringChanged to receiveWeatherWSresultString 
 +      - Link from WeatherBean to UPnP Proxy : AlertTsunamiBoolChanged to receiveTsunamiWSresultBool 
 +      - Link from UPnP Proxy to SharkBean : sharkButtonClickEvent to connectToSharkWSpost() 
 +      - Link from UPnP Proxy to SurferFallBean : fallSensorAlertEvent to connectToFallWSpost() 
 +    - Set the timer parameter "Started" to "True" 
 + 
 +The final schema will look like the following: 
 + 
 +{{http://kathyviglietti.com/wp-content/uploads/2015/02/LocalContainer_after_mapping.png}} 
 + 
 +Here are the source files : {{:projets:ocs:20142015:ocs_g1_connectedwave.zip|}}
projets/ocs/20142015/gr1.1424013503.txt.gz · Dernière modification : 2015/02/15 15:18 de bourgeois