Système pour plante connecté : Différence entre versions
(→Avancée du travail) |
(→Codes) |
||
(14 révisions intermédiaires par 2 utilisateurs non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
__TOC__ | __TOC__ | ||
<br style="clear: both;"/> | <br style="clear: both;"/> | ||
+ | |||
+ | == Poster == | ||
+ | |||
+ | [[Fichier:Poster_IOT_Casier_Charnet_2.png|1200px|]] | ||
+ | |||
+ | |||
==Contexte & Présentation générale du projet== | ==Contexte & Présentation générale du projet== | ||
− | Le projet se base sur un constat simple : certaines personnes ne savent pas réellement s'occuper d'une plante, que ce soit en pot, ou en terre. L'idée ce projet est de réaliser un système qui mesurerait des éléments essentiels de l'environnement d'une plante et les comparerait à une "base de données". L'utilisateur pourrait alors consulter ces données et serait informé si une de composantes n'est pas dans la plage correspondante à | + | Le projet se base sur un constat simple : certaines personnes ne savent pas réellement s'occuper d'une plante, que ce soit en pot, ou en terre. L'idée ce projet est de réaliser un système qui mesurerait des éléments essentiels de l'environnement d'une plante et les comparerait à une "base de données". L'utilisateur pourrait alors consulter ces données et serait informé par e-mail si une de composantes n'est pas dans la plage correspondante à la plante. |
− | |||
− | |||
==Objectif du projet== | ==Objectif du projet== | ||
Ligne 11 : | Ligne 15 : | ||
L'objectif de notre projet est de réaliser un système connecté dédié à la surveillance des plantes pour les particuliers. | L'objectif de notre projet est de réaliser un système connecté dédié à la surveillance des plantes pour les particuliers. | ||
− | Le système mesurera | + | Le système mesurera deux éléments essentiels de la plante et de son environnement : |
* La luminosité perçue par la plante | * La luminosité perçue par la plante | ||
− | |||
* L'humidité dans la terre | * L'humidité dans la terre | ||
Ligne 20 : | Ligne 23 : | ||
* Capteur d'humidité & luminosité : Chirp! The Plant Watering Alarm <span style="color:green">(Ok, reçu)</span> | * Capteur d'humidité & luminosité : Chirp! The Plant Watering Alarm <span style="color:green">(Ok, reçu)</span> | ||
* Microcontrôleur & communication Wifi : Adafruit HUZZAH ESP8266 <span style="color:green">(Ok, reçu)</span> | * Microcontrôleur & communication Wifi : Adafruit HUZZAH ESP8266 <span style="color:green">(Ok, reçu)</span> | ||
− | * Capteur de température : TMP36 <span style="color:green">(Ok, reçu)</span> | + | * Capteur de température : TMP36 <span style="color:green">(Ok, reçu)</span> (Non utilisé) |
− | * Alimentation : | + | * Alimentation : Batterie |
− | === Architecture matérielle | + | === Architecture matérielle === |
[[Fichier:Architecture_materielle_provisoire.PNG]] | [[Fichier:Architecture_materielle_provisoire.PNG]] | ||
− | |||
− | Le | + | === Acquisition des données du capteur === |
+ | |||
+ | Le microcontrôleur ESP8266 va lire les registres du microcontrôleur de chirp! afin de récupérer les données des capteurs (luminosité & humidité). | ||
+ | |||
+ | Il s'agit d'une connexion I2C. | ||
+ | |||
+ | === Envoi des données au serveur === | ||
+ | |||
+ | Un serveur MQTT (Mosquitto) est installé sur un PC (sous linux). Il se lance au démarrage du PC et gère la connexion entre le microcontrôleur ESP8266 et l'application Python (IHM utilisateur) du PC. | ||
+ | |||
+ | Le code sur l'ESP8266 est un publisher MQTT et l'application Python est un subscriber MQTT. Le microcontrôleur publie donc les données sur le serveur, qui les communiquera à l'application. | ||
+ | |||
+ | === Affichage des données en temps réel === | ||
+ | |||
+ | Une application Python a été développée pour permettre à l'utilisateur de consulter à chaque instant les niveaux d'humidité et de luminosité perçus par la plante. | ||
+ | |||
+ | Les seuils de déclenchement d'envoi de mails sont visualisables directement sur le graphique. | ||
+ | |||
+ | === Envoi de mails === | ||
+ | |||
+ | Le système Internet Of Plants possède sa propre adresse e-mail : internetofplant@gmail.com | ||
+ | |||
+ | Grâce au serveur smtp.gmail.com, le système peut donc envoyer des e-mails à l'utilisateur lorsque les niveaux de luminosité et d'humidité sont sous les seuils tolérables. | ||
− | + | Pour ne pas "spammer" l'utilisateur d'e-mails si celui ci maltraite ses plantes domestiques, | |
− | + | * Pour la luminosité, l'envoi d'e-mails est paramétré sur un front descendant | |
+ | * Pour l'humidité, l'utilisateur peut choisir la fréquence d'envoi des e-mails (uniquement si la mesure est en dessous du seuil) | ||
== Avancée du travail == | == Avancée du travail == | ||
Ligne 64 : | Ligne 89 : | ||
=== Séance n°5 (13/01/2017) === | === Séance n°5 (13/01/2017) === | ||
+ | |||
+ | * Choix de ne pas utiliser de capteur de température | ||
+ | * Envoi des mails OK | ||
+ | * Consultation des graphes en temps réel OK | ||
+ | |||
+ | == Résultats du projet == | ||
+ | |||
+ | Les objectifs du projet ont été atteints. Le système "Internet Of Plants" est capable d'envoyer un e-mail à l'utilisateur lorsque le taux d'humidité et la quantité de lumière reçue sont en dessous des seuils acceptables. | ||
+ | |||
+ | [[Fichier:Mail_eau_plate.PNG]] | ||
+ | |||
+ | L'utilisateur peut également en temps réel accéder aux mesures de luminosité et d'humidité depuis une interface graphique simple et pratique. | ||
+ | |||
+ | |||
+ | [[Fichier:16128030_1068008039994873_1063996068_n.png]] | ||
+ | |||
== Base de données pour culture des plantes == | == Base de données pour culture des plantes == | ||
Ligne 74 : | Ligne 115 : | ||
<!--https://jsutton.co.uk/monitoring-houseplants-with-mqtt-and-the-esp8266/--> | <!--https://jsutton.co.uk/monitoring-houseplants-with-mqtt-and-the-esp8266/--> | ||
+ | |||
+ | == Codes == | ||
+ | |||
+ | La machine qui fait tourner le script pyhton doit faire fonctionner le server Mosquitto. | ||
+ | |||
+ | Server MQTT "Mosquitto" : https://mosquitto.org/download | ||
+ | |||
+ | Codes (script python et programme de l'ESP8266) : [[Média:Codes_InternetOfPlants.zip]] |
Version actuelle datée du 23 janvier 2017 à 01:23
Sommaire
Poster
Contexte & Présentation générale du projet
Le projet se base sur un constat simple : certaines personnes ne savent pas réellement s'occuper d'une plante, que ce soit en pot, ou en terre. L'idée ce projet est de réaliser un système qui mesurerait des éléments essentiels de l'environnement d'une plante et les comparerait à une "base de données". L'utilisateur pourrait alors consulter ces données et serait informé par e-mail si une de composantes n'est pas dans la plage correspondante à la plante.
Objectif du projet
L'objectif de notre projet est de réaliser un système connecté dédié à la surveillance des plantes pour les particuliers.
Le système mesurera deux éléments essentiels de la plante et de son environnement :
- La luminosité perçue par la plante
- L'humidité dans la terre
Choix techniques : matériel et logiciel
- Capteur d'humidité & luminosité : Chirp! The Plant Watering Alarm (Ok, reçu)
- Microcontrôleur & communication Wifi : Adafruit HUZZAH ESP8266 (Ok, reçu)
- Capteur de température : TMP36 (Ok, reçu) (Non utilisé)
- Alimentation : Batterie
Architecture matérielle
Acquisition des données du capteur
Le microcontrôleur ESP8266 va lire les registres du microcontrôleur de chirp! afin de récupérer les données des capteurs (luminosité & humidité).
Il s'agit d'une connexion I2C.
Envoi des données au serveur
Un serveur MQTT (Mosquitto) est installé sur un PC (sous linux). Il se lance au démarrage du PC et gère la connexion entre le microcontrôleur ESP8266 et l'application Python (IHM utilisateur) du PC.
Le code sur l'ESP8266 est un publisher MQTT et l'application Python est un subscriber MQTT. Le microcontrôleur publie donc les données sur le serveur, qui les communiquera à l'application.
Affichage des données en temps réel
Une application Python a été développée pour permettre à l'utilisateur de consulter à chaque instant les niveaux d'humidité et de luminosité perçus par la plante.
Les seuils de déclenchement d'envoi de mails sont visualisables directement sur le graphique.
Envoi de mails
Le système Internet Of Plants possède sa propre adresse e-mail : internetofplant@gmail.com
Grâce au serveur smtp.gmail.com, le système peut donc envoyer des e-mails à l'utilisateur lorsque les niveaux de luminosité et d'humidité sont sous les seuils tolérables.
Pour ne pas "spammer" l'utilisateur d'e-mails si celui ci maltraite ses plantes domestiques,
- Pour la luminosité, l'envoi d'e-mails est paramétré sur un front descendant
- Pour l'humidité, l'utilisateur peut choisir la fréquence d'envoi des e-mails (uniquement si la mesure est en dessous du seuil)
Avancée du travail
Séance n°1 (06/01/2017)
- Choix du sujet
- Détail des fonctionnalités
- Etude de l'architecture matérielle
Séance n°2 (05/01/2017)
- Documentation pour matériel
- Installation serveur MQTT (mosquitto)
- Flash d'un subscriber MQTT sur l'ESP8266
Séance n°3 (10/01/2017)
- Installation capteur de température (câblage & code)
- Première utilisation du capteur d'humidité
- Affichage de la courbe d'humidité sur une application PC en Python
- Paramétrage du RESET du capteur d'humidité
Séance n°4 (12/01/2017)
- Test sur le capteur de température & le capteur de luminosité
- Affichage de plusieurs courbes sur l'application
- Paramétrage de l'envoi de mails de l'ESP8266 vers l'adresse mail utilisateur
- Détermination d'un seuil d'humidité pour l'envoi du mail
Séance n°5 (13/01/2017)
- Choix de ne pas utiliser de capteur de température
- Envoi des mails OK
- Consultation des graphes en temps réel OK
Résultats du projet
Les objectifs du projet ont été atteints. Le système "Internet Of Plants" est capable d'envoyer un e-mail à l'utilisateur lorsque le taux d'humidité et la quantité de lumière reçue sont en dessous des seuils acceptables.
L'utilisateur peut également en temps réel accéder aux mesures de luminosité et d'humidité depuis une interface graphique simple et pratique.
Base de données pour culture des plantes
http://dennerle.com/fr/service/base-de-donnees-des-plantes
Sources et liens utiles
Registres I2C : https://github.com/Miceuz/i2c-moisture-sensor
Codes
La machine qui fait tourner le script pyhton doit faire fonctionner le server Mosquitto.
Server MQTT "Mosquitto" : https://mosquitto.org/download
Codes (script python et programme de l'ESP8266) : Média:Codes_InternetOfPlants.zip