Table des matières:

Un moniteur de qualité de l'air IoT à faible coût basé sur RaspberryPi 4: 15 étapes (avec photos)
Un moniteur de qualité de l'air IoT à faible coût basé sur RaspberryPi 4: 15 étapes (avec photos)

Vidéo: Un moniteur de qualité de l'air IoT à faible coût basé sur RaspberryPi 4: 15 étapes (avec photos)

Vidéo: Un moniteur de qualité de l'air IoT à faible coût basé sur RaspberryPi 4: 15 étapes (avec photos)
Vidéo: 52 IoT - Retour d'expériences 2024, Juillet
Anonim
Un moniteur de qualité de l'air IoT à faible coût basé sur RaspberryPi 4
Un moniteur de qualité de l'air IoT à faible coût basé sur RaspberryPi 4
Un moniteur de qualité de l'air IoT à faible coût basé sur RaspberryPi 4
Un moniteur de qualité de l'air IoT à faible coût basé sur RaspberryPi 4
Un moniteur de qualité de l'air IoT à faible coût basé sur RaspberryPi 4
Un moniteur de qualité de l'air IoT à faible coût basé sur RaspberryPi 4
Un moniteur de qualité de l'air IoT à faible coût basé sur RaspberryPi 4
Un moniteur de qualité de l'air IoT à faible coût basé sur RaspberryPi 4

Santiago, au Chili, lors d'une urgence environnementale hivernale ont le privilège de vivre dans l'un des plus beaux pays du monde, mais malheureusement, tout n'est pas rose. Pendant la saison hivernale, le Chili souffre beaucoup de la contamination de l'air, principalement en raison des matières particulaires telles que la poussière et le smog.

En raison du froid, dans le sud, la contamination de l'air est principalement due aux facteurs à base de bois et à Santiago (principale capitale au centre du pays) mélangée aux industries, aux voitures et à sa situation géographique unique entre 2 immenses chaînes de montagnes.

De nos jours, la pollution de l'air est un gros problème dans le monde entier et dans cet article, nous allons explorer comment développer un moniteur de qualité de l'air maison à bas prix, basé sur un Raspberry Pi. Si vous souhaitez en savoir plus sur la qualité de l'air, veuillez visiter le projet « Indice mondial de la qualité de l'air ».

Fournitures

  • Framboise Pi 4
  • 1SDS011 - Capteur de détection de qualité de l'air laser pm2.5 de haute précision
  • Boite en plastique

Étape 1: Particules (PM): qu'est-ce que c'est ? Comment s'envole-t-il ?

Particules (PM): qu'est-ce que c'est ? Comment s'envole-t-il ?
Particules (PM): qu'est-ce que c'est ? Comment s'envole-t-il ?

Ainsi, pour comprendre la pollution ou la contamination de l'air, nous devons étudier les particules qui y sont liées, également appelées particules. En regardant les graphiques de la section précédente, nous pouvons observer qu'ils mentionnent les PM2,5 et les PM10. Donnons un rapide aperçu de cela.

PM signifie matière particulaire (également appelée pollution particulaire): le terme désignant un mélange de particules solides et de gouttelettes liquides présentes dans l'air. Certaines particules, telles que la poussière, la saleté, la suie ou la fumée, sont suffisamment grosses ou sombres pour être vues à l'œil nu. D'autres sont si petits qu'ils ne peuvent être détectés qu'à l'aide d'un microscope électronique. Les particules sont disponibles dans une large gamme de tailles. Les particules d'un diamètre inférieur ou égal à 10 micromètres sont si petites qu'elles peuvent pénétrer dans les poumons, provoquant potentiellement de graves problèmes de santé. Dix micromètres, c'est moins que la largeur d'un seul cheveu humain.

La pollution particulaire comprend les particules de poussière grossière (PM10): particules inhalables, dont le diamètre est généralement de 10 micromètres et moins. Les sources comprennent les opérations de concassage ou de broyage et la poussière soulevée par les véhicules sur les routes. Particules fines (PM2,5): fines particules inhalables, dont le diamètre est généralement de 2,5 micromètres et moins. Les particules fines sont produites à partir de tous les types de combustion, y compris les véhicules à moteur, les centrales électriques, le chauffage au bois résidentiel, les incendies de forêt, le brûlage agricole et certains processus industriels. Vous pouvez en savoir plus sur les particules sur le site de l'EPA: The United States Environmental Protection Agency

Étape 2: Pourquoi est-il important de se soucier de ces particules ?

Pourquoi est-il important de se soucier de ces particules ?
Pourquoi est-il important de se soucier de ces particules ?

Comme décrit par GERARDO ALVARADO Z. dans son travail à l'Université du Chili, les études d'épisodes de forte pollution de l'air dans la vallée de la Meuse (Belgique) en 1930, Donora (Pennsylvanie) en 1948 et Londres en 1952 ont été les premières sources documentées qui ont lié la mortalité avec contamination particulaire (Préndez, 1993). Les progrès dans l'étude des effets de la pollution de l'air sur la santé des personnes ont déterminé que les risques pour la santé sont causés par les particules inhalables, en fonction de leur pénétration et de leur dépôt dans différentes sections du système respiratoire, et de la réponse biologique aux matériaux déposés.

Les particules les plus épaisses, environ 5 m, sont filtrées par l'action conjointe des cils du passage nasal et de la muqueuse qui recouvre la cavité nasale et la trachée. Des particules d'un diamètre compris entre 0,5 et 5 µm peuvent se déposer dans les bronches et même dans les alvéoles pulmonaires, cependant, elles sont éliminées par les cils des bronches et des bronchioles au bout de quelques heures. Les particules inférieures à 0,5 m peuvent pénétrer profondément jusqu'à ce qu'elles se déposent dans les alvéoles pulmonaires, restant de quelques semaines à plusieurs années, car il n'y a pas de mécanisme de transport mucociliaire qui facilite l'élimination. La figure suivante montre la pénétration des particules dans le système respiratoire en fonction de leur taille.

Ainsi, repérer les deux types de particules (PM2.5 et PM10) est très important et la bonne nouvelle est que les deux sont lisibles par un capteur simple et pas cher, le SDS011.

Étape 3: Le capteur de particules - SDS011

Le capteur de particules - SDS011
Le capteur de particules - SDS011
Le capteur de particules - SDS011
Le capteur de particules - SDS011

La surveillance de la qualité de l'air est une science bien connue et établie qui a commencé dans les années 80. A cette époque, la technologie était assez limitée, et la solution utilisée pour quantifier la pollution de l'air complexe, lourde et vraiment coûteuse.

Heureusement, de nos jours, avec les technologies les plus récentes et les plus modernes, les solutions utilisées pour la surveillance de la qualité de l'air deviennent non seulement plus précises mais aussi plus rapides à mesurer. Les appareils sont de plus en plus petits et coûtent beaucoup plus abordables que jamais.

Dans cet article, nous allons nous concentrer sur un capteur de particules, capable de détecter la quantité de poussière dans l'air. Alors que la première génération était juste capable de détecter la quantité d'opacité, les capteurs les plus récents comme le SDS011 d'INOVAFIT, une entreprise dérivée de l'Université de Jinan (dans le Shandong), peuvent désormais détecter les PM2,5 et PM10.

Avec sa taille, le SDS011 est probablement l'un des meilleurs capteurs en termes de précision et de prix (moins de 40,00 USD).

  • Valeurs mesurées: PM2,5, PM10
  • Plage: 0 à 999,9 g/m³
  • Tension d'alimentation: 5 V (4,7 à 5,3 V)
  • Consommation électrique (travail): 70mA±10mA
  • Consommation électrique (laser et ventilateur en mode veille): < 4 mA
  • Température de stockage: -20 à +60C
  • Température de travail: -10 à +50C
  • Humidité (stockage): Max. 90%
  • Humidité (travail): Max. 70% (la condensation de vapeur d'eau fausse les lectures)
  • Précision: 70% pour 0.3μm et 98% pour 0.5μm
  • Taille: 71x70x23 mm
  • Certifications: CE, FCC, RoHS

Le SD011 utilise le PCB comme un côté du boîtier, ce qui permet de réduire son coût. La diode réceptrice est montée côté PCB (ceci est obligatoire car tout bruit entre la diode et le LNA doit être évité). L'émetteur laser est monté sur le boîtier en plastique et connecté au PCB via un fil flexible.

En bref, Nova Fitness SDS011 est un capteur de poussière laser professionnel. Le ventilateur monté sur le capteur aspire automatiquement l'air. Le capteur utilise un principe de diffusion de la lumière laser* pour mesurer la valeur des particules de poussière en suspension dans l'air. Le capteur fournit des lectures de haute précision et fiables des valeurs PM2,5 et PM10. Tout changement dans l'environnement peut être observé presque instantanément un temps de réponse court inférieur à 10 secondes. Le capteur en mode standard rapporte la lecture avec un intervalle d'une seconde.

* Principe de diffusion laser: la diffusion de la lumière peut être induite lorsque des particules traversent la zone de détection. La lumière diffusée est transformée en signaux électriques et ces signaux seront amplifiés et traités. Le nombre et le diamètre des particules peuvent être obtenus par analyse car la forme d'onde du signal a certaines relations avec le diamètre des particules.

Étape 4: Mais comment le SDS011 peut-il capturer ces particules ?

Mais comment le SDS011 peut-il capturer ces particules ?
Mais comment le SDS011 peut-il capturer ces particules ?
Mais comment le SDS011 peut-il capturer ces particules ?
Mais comment le SDS011 peut-il capturer ces particules ?

Comme indiqué précédemment, le principe utilisé par SDS011 est la diffusion de la lumière ou mieux, la diffusion dynamique de la lumière (DLS), qui est une technique en physique qui peut être utilisée pour déterminer le profil de distribution de taille de petites particules en suspension ou de polymères en solution. Dans le cadre du DLS, les fluctuations temporelles sont généralement analysées au moyen de la fonction d'intensité ou d'auto-corrélation photonique (également appelée spectroscopie de corrélation photonique ou diffusion quasi-élastique de la lumière). Dans l'analyse du domaine temporel, la fonction d'autocorrélation (ACF) décroît généralement à partir de zéro temps de retard, et une dynamique plus rapide due à des particules plus petites conduit à une décorrélation plus rapide de la trace d'intensité diffusée. Il a été montré que l'intensité ACF est la transformée de Fourier du spectre de puissance, et donc les mesures DLS peuvent être également bien réalisées dans le domaine spectral.

Ci-dessus, une diffusion dynamique hypothétique de la lumière de deux échantillons: des particules plus grosses (comme les PM10) en haut et des particules plus petites (comme des PM2,5) en bas. Et en regardant à l'intérieur de notre capteur, nous pouvons voir comment le principe de diffusion de la lumière est mis en œuvre.

Le signal électrique capturé sur la diode va à l'amplificateur à faible bruit et à partir de là pour être converti en un signal numérique via un ADC et vers l'extérieur via un UART.

Pour en savoir plus sur SDS011 sur une véritable expérience scientifique, veuillez consulter les travaux de 2018 de Konstantinos et al, Development and On-Field Testing of Low-Cost Portable System for Monitoring PM2.5 Concentrations.

Étape 5: L'heure du spectacle

Afficher l'heure!
Afficher l'heure!
Afficher l'heure!
Afficher l'heure!

Faisons une pause sur toute cette théorie et concentrons-nous sur la façon de mesurer les particules à l'aide d'un Raspberry Pi et du capteur SDS011

La connexion matérielle est en fait très simple. Le capteur est vendu avec un adaptateur USB pour interfacer les données de sortie de son UART 7 broches avec l'un des connecteurs USB standard du RPi.

Brochage SDS011:

  • Broche 1 - non connectée
  • Broche 2 - PM2.5: 0–999 g/m³; Sortie PWM
  • Broche 3–5V
  • Broche 4 - PM10: 0–999 g/m³; Sortie PWM
  • Broche 5 - GND
  • Broche 6 - RX UART (TTL) 3.3V
  • Broche 7 - TX UART (TTL) 3,3 V

Pour ce tutoriel, j'utilise pour la première fois un tout nouveau Raspberry-Pi 4. Mais bien sûr, tout modèle précédent fonctionnera également très bien.

Dès que vous connectez le capteur sur l'un des ports USB du RPi, vous commencerez automatiquement à écouter le son de son ventilateur. Le bruit est un peu gênant, alors peut-être devriez-vous le débrancher et attendre d'avoir tout réglé avec SW.

La communication entre le capteur et le RPi se fera via un protocole série. Des détails sur ce protocole peuvent être trouvés ici: Protocole de contrôle du capteur de poussière laser V1.3. Mais pour ce projet, le mieux est d'utiliser une interface python pour simplifier le code à développer. Vous pouvez créer votre propre interface ou en utiliser certaines disponibles sur Internet, comme celles de Frank Heuer ou d'Ivan Kalchev. Nous utiliserons le dernier, qui est très simple et fonctionne très bien (vous pouvez télécharger le script sds011.py depuis son GitHub ou le mien).

Le fichier sds011.py doit se trouver dans le même répertoire que celui où vous créez votre script.

Pendant la phase de développement, j'utiliserai un Jupyter Notebook, mais vous pouvez utiliser n'importe quel IDE que vous aimez (Thonny ou Geany, par exemple, qui font partie du paquet Raspberry Pi Debian sont tous les deux très bons).

Commencez à importer sds011 et à créer votre instance de capteur. SDS011 fournit une méthode de lecture à partir du capteur à l'aide d'un UART.

à partir de l'importation sds011 *

capteur = SDS011("/dev/ttyUSB0")

Vous pouvez allumer ou éteindre votre capteur avec la commande sleep:

pmt_2_5, pmt_10 = sensor.query()

Attendre au moins 10 secondes pour la stabilisation avant les mesures et au moins 2 secondes pour en démarrer une nouvelle (voir code ci-dessus).

Et c'est tout ce que vous devez savoir en termes de SW pour utiliser le capteur. Mais approfondissons le contrôle de la qualité de l'air ! Au début de cet article, si vous avez exploré les sites qui donnent des informations sur la qualité ou la qualité de l'air, vous devez réaliser que les couleurs sont associées à ces valeurs. Chaque couleur est un Index. Le plus connu est l'AQI (Air Quality Index), utilisé aux États-Unis et dans plusieurs autres pays.

Étape 6: Indice de qualité de l'air - IQA

Indice de qualité de l'air - IQA
Indice de qualité de l'air - IQA
Indice de qualité de l'air - IQA
Indice de qualité de l'air - IQA
Indice de qualité de l'air - IQA
Indice de qualité de l'air - IQA

L'IQA est un indice permettant de rendre compte de la qualité de l'air au quotidien. Il vous indique à quel point votre air est propre ou pollué et quels sont les effets sur la santé associés qui pourraient vous inquiéter. L'IQA se concentre sur les effets sur la santé que vous pouvez ressentir quelques heures ou quelques jours après avoir respiré de l'air pollué.

L'EPA (Agence de protection de l'environnement des États-Unis), par exemple, calcule l'IQA non seulement pour la pollution particulaire (PM2,5 et PM10) mais aussi pour les autres principaux polluants atmosphériques réglementés par le Clean Air Act: ozone troposphérique, monoxyde de carbone, le dioxyde de soufre et le dioxyde d'azote. Pour chacun de ces polluants, l'EPA a établi des normes nationales de qualité de l'air pour protéger la santé publique. Voir l'image ci-dessus avec les valeurs AQI, les couleurs et le message de santé associés.

Comme commenté précédemment, ces valeurs et couleurs d'IQA sont liées à chacun des agents polluants, mais comment leur associer les valeurs générées par les capteurs ? Une table supplémentaire les relie tous comme indiqué ci-dessus.

Mais bien sûr, cela n'a aucun sens d'utiliser une telle table. Au final, c'est un algorithme mathématique simple qui fait le calcul. Pour cela, nous allons importer la librairie pour convertir entre la valeur AQI et la concentration en polluant (µg/m³): python-aqi.

Installez la bibliothèque en utilisant PIP et faites un test (voir code ci-dessus)

pip installer python-aqi

Et qu'en est-il du Chili ?

Au Chili, un indice similaire est utilisé, l'ICAP: Air Quality Index for Breathable Particles. Un décret suprême 59 du 16 mars 1998, du Secrétariat général du ministère de la Présidence de la République, établit dans son article 1, lettre g) que les niveaux qui définissent l'ICA pour les matières particulaires respirantes, ICAP.

Les valeurs varieront linéairement entre les sections, la valeur 500 correspondrait à la valeur limite au-delà de laquelle il y aurait un risque pour la population lorsqu'elle serait exposée à ces concentrations. Selon les valeurs ICAP, des catégories ont été établies qui qualifient les niveaux de concentration de MP10 auxquels les personnes ont été exposées.

Étape 7: enregistrement des données localement

Enregistrement des données localement
Enregistrement des données localement
Enregistrement des données localement
Enregistrement des données localement
Enregistrement des données localement
Enregistrement des données localement

À ce stade, nous avons tous les outils pour capturer les données du capteur et également les convertir pour une valeur plus « lisible », qu'il s'agit de l'indice AQI.

Créons une fonction pour capturer ces valeurs. Nous allons capturer 3 valeurs en séquence en prenant la moyenne d'entre elles:

def get_data(n=3):

sensor.sleep(sleep=False) pmt_2_5 = 0 pmt_10 = 0 time.sleep(10) pour i dans la plage (n): x = sensor.query() pmt_2_5 = pmt_2_5 + x[0] pmt_10 = pmt_10 + x[1] time.sleep(2) pmt_2_5 = round(pmt_2_5/n, 1) pmt_10 = round(pmt_10/n, 1) sensor.sleep(sleep=True) time.sleep(2) return pmt_2_5, pmt_10 Ci-dessus, vous pouvez voir le résultat du test. Faisons également une fonction pour convertir les valeurs numériques de PM en index AQI

def conv_aqi(pmt_2_5, pmt_10):

aqi_2_5 = aqi.to_iaqi(aqi. POLLUTANT_PM25, str(pmt_2_5)) aqi_10 = aqi.to_iaqi(aqi. POLLUTANT_PM10, str(pmt_10)) renvoie aqi_2_5, aqi_10 au-dessus du résultat d'un test avec les deux fonctions. Mais que faire d'eux ? La réponse la plus simple est de créer une fonction pour enregistrer les données capturées, en les sauvegardant sur un fichier local

def save_log():

avec open("VOTRE CHEMIN ICI/air_quality.csv", "a") comme journal: dt = datetime.now() log.write("{}, {}, {}, {}, {}\n". format(dt, pmt_2_5, aqi_2_5, pmt_10, aqi_10)) log.close() Avec une seule boucle, vous pouvez enregistrer des données à des bases régulières dans votre fichier local, par exemple, chaque minute

tandis que (Vrai):

pmt_2_5, pmt_10 = get_data() aqi_2_5, aqi_10 = conv_aqi(pmt_2_5, pmt_10) essayez: save_log() sauf: print ("[INFO] Échec de la journalisation des données") time.sleep(60) Toutes les 60 secondes, l'horodatage ainsi que les données seront « ajoutés » à ce fichier, comme nous pouvons le voir ci-dessus.

Étape 8: Envoi de données à un service cloud

Envoi de données à un service cloud
Envoi de données à un service cloud

À ce stade, nous avons appris à capturer les données du capteur, en les sauvegardant dans un fichier CSV local. Maintenant, il est temps de voir comment envoyer ces données à une plate-forme IoT. Sur ce tutoriel, nous utiliserons ThingSpeak.com.

«ThingSpeak est une application Internet des objets (IoT) open source pour stocker et récupérer des données à partir d'objets, à l'aide des API REST et MQTT. ThingSpeak permet la création d'applications d'enregistrement de capteurs, d'applications de suivi de localisation et d'un réseau social d'objets avec des mises à jour de statut.

Tout d'abord, vous devez avoir un compte sur ThinkSpeak.com. Ensuite, suivez les instructions pour créer un canal, en prenant note de son ID de canal et de sa clé API d'écriture.

Lors de la création de la chaîne, vous devez également définir quelles informations seront téléchargées dans chacun des 8 champs, comme indiqué ci-dessus (dans notre cas, seuls 4 d'entre eux seront utilisés).

Étape 9: protocole MQTT et connexion ThingSpeak

Protocole MQTT et connexion ThingSpeak
Protocole MQTT et connexion ThingSpeak

MQTT est une architecture de publication/abonnement qui a été développée principalement pour connecter des périphériques à bande passante et à puissance limitée sur des réseaux sans fil. C'est un protocole simple et léger qui s'exécute sur des sockets TCP/IP ou des WebSockets. MQTT sur WebSockets peut être sécurisé avec SSL. L'architecture de publication/abonnement permet aux messages d'être poussés vers les appareils clients sans que l'appareil ait besoin d'interroger en permanence le serveur.

Le courtier MQTT est le point central de communication et il est chargé de répartir tous les messages entre les expéditeurs et les destinataires légitimes. Un client est tout appareil qui se connecte au courtier et peut publier ou s'abonner à des rubriques pour accéder aux informations. Une rubrique contient des informations de routage pour le courtier. Chaque client qui souhaite envoyer des messages les publie dans un certain sujet, et chaque client qui souhaite recevoir des messages s'abonne à un certain sujet. Le courtier remet tous les messages avec le sujet correspondant aux clients appropriés.

ThingSpeak™ a un courtier MQTT à l'URL mqtt.thingspeak.com et au port 1883. Le courtier ThingSpeak prend en charge à la fois la publication MQTT et l'abonnement MQTT.

Dans notre cas, nous utiliserons le MQTT Publish.

Étape 10: Publication MQTT

Publication MQTT
Publication MQTT

Pour commencer, installons la bibliothèque cliente Python Eclipse Paho MQTT, qui implémente les versions 3.1 et 3.1.1 du protocole MQTT

sudo pip installer paho-mqtt

Ensuite, importons la bibliothèque paho:

importer paho.mqtt.publish en tant que publier

et lancez le canal Thingspeak et le protocole MQTT. Cette méthode de connexion est la plus simple et nécessite le moins de ressources système:

channelID = "VOTRE ID DE CANAL"

apiKey = "VOTRE CLÉ D'ÉCRITURE" topic = "canaux/" + channelID + "/publish/" + apiKey mqttHost = "mqtt.thingspeak.com" Maintenant, nous devons définir notre « charge utile »

tPayload = "field1=" + str(pmt_2_5)+ "&field2=" + str(aqi_2_5)+ "&field3=" + str(pmt_10)+ "&field4=" + str(aqi_10)

Et c'est tout! nous sommes prêts à commencer à envoyer des données vers le cloud ! Réécrivons la fonction de boucle précédente pour y inclure également la partie ThingSpeak.

# Envoi de toutes les données à ThingSpeak toutes les 1 minute

while(True): pmt_2_5, pmt_10 = get_data() aqi_2_5, aqi_10 = conv_aqi(pmt_2_5, pmt_10) tPayload = "field1=" + str(pmt_2_5)+ "&field2=" + str(aqi_2_5)+ "&field3=" + str (pmt_10)+ "&field4=" + str(aqi_10) essayez: publish.single(topic, payload=tPayload, hostname=mqttHost, port=tPort, tls=tTLS, transport=tTransport) save_log() sauf: print ("[INFO] Échec de l'envoi des données") time.sleep(60) Si tout va bien, vous devez voir les données apparaître également sur votre chaîne sur Thingspeak.com, comme indiqué ci-dessus.

Étape 11: Le script final

Il est important de souligner que Jupyter Notebook est un très bon outil de développement et de rapport, mais pas pour créer un code à mettre en production. Ce que vous devez faire maintenant est de prendre la partie pertinente du code et de créer un script.py et de l'exécuter sur votre terminal.

Par exemple, "ts_air_quality_logger.py", que vous devez exécuter avec la commande:

python 3 ts_air_quality_logger.py

Ce script ainsi que le Jupyter Notebook et le sds011.py se trouvent dans mon référentiel à RPi_Air_Quality_Sensor.

Notez que ce script n'est réalisable qu'à des fins de test. Le mieux est de ne pas utiliser de délais dans la boucle finale (qui mettent le code en "pause"), mais plutôt d'utiliser des timers. Ou pour une vraie application, le mieux est de ne pas utiliser la boucle, d'avoir Linux programmé pour exécuter le script régulièrement avec crontab.

Étape 12: Sortir le moniteur

Sortir le moniteur
Sortir le moniteur
Sortir le moniteur
Sortir le moniteur
Sortir le moniteur
Sortir le moniteur
Sortir le moniteur
Sortir le moniteur

Une fois que mon moniteur de qualité de l'air Raspberry Pi fonctionnait, j'ai assemblé le RPi dans une boîte en plastique, en gardant le capteur à l'extérieur et je l'ai placé à l'extérieur de ma maison.

Deux expériences ont été faites.

Étape 13: Combustion du moteur à essence

Combustion de moteur à essence
Combustion de moteur à essence
Combustion de moteur à essence
Combustion de moteur à essence

Le capteur a été placé à environ 1 m de la buse de gaz du Lambretta et son moteur a été mis en marche. Le moteur a tourné pendant quelques minutes et s'est éteint. À partir du fichier journal ci-dessus, le résultat que j'ai obtenu. Intéressant de confirmer que les PM2,5 étaient les particules les plus dangereuses résultant du moteur.

Étape 14: le chauffage au bois

Chauffage au bois
Chauffage au bois
Chauffage au bois
Chauffage au bois

En regardant le fichier journal, nous nous rendons compte que les données du capteur étaient momentanées "hors de portée" et n'étaient pas bien capturées par la bibliothèque de conversion AQI, donc je modifie le code précédent pour le gérer:

def conv_aqi(pmt_2_5, pmt_10):

essayez: aqi_2_5 = aqi.to_iaqi(aqi. POLLUTANT_PM25, str(pmt_2_5)) aqi_10 = aqi.to_iaqi(aqi. POLLUTANT_PM10, str(pmt_10)) retourne aqi_2_5, aqi_10 sauf: retourne 600, 600 Cette situation peut se produire sur le terrain, ce qui est OK. N'oubliez pas qu'en fait, vous devez utiliser la moyenne mobile pour vraiment obtenir l'IQA (au moins toutes les heures, mais généralement tous les jours).

Étape 15: Conclusion

Conclusion
Conclusion

Comme toujours, j'espère que ce projet pourra aider d'autres personnes à trouver leur chemin dans le monde passionnant de l'électronique et de la science des données !

Pour plus de détails et le code final, veuillez visiter mon dépôt GitHub: RPi_Air_Quality_Sensor.

Salutations du sud du monde !

Rendez-vous à mon prochain instructable !

Merci, Marcelo

Conseillé: