===== Project Presentation ===== == Name : == **EnergyBox™** == Group Composition : == * Clément Audry * Mathias Cousté === Description de l’objet : === **EnergyBox™** est un petit boîtier qui peut intéresser toutes les personnes dont l’habitation génère de l’énergie. Quelque soit la source d’électricité : éolienne, panneau solaire, pompe à chaleur. Il suffit de relier la source d’énergie à **EnergyBox™** pour que la production d’électricité soit mesurée et que l’habitat soit en phase avec la production d’énergie. Grâce à un petit serveur intégré dans le boîtier, l’utilisateur peut s’y connecter et visualiser tout l’historique de création d’énergie de sa maison. **EnergyBox**™ ne se contente pas de mesurer la production de courant. **EnergyBox™** est intelligent et peut se connecter à tout appareil électroménager de l’habitation pour décider de le mettre en marche uniquement lorsque une production d’énergie suffisante est détectée. ==== Scénario :==== ==Scénario 1 :== Je veux connaître la productivité énergétique de mon éolienne. J'accède à ces informations sur mon EnergyBox. Je veux connaître la consommation de ma machine à laver. J'accède à ces informations sur mon EnergyBox. ==Scénario 2 :== Je veux utiliser des machines qui consomme de l’électricité et dont on peut décaler l’utilisation. Mon moniteur de production électrique enclenche ces machines quand il produit assez d’énergie pour permettre son utilisation. ==Scénario 3 :== Je veux connaître combien j'économise d'argent : * grâce à ma production d'énergie * grâce aux réglages de mon EnergyBox. ==Scénario 4 :== Je veux connaître des métriques propres à ma source d'énergie. Je spécifie la référence de la source d'énergie. EnergyBox prend alors ses données électriques et les convertie en donnée physique. (Ex : la source est une éolienne, je peux obtenir la vitesse du vent grâce à une conversion fréquence->tour/minutes->vitesse) ==== Object Shape : ==== == Name of the contact at Reims : == == Sketch of the Object from Reims : == == Picture of the Object without instruments and electronics :== {{ :projets:ocs:20152016:ocs1:img_0730.jpg?200 |}} == Picture of the Object with instruments and electronics outside on the same table (put some circles and arrows on the picture to show where you're going to integrate all of these) : == {{:projets:ocs:20152016:ocs1:photo_2.jpg?200|}} == Picture of the finished Object (all is integrated): == {{:projets:ocs:20152016:ocs1:photo_3.jpg?200|}} == Demonstration Video : == https://youtu.be/9xPA-1SqZyo https://youtu.be/AEjZlcscScE ==== Hardware specifications : ==== == Hardware List : == |sensor or actuator | links to datasheet or technical document| | | | == quotes and purchases == |title | seller link | french reseller link | french reseller reference id| unit price TTC | Quantity | total price TTC | |LED RGB|Phidgets|http://www.phidgets.com/products.php?product_id=3610|3610_1|3|4|12| |Capteur de tension|Phidgets|http://www.phidgets.com/products.php?category=8&product_id=1135_0|1135_0|19|4|54| |Capteur de courant|Phidgets|http://www.phidgets.com/products.php?category=8&product_id=3500_0|3500_0|40|4|160| |Relais|Phidgets|http://www.phidgets.com/products.php?category=9&product_id=1014_2|1014_2|60|1|60| |PhidgetInterfaceKit 8/8/8|Phidgets|http://www.phidgets.com/products.php?category=0&product_id=1018_2|1018_2|80|1|80| |RaspberryPi|Kubii|http://www.kubii.fr/507-raspberry-pi2-modele-b-1gb-640522710515.html|KUB2461029|42,90|1|42,90| | | | | | |Total Price|409,1| ==== Specifications and interface of the service on the object ==== * bool open(moduleID) : Alimente en énergie le module "moduleID" * bool close(moduleID) : Coupe l'alimentation en énergie du module "moduleID" * double getVoltage(moduleId) : retourne la tension moyenne sur T secondes * double getCurrent(moduleId) : retourne la courant moyenne sur T secondes du module "moduleID" * double getPower(moduleId) : * [] getFrequencies(moduleId) : * void changeLedColor(int color) : Permet d'attribuer la couleur "color" à la LED. ==== Specifications of the interface of high added value service ==== Note : (including a figure on the orchestration between services on objects and information systems) ==== Project Files: ==== Les différentes sources du projet sont situées sur le répertoire github présent à l'adresse suivante : [[https://github.com/mathiascouste/EnergyBox]] == . wcc of the two containers (embedded and on the remote PC) : == Ls .wcc sont présents dans le sous-répertoire EnergyBox/sharpDevelop/Assemblage/ \\ \\ Le containeur embarqué est le fichier EnergyBox.wcc.\\ Le containeur distant est le fichier SmartStuff.wcc\\ == Beans added for the embedded container (for the service on the object) ** (DLL and Source code for each of them) == La solutions regroupant les différents projets (beans et bibliothèques) se situe dans le répertoire EnergyBox/sharpDevelop/EnergyBox/ RPi.I2C.Net est une bibliothèque permettant d'utiliser l'i2c dans le RaspberryPi.\\ CurrentSensor, Led, et Relay sont les beans utilisées dans la partie embarqué.\\ **CurrentSensor** contrôle le capteur de courant. Ce bean lit régulièrement (la régularité est contrôlable) la valeur du courant et émet un événement contenant cette dernière.\\ **Led** contrôle la Led RGB embarquée dans l'objet. Ce bean peut recevoir un événement qui lui fera changer la couleur de la Led. En cas de changement de couleur, un événement contenant la nouvelle couleur est émit.\\ **Relay** contrôle le relais. Ce bean peut recevoir un événement qui lui fait changer l'état du relais et d'ainsi ouvrir/fermer le circuit. En cas de changement d'état, ce bean émet un événement contenant le nouvel état.\\ == Beans added for the remote PC container (for the high added value service on the PC) ** (DLL and Source code for each of them) == La solutions regroupant les différents projets (beans et bibliothèques) se situe dans le répertoire EnergyBox/sharpDevelop/EnergyBox/\\ \\ LedLogic, EdfTempo, StringConverter, Statistics sont des beans utilisés par le containeur distant.\\ **LedLogic** reçoit en entrée des événements sortant l'objet connecté tel que l'état du relais et le courant traversant l'objet. Il émet en sortie des événements pour faire varier la couleur de la led.\\ **EdfTempo** est un bean qui permet d'aller chercher le coût de l'électricité de la journée sur un serveur distant disposant d'une API Rest. Lorsqu'il est actionné, il émet en sortie le prix de l'électricité pour la journée. (Non-fonctionnel).\\ **StringConverter** est un bean utilitaire qui permet de transformée une entrée (chaîne de caractère représentant un nombre entier ou décimal au format décimal) en plusieurs sortie/événement qui sont la valeur de la chaîne au format entier ou double.\\ **Statistics** est un beans qui prend en entrée le prix de l'électricité et les événements de courant venant de l'objet connecté pour stocker les valeurs du courant au fur et à mesure du temps et de connaître en temps réel le coût de la consommation électrique.\\ == Chesklist to install the embedded service on the object == Cloner le répertoire git dans le RaspberryPi.\\ Se positionner dans le répertoire racine du répertoire git.\\ Exécuter la commande ./run.sh $$$ en passant pour argument ($$$) le chemin vers le fichier assemblage wcc à utiliser (EnergyBox.wcc). Ce qui fait : "./run.sh ./sharpDevelop/Assemblage/EnergyBox.wcc".\\ == Chesklist to install the remote service/application on the PC == Cloner le répertoire git sur le PC.\\ Lancer uPnpWizard.\\ Lancer SharpDevelop, créer un nouveau fichier Container, importer le container SmartStuff.wcc, ouvrir la connexion uPnp.\\ Dans uPnpWizard, coupler le container.\\ Dans SharpDevelop, refaire les connexions entre l'EnergyBox récemment découvert et les beans présent dans l'assemblage.\\ ==== Results of the relations with Reims Lycée Eucalyptus (being factual without personal opinion) ==== L'objet a été très bien réalisé et été conforme en tout point avec le plan envoyé. ==== Prospects : ==== == Possible extensions of the object == On peut imaginer rajouter un capteur de tension ce qui permettrait, en étant couplé avec le capteur de courant, de connaître la comsomation de puissance en instantané.\\ Actuellement, l'objet pars du principe que la tension qui l’entoure est un tension alternative de 230V.\\ \\ == Possible extension of the service on the Object == Ajout d'un bean permet de faire remonter les mesures de tension et de puissance.\\ \\ == Possible extension of the high added value Service == Ajouter un moyen de programmer les allumages et éteignage de l'objet.\\ \\ == Possible GUI for data visualization == {{:projets:ocs:20152016:ocs1:mockup.png?200|}}