======== Smart Aquarium ======== Aquarium intelligent et connecté ! ===== Groupe : ===== Salah, DAHMOUL, salahdahmoul@gmail.com, AL\\ Kevin, BUISSON, buisson.kevin2@gmail.com, AL\\ Thibault, OBER, thibault.ober@gmail.com, IAM\\ == Scénarios d’utilisation: == \\ Définition d’un utilisateur du système : Bob, est un aquariophile, il possède de nombreux aquariums avec divers espèces de poissons qui nécessite tout un traitement approprié (température de l’eau, qualité, …). Bob aimerait que ces aquariums puissent se gérer de manière autonome en prenant en compte les spécificités de chacune de ses espèces de poissons. ***Scénario 1 :** En tant que Bob, je veux pouvoir être averti en cas d’alerte critique dans un des aquariums. ***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 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: === * Gestion automatique du niveau de l’eau à l’aide d’une pompe. * Affichage de la qualité de l’eau à l’aide de différents capteur (ph, turbidité, salinité…). * Gestion de la qualité de l'eau avec l’utilisation de pompe pour ajouter/remplacer de l'eau. * Pouvoir réguler la température de l’eau à l’aide de capteur de température et d’une thermo-résistance. * Afficher un état de l’aquarium sur mon téléphone a la demande. === Equipement TIC : === \\ |**Nom Produit**|** Prix Produit **|**Nb Produit**|** Coût Total **|**URL**| |Détecteur de lumière Grove 101020022| 3,40€ |1| 3,40€ |http://www.gotronic.fr/art-detecteur-de-lumiere-grove-101020022-24457.htm| |Electrode pH ASP200-2-1M| 34,60 € |1| 34,60€ |http://www.gotronic.fr/art-electrode-ph-asp200-2-1m-17602.htm| |Capteur de température Grove 101990019| 0,00€ |1| 0,00€ |http://www.gotronic.fr/art-capteur-de-temperature-grove-101990019-23842.htm| |Module potentiomètre Grove 101020048| 3,20€ |1| 3,20€ |http://www.gotronic.fr/art-module-potentiometre-grove-101020048-19011.htm| |Electrovanne 12 Vcc droite EV12V| 0,00€ |1| 0,00€ |http://www.gotronic.fr/art-electrovanne-12-vcc-droite-ev12v-19587.htm| |Pompe submersible JT180| 0,00€ |1| 0,00€ |http://www.gotronic.fr/art-pompe-submersible-jt180-19363.htm| |Lot de 5 câbles Grove 5 cm| 0,00€ |1| 0,00€ |http://www.gotronic.fr/art-lot-de-5-cables-grove-5-cm-19055.htm| |Lot de 5 câbles Grove 50 cm| 0,00€ |1| 0,00€ |http://www.gotronic.fr/art-lot-de-5-cables-grove-50-cm-22297.htm| |Adaptateur pH/ORP 1130| 0,00€ |1| 0,00€ |http://www.gotronic.fr/art-adaptateur-ph-orp-1130-12112.htm| |Module relais Grove 103020005| 0,00€ |4| 0,00€ |http://www.gotronic.fr/art-module-relais-grove-103020005-19046.htm| |Lampe réglable||1| - € || |Chauffe-eau TianSun TS-608||1| - € || |Voltman VOM511054 Barrette de connexion 2,5-4 mm Noir| 0,00€ |1| 0,00€ |https://www.amazon.fr/Voltman-VOM511054-Barrette-connexion-Noir/dp/B00HZEQBLG/| |Adaptateur USA Vers Europe 10A| 0,00 € |1| 0,00€ |https://www.amazon.fr/Adaptateur-USA-Vers-Europe-10A/dp/B00LPEMPNK| |Expert Line 486971 Bloc 5 prises 10/16A + Interrupteur - 3G1mm2| 0,00€ |1| 0,00€ |https://www.amazon.fr/Expert-Line-486971-prises-Interrupteur/dp/B009G3EQ70/| |||||| |**Total**||| 41,20€ || === Enveloppe de l'objet 3D === {{:cours:oc:gr10_16_17:raspp.png?300|}} {{:cours:oc:gr10_16_17:concord2.png?300|}} === Architecture du projet === \\ Nous comptons réaliser un composant par capteurs/actionneurs. \\ Les composants communiqueront avec notre serveur WComp en utilisant le protocole UPnP. Ces messages permettront de maintenir à jour le status courant de l'objet et de déclencher les actionneurs si nécessaire. \\ Notre objet connecté se veut autonome, mais la partie intelligente est externalisée sur le serveur WComp. Ainsi, rien n'est figé dans l'objet, qui ne se contente que de fournir les informations sur l'état des capteurs, et des méthodes permettant d'activer les actionneurs. \\ La partie intelligente déportée sur un serveur externe fournit un certain nombre d'avantages : * Maintenance * Ajout de fonctionnalités * 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|}} \\ **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. \\ {{:cours:oc:gr10_16_17:orchest.png?400|}} == Liste des Web Services: == \\ Nous mettons à dispositions un certain nombre de web services, accessible via le protocole UPnP. 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) 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: * Pump: Pour actionner/éteindre la pompe à eau servant à vider l'aquarium * ServoMotor: Pour augmenter/réduire l'intensité de la lumière ambiante, ou l'éteindre sans vous préoccupez de son état actuel * Heater: Pour 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 == Environnements: == \\ Nous travaillons sur un Raspberry PI 2, nous 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'utilisateur, on y stock des données de configuration et mettons à dispositions des graphiques sur l'évolution de certains capteurs. == Installations: == \\ Pour installer les différents composants, veuillez suivre les consignes disponibles sur nos répertoires GitHub. * [[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: * 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|}}