Une autre façon de déterminer la qualité de l'air sur l'Arduino consiste à transmettre des données au réseau.

Je m'appelle Eugene et je suis développeur web. Il y a déjà des dizaines de messages sur diverses stations météorologiques sur Arduino, mais je voulais écrire qu'en 2016, vous pouvez rapidement, facilement et sans connaissance de l'ingénierie électrique assembler un capteur utile qui prétend être l'IoT, qui peut facilement fonctionner avec votre infrastructure écrite sur n'importe quoi.

Si vous vous demandez pourquoi mesurer le CO2, vous pouvez trouver des liens utiles à la fin de l'article.

Notre objectif est donc de créer un capteur de température, d'humidité et de CO2 avec des données affichées sur l'écran et envoyées au serveur Web. Ce dont nous avons besoin pour cela:

Composants


1. Arduino. J'ai pris Wemos D1, une carte compatible Arduino basée sur le microcontrôleur ESP-8266EX. Wemos est compatible avec l'IDE Arduino, il a son propre Wi-Fi et coûte 6,3 $.

à quoi ça ressemble


2. Capteur de CO2. Plus tôt, j'ai essayé le MQ-135 habituel, mais même après la gravure, le calibrage et la prise en compte des corrections de température et d'humidité, les erreurs étaient assez visibles - environ 300 ppm. Donc, pour garantir des mesures précises, j'ai pris le MH-Z19 - le composant le plus cher du circuit, 27 $.

à quoi ça ressemble


3. Capteur de température et d'humidité. Utilisé le standard et aimé par tous les DHT11 pour 1,44 $. Les commentaires suggèrent qu'il est préférable de prendre du DHT22, mais pour le schéma et le coût, ce n'est pas important:

à quoi ça ressemble


4. Affichage compatible I2C. J'ai pris le hd44780 le moins cher pour 3,06 $.

à quoi ça ressemble


5. Pour lui donner un aspect pas très terrible et être mobile, il est également agréable d'avoir un corps. Afin de ne pas prendre la peine de couper, j'ai pris un étui à 8 $ avec des trous et des supports pour USB et un écran. Attention - il doit y avoir des trous dans le boîtier pour la ventilation, sinon il ne mesurera que son atmosphère particulière.

à quoi ça ressemble


6. Débogage du câble USB et environ 10 câbles. Je ne considérerai pas le prix.

Le coût total est de 44 $, si vous prenez aliexpress. Des appareils similaires sans possibilité de transférer quelque chose sur le réseau coûtent désormais aux Chinois environ 100 $. Un analogue de Tion, qui en nombre publie ses messages à l'heure de la publicité des respirateurs, est toujours en développement (je n'ai rien à voir avec eux, mais c'est dommage).

Commandé, attendu un mois - procéder au montage! Rien de plus simple.

Assemblage


1. Connectez le capteur de température et d'humidité. Terre à terre, poussière à poussière, plus cinq volts par arduino, sortie numérique à sortie numérique (j'ai utilisé D5).

2. Connectez le capteur de CO2. Il dispose d'une large sélection d'interfaces - PWM, sortie analogique et numérique. Le seul élément de la soudure est de fixer les pieds aux sorties souhaitées. Vérifié personnellement - tout le monde travaille. Je me suis arrêté à recevoir des données numériques - précisément, magnifiquement, de manière concise, et il y a aussi la possibilité d'envoyer des commandes pour l'étalonnage, dont je n'avais pas besoin. Encore une fois - terre à terre, plus les cinq autres volts, broches TX et RX aux broches numériques - dans mon cas, à D6 et D7.

3. Connectez l'écran. Et encore une fois - terre à terre, plus la dernière sortie restante de cinq volts, SDA sur l'écran pour SDA sur l'arduino, SCL ainsi que SCL.

Et ... c'est tout! Vous pouvez faire tourner le produit résultant dans le boîtier, si vous n'avez certainement pas réussi à vous tromper lors de la connexion. Veuillez noter que le capteur de CO2 n'a pas de prises d'air pressées (ou, comme on l'appelle plus correctement, de telles choses blanches). En prime, lors du montage dans le boîtier, les écarts de mesure sont considérablement réduits.

Firmware


Eh bien, il suffit d'écrire un logiciel. Les liens ci-dessous ont un référentiel github que vous pouvez simplement télécharger et utiliser. Le seul point subtil est que votre écran peut avoir une adresse différente. Utilisez le mini-programme à partir des liens pour numériser les adresses i2c et passez à celle dont vous avez besoin si cela ne fonctionne pas tout de suite. Déconnectez les autres appareils avant de numériser, sinon vous pouvez récupérer beaucoup de déchets.

Oui, Wemos D1 est compatible avec Arduino, et il vous suffit d'ajouter la carte appropriée à l'IDE Arduino. Connectez le câble court standard via micro USB et remplissez le firmware. Si vous avez tout fait correctement, l'appareil essaiera d'abord de se connecter au Wi-Fi (le réseau et le mot de passe sont tirés du fichier de paramètres), puis il attend un certain temps pour «réchauffer» les capteurs, et affiche enfin les données sur l'écran. Si le réseau ne parvient pas à envoyer de données, il le signalera. Si le niveau de CO2 est acceptable, après le chargement, le rétro-éclairage s'éteindra et ne s'allumera que si vous devez ouvrir la fenêtre.

Résultat


Cela ressemble à cela pour moi (soigneusement, la circulation):

non

assemblé, avec le rétro-éclairage éteint

Il est temps de ventiler!

Mais qu'en est-il du réseau?


Maintenant à propos de travailler avec le réseau. Sans plus tarder, je collecte les données en JSON et les envoie au serveur avec la requête POST habituelle, où un simple script PHP les place dans la base de données MySQL. Ensuite, vous pouvez voir comment vos conditions de vie ont changé au cours de la journée en utilisant PHP et Google Charts - toute la partie serveur est également dans les liens.

En conséquence, à un prix ridicule, sans aucune connaissance en génie électrique et avec un investissement en temps minimal, nous pouvons obtenir de si beaux graphismes:
Attention, trafic

Je ne peux pas dire que cela déchire directement la couverture de la simple vérité que "moins de personnes - plus d'oxygène", et que vous devez périodiquement ventiler, et ils en ont parlé à plusieurs reprises - y compris le mal des fenêtres en plastique. Mais cet exemple montre à quel point il est simple, rapide, fiable et beau de créer presque n'importe quel capteur qui fournit des données pour un système plus complexe.

Oui, j'ai comparé les lectures avec un tel capteur Chinese Green Life - les lectures sont presque identiques, seule la mienne réagit un peu plus rapidement aux circonstances changeantes:

à quoi ça ressemble
— , :


Conclusions


Bien sûr, beaucoup pourrait être mieux fait. D'un côté, je vois les inconvénients suivants:

  1. L'écran éteint a un contraste très faible. Il vaut mieux en prendre un autre, encore 10 cents cassés.
  2. . , , . , .
  3. , , , .
  4. . , . , .
  5. , ( ) — 5 .
  6. , , , , (, Wemos ), , — .
  7. Wemos D1 , ( 2-3 ) , . , . - , , , ( RESET).
  8. , 2 , . — , , . , .
  9. , — . , - .
  10. , JSON . JSON , GET/POST, . Wemos — , . .
  11. — . — .
  12. . , — — .



Et puis je veux faire une pause des jours ouvrables et jouer au laser tag avec des amis. Un problème - le jeu coûte à partir de 500 roubles par heure et par personne. C'est en l'absence totale de consommables. Et acheter un kit pour le jeu coûtera une sorte d'argent exorbitant - à partir d'environ 8 000. Donc, pour jouer au laser tag, vous devez d'abord le récupérer. J'ai l'intention de faire quelque chose comme Skirmos - où une sorte d'argent ne coûtera que le baril lui-même, ce qui devrait être assez solide. Intéressant? Suivez les publications! Que fais-tu sur Arduino?

Les références


Principal


  1. Code pour Arduino
  2. Côté serveur
  3. Vous pouvez voir l'air dans mon bureau ici
  4. Vous pouvez m'engager (oui, je la cherche) ici


Utile


  1. Si vous ne savez rien du CO2 - geektimes.ru/company/tion/blog/269134
  2. À propos de Wemos D1
  3. MH-Z19
  4. , , , , PWM Arduino nano
  5. i2c
  6. Tion ( )
  7. ESP8266
  8. ESP, Lua CO2
  9. . , . .


  1. JSON
  2. DHT

Source: https://habr.com/ru/post/fr390327/


All Articles