Capteur de fumée ou de gaz avec Raspberry Pi

Si nous voulons analyser un certain type de gaz avec un Raspberry Pi, nous pouvons le faire très simple avec des capteurs MQ, Il faudra seulement savoir dans tous les cas quel capteur obtenir en fonction des gaz à analyser et c’est tout, Nous allons voir dans cet article comment le connecter et obtenir les valeurs. Comme d'habitude, à la fin, nous sauvegarderons les données obtenues dans une base de données MySQL pour les visualiser à partir de Grafana!

 

Ce que j’ai dit, tout d’abord, il s’agira de savoir quel capteur MQ nous utiliserons, dans cet article nous allons nous appuyer sur un MQ2 qui analyse le Méthane, GPL et fumée, mais il faut savoir que nous avons aussi entre autres le MQ3 pour obtenir Alcoho, Éthanol et fumée, avec le MQ4, nous pourrons obtenir du méthane et du gaz naturel comprimé ou GNC, MQ5 pour le gaz naturel et le GPL, avec le MQ6, nous obtiendrons du gaz GPL et butane, avec le monoxyde de carbone MQ7, avec MQ8 Hydrogen, MQ9 pour le monoxyde de carbone et les gaz inflammables, MA131 pour l’ozone, MQ135 pour le benzène, Alcool et fumée, MQ136 Sulfure d’hydrogène, MQ137 pour l’ammoniac, MQ138 nous donnerait les valeurs du benzène, Toluène, Acétone, Propane, Alcool et formaldéhyde gazeux… et ainsi de suite jusqu’à ce que nous décidions quel capteur bon marché nous allons acquérir pour détecter les gaz qui nous intéressent. Ce que j’ai dit, dans cet article, nous sommes basés sur un MQ-2.

 

 

En dehors du capteur, nous aurons également besoin d’un convertisseur analogique-numérique, J’utilise un MCP3008 et aussi un convertisseur de niveau logique 3.3 à 5V. Nous voyons sur l’image comment connecter le GPIO du Raspberry au capteur. Soit dit en passant, le capteur peut être réglé si nous en avons besoin avec un tournevis, Mais waouh, Généralement pratique, est de tester…

 

 

Et du côté logiciel, supposons que nous ayons un Raspbian qui court, nous avons téléchargé un merveilleux script tutRPi depuis GitHub et avons essayé de l’exécuter, C’est aussi simple que cela:

[Code source]git clone https://github.com/tutRPi/Raspberry-Pi-Gas-Sensor-MQ

cd raspberry-pi-capteur-gaz-mq

python example.py[/Code source]

 

Et si on le modifie un peu… chacun comme il le souhaite et l’aime… Dans mon cas, vous connaissez déjà ce script que je vais exécuter lorsque je démarrerai le Raspberry Pi en utilisant cron, chaque 60 Il va mettre les valeurs qu’il obtient du capteur dans une table dans une base de données. Voyons ensuite comment nous le visualisons avec Grafana… Voici à quoi ressemblerait le script:

[Code source]

De mq importa *
Importer sys, Heure
mq = MQ();
tandis que True:
perc = mq. MQPercentage()
Imprimer perc[« GAS_LPG »]
Imprimer perc[« CO »]
Imprimer perc[« FUMÉE »]

importer MySQLdb
db = MySQLdb.connect(« DIRECCION_IP_SERVIDOR_MYSQL »,« UTILISATEUR »,« MOT DE PASSE »,« BASE_DE_DATOS »)
curseur = db.cursor()
curseur.exécuter(« ""INSÉRER DANS LES GAZ (GPL, CO, fumée) VALEURS (%s, %s, %s) """,( perc[« GAS_LPG »], perc[« CO »], perc[« FUMÉE »]))
db.commit()

temps.sommeil(60)

[/Code source]

 

Cela dit, ce script stocke dans une table appelée gaz qui ont 4 Colonnes, 3 d’entre eux sont des gaz (GPL, CO et fumée) et une autre est la date, Je vous laisse le code au cas où quelqu’un en aurait besoin et j’ai une table identique pour le script précédent:

[Code source]CRÉER UNE TABLE 'GAZ' (
'LPG' FLOAT NULL DEFAULT NULL,
'CO' FLOAT NULL VALEUR PAR DÉFAUT NULL,
'smoke' FLOAT NULL VALEUR NULLE PAR DÉFAUT,
'date' horodatage non null CURRENT_TIMESTAMP PAR DÉFAUT LORS DE LA MISE À JOUR CURRENT_TIMESTAMP
)
COLLATE='latin1_swedish_ci’
MOTEUR=InnoDB
ROW_FORMAT=COMPACT
;[/Code source]

 

Et déjà dans notre Grafana, nous pouvons ajouter un tableau de bord graphique dans un tableau de bord par exemple et faire des requêtes à la base de données MySQL pour dessiner les métriques des gaz que nous analysons. Ça a l’air très cool, Non?? Je vous laisse au cas où vous auriez besoin des requêtes que je fais:

[Code source]SELECT smoke comme valeur, « Fumée" en tant que métrique, UNIX_TIMESTAMP(date) comme time_sec DES GAZ OÙ $__timeFilter(date) Commander par time_sec ASC

SELECT LPG comme valeur, « GPL" en tant que métrique, UNIX_TIMESTAMP(date) comme time_sec DES GAZ OÙ $__timeFilter(date) Commander par time_sec ASC

SELECT CO comme valeur, « Le commandant" en tant que métrique, UNIX_TIMESTAMP(date) comme time_sec DES GAZ OÙ $__timeFilter(date) Commander par time_sec ASC[/Code source]

 

Prêt! J’espère que vous l’avez trouvé intéressant, vous avez déjà vu sur le blog d’autres types de capteurs pour vous connecter à un Raspberry Pi et connaître l’état de notre environnement! à déguster!!!

 

Articles recommandés

Auteur

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, N’hésitez pas à me contacter, J’essaierai de vous aider chaque fois que je le pourrai, Partager, c’est vivre ;) . Profiter des documents!!!

Surveillance d’un NAS QNAP

29 de mai de 2018