Table des matières:

AirPi - Capteur de qualité de l'air : 8 étapes
AirPi - Capteur de qualité de l'air : 8 étapes

Vidéo: AirPi - Capteur de qualité de l'air : 8 étapes

Vidéo: AirPi - Capteur de qualité de l'air : 8 étapes
Vidéo: Measuring particle count, VOC gas, and CO2 air quality 2024, Novembre
Anonim
AirPi - Capteur de qualité de l'air
AirPi - Capteur de qualité de l'air

Vous êtes-vous déjà demandé pourquoi vous aviez mal à la tête ? Et si cela était dû à une mauvaise qualité de l'air ? Avec cet appareil, vous pouvez vérifier si c'est le cas. Cet appareil mesure la valeur CO2, la valeur TVOC, la température et l'humidité. Vous pouvez voir la qualité de l'air en direct sur l'écran LCD et voir une indication claire si elle devient dangereuse. De cette façon, vous pouvez ouvrir vos fenêtres à temps.

Si vous entrez l'adresse IP - affichée lorsque vous démarrez l'appareil dans votre navigateur - le site Web s'ouvrira. Vous pouvez voir de nombreuses informations sur l'environnement intérieur, ainsi que des graphiques des dernières minutes / heures. Il y a aussi une indication en direct et quelques informations et conseils sur le tableau de bord.

Ce projet a été réalisé par un étudiant de Howest Kortrijk, NMCT (New Media and Communication Technology).

Étape 1: Matériaux

Matériaux
Matériaux

C'est tout ce que j'ai acheté pour créer ce projet. Il s'agit d'un projet relativement bon marché, en fonction du coût de l'impression 3D. Si vous pouvez l'imprimer à l'école, cela pourrait être très bon marché. Sinon, cela dépend de l'endroit où vous l'imprimez et du matériau dans lequel vous l'imprimez. Vous remarquerez que j'ai acheté beaucoup en gros, simplement parce qu'il est difficile de trouver des résistances ou des leds individuelles et cela le rend encore moins cher. Si vous avez le temps, vous pouvez commander la plupart des articles sur aliexpress.com, la livraison peut prendre un certain temps, mais vous pouvez ainsi limiter vos dépenses.

Sans l'impression, l'argent que j'ai dépensé pour ce projet est de 81, 80 €.

Voici les matériaux dont vous avez besoin:

Circuit:

  • Framboise Pi 3
  • Carte SD 8 Go (minimum)
  • Capteur de qualité de l'air CCS811
  • Capteur de température et d'humidité DHT22
  • Potentiomètre (LCD de contraste)
  • ACL 16x2
  • Fils de liaison femelle à femelle
  • LED verte et rouge
  • Résistances (2x470ohm et 1 4700ohm)

Cas:

  • impression 3D
  • Des vis
  • Colle à 2 composants (ou autre colle chaude)
  • outil de coupe de fil

Seuls d'entre vous utilisent un PCB:

  • Fer à souder
  • Flux (facilite les choses)
  • Étain
  • Circuit imprimé expérimental 2x4cm

Étape 2: Connexions

Connexions
Connexions

Connectez les fils comme ci-dessus. Vous pouvez voir un circuit électrique dans le fichier fritzing. Ce n'est pas un circuit très compliqué, mais si vous voulez le rendre aussi petit que possible, vous voulez certainement vous procurer une carte PCB expérimentale. Le câblage serait le même, sauf que GND et Vin seront connectés à la carte PCB. Les capteurs seront connectés par des cavaliers femelles ou mâles à souder. N'oubliez pas de souder la résistance sur le capteur DHT22.

Je recommande également d'utiliser des câbles courts, 10 cm devraient faire l'affaire. Sinon, la boîte serait encore plus remplie de câble. Vous n'avez pas besoin de très longs car la taille de l'impression est aussi petite que possible.

Étape 3: impression 3D

impression 3D
impression 3D
impression 3D
impression 3D

La première idée qui m'est venue à l'esprit lorsque je pensais à une affaire était une impression 3D. Depuis que mon père avait imprimé plusieurs autres articles et il les a conçus lui-même. Ensemble, nous avons créé ce design et réfléchi à tous les aspects. Il doit être suffisamment refroidi, tout peut être vissé en place et sinon, il peut être mis en place.

Nous avons même dessiné chaque composant pour vérifier si tout s'intègre. Le fichier est disponible pour tout le monde et nous aimerions avoir des commentaires. Nous avons été très satisfaits du résultat.

Étape 4: Coder

Le code de ce projet est disponible sur Github. Si vous avez utilisé d'autres broches (par exemple une autre broche GPIO pour les LED, vous devrez ajuster ces variables. Il y aura deux scripts python en cours d'exécution, web.py pour le site Web et sensor.py pour lire les capteurs et mettre à jour la base de données. Nous importerons la classe LCD de lcd.py.

Avec un Raspberry Pi configuré, vous pouvez commencer. Tout d'abord, vous devrez mettre à jour et mettre à niveau tous les packages:

sudo apt-get update && sudo apt-get upgrade

Après cela, vous devrez installer les packages suivants:

sudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3

Créez maintenant un environnement virtuel:

me@my-rpi:~ $ python3 -m pip install --upgrade pip setuptools wheel virtualenv

moi@my-rpi:~ $ mkdir project1 && cd project1 moi@my-rpi:~/project1 $ python3 -m venv --system-site-packages env moi@my-rpi:~/project1 $ source env/bin/ activate (env)me@my-rpi:~/project1 $ python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib

Puisque cela est fait, vous pouvez cloner le code de mon GitHub dans votre environnement virtuel. Cela peut être fait de plusieurs manières.

Dans le répertoire conf vous trouverez quatre fichiers que vous devrez ajuster si nécessaire. Vous devrez certainement changer l'utilisateur et le répertoire personnel dans chaque fichier. L'ini uWSGI devrait fonctionner tant que vous n'avez pas modifié mon code, assurez-vous de changer l'utilisateur et virtualenv si nécessaire.

Étant donné que le capteur CCS811 a été intentionnellement utilisé pour l'arduino, celui-ci ne peut pas communiquer sur le bus i2c à la vitesse du raspberry pi. Vous devrez réduire la vitesse à 10000 bauds (j'ai utilisé 9600) dans le fichier de configuration.

Vous devrez également vous procurer la bibliothèque du capteur adafruit. Je pourrais expliquer cela ici, mais il existe un guide adafruit parfait qui explique très bien tout cela.

Parce que nous voulons que les scripts python s'exécutent automatiquement lorsque la framboise est connectée, vous devrez utiliser les services. Ils devraient aller bien si vous gardiez mon code. Tout ce que vous avez à faire pour qu'ils fonctionnent est de les activer. Avant de faire cela, il y a une dernière chose.

Puisque nous utilisons un serveur Web nginx, nous devrons désactiver la valeur par défaut et la remplacer par notre propre configuration. Pour ce faire, ces étapes doivent être suivies:

  • copier conf/nginx sur *sites-available*
  • Supprimer le lien vers la configuration par défaut
  • Ajouter un lien vers la nouvelle configuration
  • Redémarrez nginx pour enregistrer les modifications

me@my-rpi:~/project1 $ sudo cp conf/project1-*.service /etc/systemd/system/

me@my-rpi:~/project1 $ sudo systemctl daemon-reload me@my-rpi:~/project1 $ sudo systemctl start project1-* me@my-rpi:~/project1 $ sudo systemctl status project1-*

Nginx et mysql doivent fonctionner à tout moment. Ils démarrent avec le Raspberry Pi. Le script web et le script du capteur pas encore.

Pour ce faire, vous devez toujours activer ces deux services avec ces commandes:

sudo systemctl activer project1-flask.service

sudo systemctl activer project1-sensor.service

Étape 5: Base de données

Base de données
Base de données

Ma base de données se compose de trois tables. L'utilisateur n'a aucune relation avec les autres tables. Ceci est uniquement utilisé pour se connecter et autoriser l'accès au site Web. Lorsque l'appareil est allumé, la valeur CO2 et la valeur TVOC seront écrites dans la base de données toutes les 50 secondes. La température et l'humidité toutes les 5 minutes. De cette façon, nous obtenons un aperçu clair du passé.

Le fichier SQL se trouve ici, mais pour obtenir la base de données sur le raspberry pi, vous devez suivre ces étapes:

Après l'installation des packages à l'étape précédente, mariadb/mysql devrait être exécuté immédiatement. Vous pouvez le vérifier avec cette ligne:

moi@mon-rpi:~ $ sudo systemctl status mysql

Pour créer la base de données et les utilisateurs, vous pouvez simplement exécuter les scripts sql dans le code de GitHub. Si vous l'avez fait correctement, vous devriez voir vos tables en utilisant cette commande:

me@my-rpi:~ $ echo 'afficher les tables;' | mysql project1 -t -u project1-admin -p

Maintenant que tout est prêt, vous pouvez tester cela sans le boîtier pour vous assurer que tout fonctionne. À moins que vous ne soyez connecté au wifi, vous devrez le connecter avec un câble Ethernet et l'exécuter manuellement.

Étape 6: Connectez-vous au Wi-Fi

Ouvrez le fichier de configuration wpa-supplicant dans nano (cela n'a pas vraiment d'importance, assurez-vous simplement que vous pouvez travailler avec l'éditeur de texte).

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Allez au bas du fichier et ajoutez ce qui suit (remplacez le ssid-name et le password-name par les vôtres):

réseau={

ssid="nom-ssid" psk="nom-mot de passe" }

Pour créer un mot de passe crypté, vous pouvez utiliser wpa_passphrase et le copier simplement dans le psk wpa_supplicant.conf pour rendre les choses plus sûres.

wpa_passphrase "nom-ssid" "nom-mot de passe"

Si vous souhaitez qu'il se connecte automatiquement à ce réseau Wi-Fi, et qu'il y en a d'autres dans le fichier de configuration, assurez-vous de changer la priorité à un niveau supérieur en ajoutant cette ligne au réseau dans le fichier de configuration:

priorité=2

N'oubliez pas de reconfigurer l'interface avec:

wpa_cli -i wlan0 reconfigure

Vous êtes maintenant prêt et connecté à un réseau wifi.

Étape 7: Tout assembler

Tout mettre ensemble
Tout mettre ensemble
Tout mettre ensemble
Tout mettre ensemble
Tout mettre ensemble
Tout mettre ensemble

Puisque tout est câblé et soudé, nous pouvons accéder au boîtier. Ceci a été conçu pour que vous puissiez ouvrir le boîtier sans aucun fil lâche. Cela signifie que tout est attaché à la partie inférieure. La première chose à faire est un petit ajustement à la framboise. Il y a des trous à chaque coin, mais ceux-ci ne sont pas aussi gros qu'ils devraient l'être. Le diamètre devrait être suffisant pour insérer une vis de 3 mm à l'intérieur. Nous avons dû polir les trous pour qu'ils soient un peu plus larges.

La deuxième chose à faire est de couper un filetage dans chaque trou. Cela peut sembler difficile, mais peut être facilement fait avec les bons outils. Je recommanderais de le faire dans une quincaillerie locale, demandez simplement un outil de coupe-fil. Comme mon père est orfèvre, il avait les outils pour le faire au travail. Je pourrais télécharger un nouveau fichier stl pour qu'il soit imprimé plus tard, mais cela nécessiterait une imprimante très précise.

La troisième étape consiste à visser le pi sur la partie inférieure. Vous aurez besoin de 4 vis de 7 mm de long avec un diamètre de 3 mm. Après cela, vous pouvez insérer la carte PCD dans l'emplacement prévu en haut de la partie inférieure. Le capteur CCS811 peut être inséré à l'endroit prévu sur le côté gauche et le DHT11 peut être fixé sur la plaque de droite. Les deux sont isolés et suffisamment ventilés, mais après coup, nous avons remarqué qu'il faisait encore chaud à l'intérieur. Plus à ce sujet plus tard.

Ensuite, vous devez attacher les LED à leur tube. Nous l'avons fait avec de la colle à 2 composants, mais vous pouvez le faire comme vous le souhaitez. Assurez-vous qu'ils s'y collent.

Vous pouvez maintenant fixer l'écran LCD, vous aurez besoin de vis du même diamètre que les précédentes, mais un peu plus longues. Les miens faisaient 1cm. Si les quatre vis sont vissées, il n'y a plus qu'une chose à faire. Fixez la partie supérieure. Tout ce dont vous avez besoin est de quatre vis, de même diamètre et de 2 cm. Maintenant, tout devrait être en place et vous pouvez le démarrer.

Étape 8: Démarrez-le

Le processus de démarrage de ce projet est très simple:

  1. Branchez le câble d'alimentation sur le côté gauche du boîtier. Ce n'est pas très visible mais vous pouvez voir à travers les évents. Si vous l'avez une fois, ce ne sera plus un problème.
  2. Donnez-lui un peu de temps pour démarrer.
  3. L'adresse IP s'affichera à l'écran pendant dix secondes. La seule chose que vous devez faire est de vous assurer que vous êtes connecté au même réseau et entrez l'adresse IP dans la barre d'adresse de votre navigateur.
  4. Vous êtes maintenant sur le site. Vous n'avez pas encore de compte alors créez un compte.
  5. Si vous êtes inscrit, connectez-vous.
  6. Terminé! Vous pouvez voir toutes les données sur la page Web et l'écran LCD affiche la qualité de l'air actuelle.

Comme la chaleur monte, nous avons localisé les capteurs au fond du boîtier. De cette façon, la température n'aurait pas un grand impact sur les valeurs enregistrées. Donc, pour des mesures optimales, placez l'appareil debout ou vous pouvez simplement l'accrocher au mur.

Conseillé: