Outils pour utilisateurs

Outils du site


cours:oc:gr10_16_17:gr10_16_17

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édentes Révision précédente
Prochaine révision
Révision précédente
cours:oc:gr10_16_17:gr10_16_17 [2017/02/14 13:44]
kbuisson [Groupe :]
cours:oc:gr10_16_17:gr10_16_17 [2017/02/19 22:58] (Version actuelle)
kbuisson [Groupe :]
Ligne 17: Ligne 17:
    ​***Scénario 2 :** En tant que Bob, je veux que mon aquarium ajuste son niveau d'eau de manière autonome    ​***Scénario 2 :** En tant que Bob, je veux que mon aquarium ajuste son niveau d'eau de manière autonome
    ​***Scénario 3:** En tant que Bob, je veux pouvoir spécifier le niveau de nitrate et le volume de mon bac afin de pouvoir rééquilibrer le niveau par ajout d’eau saine dans le bac    ​***Scénario 3:** En tant que Bob, je veux pouvoir spécifier le niveau de nitrate et le volume de mon bac afin de pouvoir rééquilibrer le niveau par ajout d’eau saine dans le bac
-   ​***Scénario 4:** En tant que Bob, je veux pouvoir récupérer suivre l'​état des différents relevés sur mon téléphone en spécifiant la période concernée+   ​***Scénario 4:** En tant que Bob, je veux pouvoir récupérer suivre l'​état des différents relevés sur mon navigateur
  
 === Services proposés: === === Services proposés: ===
Ligne 66: Ligne 66:
   * Ajout de fonctionnalités   * Ajout de fonctionnalités
   * Mise à jour   * Mise à jour
 +\\
 +Notre serveur central WComp exposera une route vers l'​extérieur,​ fournissant les informations des capteurs lors de leurs modifications. Cela permettra de venir connecter un application externe, comme un site web ou une application mobile, qui pourra suivre en temps réel les données des capteurs, fournir des graphiques, envoyer des alertes, etc.
 \\ \\
 {{:​cours:​oc:​gr10_16_17:​archi.jpg?​500|}} {{:​cours:​oc:​gr10_16_17:​archi.jpg?​500|}}
 \\ \\
-**Quelques exemples ​d'​utilisation :** Le niveau d'eau baisse (et passe en dessous du seuil minimum), le serveur WComp détecte une baisse de niveau, et demande à notre aquarium de déclencher l'​éléctro-vanne,​ afin de re-remplir l'​aquarium.+**Exemple ​d'​utilisation :** Le niveau d'eau baisse (et passe en dessous du seuil minimum), le serveur WComp détecte une baisse de niveau, et demande à notre aquarium de déclencher l'​éléctro-vanne,​ afin de remplir l'​aquarium ​à un niveau correcte.
  
 \\ \\
-Dans une seconde étape, nous mettrons en place des webservices pour offrir la possibilité de piloter l'​objet et de récupérer ses données par un serveur intermédiaire qui pourra être implémenté à l'aide de WCOMP. Ce serveur intermédiaire/​orchestrateur pourra nous être utile pour notre client mobile ou pour entretenir un cloud, envoyer des notifications ..+{{:​cours:​oc:​gr10_16_17:​orchest.png?400|}} 
-\\ + 
-L'​ajout de nouvel fonctionnalité se veut facile et indépendant de l'​objet.+ 
 +== Liste des Web Services: ==
 \\ \\
-**Par exemple:** +Nous mettons à dispositions un certain nombre de web services, accessible via le protocole UPnP. 
-Je récupère ​l'​état ​courant ​de l'aquarium, si le niveau ​d'​eau ​est trop bas je génère une requête post pour allumer ​l'électrovalve ​(composition de webservice).+Vous pouvez subscribe aux évènements suivants, qui vous donnerons ​l'​état ​actuel du sensor (isListening) et la dernière valeur récupéree : 
 +  * Temp: Temperature °C de l'eau 
 +  * Ph: Ph de l'​eau 
 +  * Potar: Niveau ​d'​eau ​(potar [0-300]) 
 +  * Light: Lumière ambiante de l'aquarium ​(light lux)
  
-{{:cours:oc:gr10_16_17:orchest.png?​400|}}+Vous pouvez agir sur le système via différents actionneurs et leurs webservices,​ et récupérer l'​état actuel du capteur (on/off). 
 +Vous avez à votre disposition: 
 +  * PumpPour actionner/​éteindre la pompe à eau servant à vider l'​aquarium 
 +  * ServoMotorPour augmenter/​réduire l'​intensité de la lumière ambiante, ou l'​éteindre sans vous préoccupez de son état actuel 
 +  * HeaterPour allumer/​éteindre la thermo-résistance permettant de chauffer l'​eau 
 +  * Valve: Pour ouvrir/​fermer l'​électro-valve permettant de remplir l'​aquarium en eau
  
  
-Nous aurons+== Environnements== 
-  * 1 webservice pour récupérer le status de l'​objet, l'état courant ​de la machine, accessible ​en HTTP GET +\\ 
-  * 1 webservice par actionneur en fournissant ​l'état voulue dans le corps de la requêteaccessible en HTTP POST.+Nous travaillons sur un Raspberry PI 2nous disposons d'un serveur servant d'​orchestrateur du système avec l'aide de WCOMP et d'un serveur web écrit en Python avec la librairie Flask. Le serveur ​en Python fait office de "​cloud"​ et d'​interface web pour l'utilisateuron y stock des données de configuration et mettons à dispositions des graphiques sur l'​évolution de certains capteurs.
  
-Nous n'​avons pas encore décidé entre une implémentation SOAP ou RESTREST est plus facile à mettre en place mais interdis toute découverte automatisée. Nos besoins sont assez simple, récupérer l'​état des différents capteurs et activer/​désactiver un actionneur. Nous verrons au moment voulue ​sur quelle approche partir.+== Installations:​ == 
 +\\ 
 +Pour installer les différents composantsveuillez suivre les consignes disponibles ​sur nos répertoires GitHub.
  
-Exemple ​de HTTP **get** sur **/status**:+  * [[https://​github.com/​Paltoquet/​concordia/​tree/​master]] : Code embarqué ​de la Raspberry 
 +  ​[[https://​github.com/​Paltoquet/​concordia_comp]] : Code WCOMP 
 +  ​[[https://​github.com/​Paltoquet/​concordia_web/​tree/​master]] ​Code du serveur web
  
-{   +Si vous disposez de l'​aquarium:
-   ​***alert**:0, +
-   ​***temperature**:​25,​ +
-   ​***PH**:​7.2,​ +
-   ​***water_level**:​10,​ +
-   ​***light**:​1 +
-}+
  
 +  * Allumer la Raspberry
 +  * Aller dans le répertoire **concord**
 +  * Éxecuter python **upnp_concordia.py**
  
 +Sur votre ordinateur:
  
 +  * Vérifier que les webservices apparaissent dans DeviceSpy
 +  * Lancer le serveur web, **run.bat** disponible sur le répertoire GitHub
 +  * Ouvrez WCOMP, créer un nouveau container et importez **tmp.wcc** (voir GitHub)
 +
 +== Images du projet: ==
 +\\
 +\\
 +{{:​cours:​oc:​gr10_16_17:​concord.jpg?​500|}}
  
cours/oc/gr10_16_17/gr10_16_17.1487076279.txt.gz · Dernière modification: 2017/02/14 13:44 par kbuisson