Uzinagaz : Différence entre versions
(+ catégorie) |
|||
Ligne 1 : | Ligne 1 : | ||
+ | [[Catégorie:Projets]] | ||
+ | |||
= Uzinagaz = | = Uzinagaz = | ||
Version du 31 décembre 2013 à 17:20
Sommaire
Uzinagaz
Uzinagaz est un ystème de mesure de la pollution intérieure.
L’objectif final est de créer un module autonome de mesure des principaux gas indicateurs de la potion intérieure (CO2, COV) et qui soit compatible avec le projet Open Energy Monitor
Premier prototype (2013)
Le premier prototype fonctionnel à été crée fin 2013. Il est constitué :
- d'une carte Raspberry Pi
- d'un module Arduino Uno
- d'une sonde d'humidité et de température DHT22
- d'une sonde de monoxyde de carbone (CO) MQ-7
- d'une sonde de composés organiques volatiles (COV) MQ-135
Câblage du prototype
Les sondes on été installées sur une breadboard et connectées à l'Arduino.
Vous pouvez telecharger le modèle Fritzing de ce montage sur Github.
L'Arduino est elle même connectée via USB à la Raspberry Pi.
Voici une photographie du montage achevé :
Fonctionnement
Sur la Raspberry Pi nous avons installé EmonCMS, le serveur de visualisation des données du projet Open Energy Monitor.
Par ailleurs, nous avons crée un petit programme en python qui tourne sur la Raspberry et qui est chargé de lire les données depuis les sondes sur via l'Arduino puis de les exporter vers EmonCMS.
Les sources de ce programme sont disponibles sur GitHub
Installation
1) Installer le firmware sur l'Arduino
A l'aide de l'IDE Arduino installer le firmware PrototypeDHT disponible sur Github
2) Installer EmonCMS sur la Raspberry Pi
Par exemple pour Raspbian voir ici ou là. Il existe aussi des images de carte SD avec EmonCMS préinstallé. Nous vous conseillons de conserver les données à l'aide de timestore au lieu de MySQL et de désactiver les logs Apache.
3) Installer le programme uzinagaz.py
Connectez vous à la Raspberry Pi par ssh puis installez les paquets Python prérequis :
> sudo apt-get install python-pip > sudo apt-get install python-requests > sudo apt-get install python-serial > sudo pip install arduino-python
Clonez ensuite le projet depuis Github :
> git clone https://github.com/miniwark/uzinagaz.git
4) Modifiez le programme pour y ajouter votre clef EmonCMS
Connectez vous au serveur EmonCMS de votre Raspbery Pi et récupérez y votre clef d'API en lecture et écriture. Éditez uzinagaz.py et remplacez y 'XXXX' par cette clef.
5) Lancer le programme
Placez vous dans le répertoire contenant le script uzinagaz.py et lancez le :
> python uzinagaz.py
Note: A l'heure actuelle ce programme tourne en boucle et n'est pas un démon. Toute déconnexion de ssh tuera le programme.
6) Configurez EmonCMS
Normalement à ce stade, EmonCMS reçoit déjà les données et à automatiquement ajouté des sources, il ne vous reste plus qu'a configurer les flux et à créer un tableau de bord. voyez ce [guide] pour plus de détails.
Principale limitation
Le programme Python ne transforme pas encore les données des détecteurs de gaz en valeur en ppm. Les données envoyées sont pour le moment les données de lecture analogique brute (de 0 à 1024).
Évolutions à venir
Ce premier prototype est très basique et n'est pas encore totalement achevé. Il est prévu d'y apporter un certain nombre d'améliorations :
- calibration des sondes de gaz et calcul de la mesure réelle en ppm
- ajout d'un écran LCD pour afficher directement les données
- amélioration du programme en Python
- ajout d'un script de lancement automatique du programme
- ajout d'une sonde de CO2
- il est probable que la mesure du CO soit abandonnée pour se concentrer sur CO2 et COV
Par la suite, pour les prototypes suivants il est prévu de :
- tester d'autres sondes que la série MQ
- remplacer Python par le langage Arduino
- ajouter un module de transmission des donnée par onde radio (RFM12B)
Dans les faits, le premier prototype va surtout servir à tester différentes sondes, mais par la suite nous comptons principalement nous inspirer du module EmonTH.