Eine andere Möglichkeit, die Luftqualität auf dem Arduino zu bestimmen, ist die Datenübertragung zum Netzwerk.
Mein Name ist Eugene und ich bin ein Webentwickler. Es gibt bereits Dutzende von Posts über verschiedene Wetterstationen auf Arduino, aber ich wollte schreiben, dass Sie 2016 schnell, einfach und ohne Kenntnisse der Elektrotechnik einen nützlichen Sensor zusammenstellen können, der behauptet, IoT zu sein, der problemlos mit Ihrer Infrastruktur arbeiten kann, die auf irgendetwas geschrieben ist.Wenn Sie sich fragen, warum Sie CO2 überhaupt messen sollen, finden Sie am Ende des Beitrags nützliche Links.Unser Ziel ist es daher, einen Temperatur-, Feuchtigkeits- und CO2-Sensor mit Daten herzustellen, die auf dem Display angezeigt und an den Webserver gesendet werden. Was wir dafür brauchen:Komponenten
1. Arduino. Ich nahm Wemos D1, ein Arduino-kompatibles Board, das auf dem Mikrocontroller ESP-8266EX basiert. Wemos ist mit der Arduino IDE kompatibel, verfügt über ein eigenes WLAN und kostet 6,3 US-Dollar.2. CO2-Sensor. Früher habe ich den üblichen MQ-135 ausprobiert, aber selbst nach dem Brennen, Kalibrieren und Berücksichtigen von Temperatur- und Feuchtigkeitskorrekturen waren die Fehler ziemlich auffällig - etwa 300 ppm. Um genaue Messungen zu gewährleisten, nahm ich den MH-Z19 - die teuerste Komponente der Schaltung, 27 US-Dollar.3. Temperatur- und Feuchtigkeitssensor. Verwendet den Standard und von allen DHT11 für 1,44 $ geliebt. Die Kommentare legen nahe, dass es besser ist, DHT22 einzunehmen, aber für das Schema und die Kosten ist dies nicht wichtig:4. I2C-kompatibles Display. Ich nahm die billigste HD44780 für 3,06 $.5. Damit es nicht sehr schrecklich aussieht und beweglich ist, ist es auch schön, einen Körper zu haben. Um mich nicht mit dem Schneiden zu beschäftigen, nahm ich einen 8-Dollar-Koffer mit Löchern und Halterungen für USB und ein Display. Achtung - im Gehäuse müssen Löcher für die Belüftung vorhanden sein, da sonst nur die spezielle Atmosphäre gemessen wird.6. Debuggen des USB-Kabels und ca. 10 Kabel. Ich werde den Preis nicht berücksichtigen.Die Gesamtkosten betragen $ 44, wenn Sie aliexpress übernehmen. Ähnliche Geräte ohne die Möglichkeit, etwas in das Netzwerk zu übertragen, kosten die Chinesen jetzt rund 100 US-Dollar. Ein Analogon von Tion, das zahlenmäßig seine Beiträge zur Gytime mit Werbung für Atemzüge macht, befindet sich noch in der Entwicklung (ich habe nichts mit ihnen zu tun, aber es ist schade).Bestellt, einen Monat gewartet - weiter zur Montage! Einfacher geht es nicht.Montage
1. Schließen Sie den Temperatur- und Feuchtigkeitssensor an. Erde zu Erde, Staub zu Staub plus fünf Volt pro Arduino, digitaler Ausgang zu digitalem Ausgang (ich habe D5 verwendet).2. Schließen Sie den CO2-Sensor an. Es verfügt über eine große Auswahl an Schnittstellen - PWM, analoger und digitaler Ausgang. Das einzige Element beim Löten besteht darin, die Beine an den gewünschten Ausgängen zu befestigen. Persönlich überprüft - jeder arbeitet. Ich habe aufgehört, digitale Daten zu empfangen - präzise, schön, präzise, und es besteht auch die Möglichkeit, Befehle zur Kalibrierung zu senden, die ich nicht benötigte. Wieder - Masse zu Masse, plus die anderen fünf Volt, TX- und RX-Pins zu digitalen Pins - in meinem Fall zu D6 und D7.3. Schließen Sie das Display an. Und wieder - Erde zu Erde, plus der letzte verbleibende Ausgang von fünf Volt, SDA auf dem Display zu SDA auf dem Arduino, SCL auch zu SCL.Und alle! Sie können das resultierende Gut in den Fall drehen, wenn Sie sicherlich keine Fehler beim Verbinden gemacht haben. Bitte beachten Sie, dass auf dem CO2-Sensor keine Lufteinlässe gedrückt sind (oder, wie man es genauer nennt, solche weißen Dinge). Als Bonus werden bei der Montage die Messabweichungen deutlich reduziert.Firmware
Nun, wir müssen nur Software schreiben. Unter den folgenden Links befindet sich ein Repository auf dem Github, das Sie einfach hochladen und verwenden können. Der einzige subtile Punkt ist, dass Ihr Display möglicherweise eine andere Adresse hat. Verwenden Sie das Mini-Programm über die Links, um i2c-Adressen zu scannen und zu der gewünschten zu wechseln, wenn es nicht sofort funktioniert. Trennen Sie andere Geräte vor dem Scannen vom Computer, da sonst viel Müll entstehen kann.Ja, Wemos D1 ist mit Arduino kompatibel, und Sie müssen der Arduino-IDE nur die entsprechende Karte hinzufügen. Wir schließen ein Standard-Kurzkabel über Micro-USB an und füllen die Firmware aus. Wenn Sie alles richtig gemacht haben, versucht das Gerät zunächst, eine Verbindung zu Wi-Fi herzustellen (das Netzwerk und das Kennwort werden aus der Einstellungsdatei übernommen), wartet dann eine Weile, bis die Sensoren „aufgewärmt“ sind, und zeigt schließlich die Daten auf dem Display an. Wenn das Netzwerk keine Daten sendet, werden diese gemeldet. Wenn der CO2-Gehalt akzeptabel ist, wird die Hintergrundbeleuchtung nach dem Laden nur dann aus- und wieder eingeschaltet, wenn Sie das Fenster öffnen müssen.Ergebnis
Für mich sieht es so aus (vorsichtig, Verkehr):Unmontiertmontiert, bei ausgeschalteter HintergrundbeleuchtungEs ist Zeit zu lüften!Aber was ist mit dem Netzwerk?
Nun zur Arbeit mit dem Netzwerk. Ohne weiteres sammle ich die Daten in JSON und sende sie mit der üblichen POST-Anfrage an den Server, wo sie durch ein einfaches PHP-Skript in die MySQL-Datenbank gestellt werden. Dann können Sie mithilfe von PHP und Google Charts sehen, wie sich Ihre Lebensbedingungen im Laufe des Tages geändert haben - der gesamte Serverteil befindet sich auch in den Links.Infolgedessen können wir zu einem lächerlichen Preis, ohne Kenntnisse in Elektrotechnik und mit minimalem Zeitaufwand, so schöne Grafiken erstellen :Vorsicht, VerkehrIch kann nicht sagen, dass dies die Abdeckung direkt von der einfachen Wahrheit abreißt, dass "weniger Menschen - mehr Sauerstoff" und dass Sie regelmäßig lüften müssen, und sie haben oft darüber gesprochen - einschließlich des Schadens von Plastikfenstern. Dieses Beispiel zeigt jedoch, wie einfach, schnell, zuverlässig und schön es ist, fast jeden Sensor herzustellen, der Daten für ein komplexeres System liefert.Ja, ich habe die Messwerte mit einem solchen chinesischen Green Life-Sensor verglichen - die Messwerte sind fast identisch, nur meiner reagiert etwas schneller auf sich ändernde Umstände:wie sieht es aus— , :

Schlussfolgerungen
Natürlich könnte viel besser gemacht werden. Nebenbei sehe ich folgende Nachteile:- Das Display aus hat einen sehr geringen Kontrast. Es ist besser, noch einen zu nehmen, weitere 10 Cent sind kaputt.
- . , , . , .
- , , , .
- . , . , .
- , ( ) — 5 .
- , , , , (, Wemos ), , — .
- Wemos D1 , ( 2-3 ) , . , . - , , , ( RESET).
- , 2 , . — , , . , .
- , — . , - .
- , JSON . JSON , GET/POST, . Wemos — , . .
- — . — .
- . , — — .
Und dann möchte ich eine Pause von den Arbeitstagen machen und mit Freunden Lasertag spielen. Ein Problem - das Spiel kostet ab 500 Rubel pro Stunde und Person. Dies ist in völliger Abwesenheit von Verbrauchsmaterialien. Und um ein Kit für das Spiel zu kaufen, kostet es eine Art himmelhohes Geld - ab etwa 8.000. Um also Lasertag zu spielen, müssen Sie es zuerst sammeln. Ich habe vor, so etwas wie Skirmos zu machen - wo eine Art Geld nur das Fass selbst kostet, was ziemlich solide sein sollte. Interessant? Folgen Sie Veröffentlichungen! Was machst du auf Arduino?Referenzen
Haupt
- Code für Arduino
- Serverseite
- Sie können die Luft in meinem Büro hier sehen
- Stellen Sie mich (ja, ich suche es) können Sie dann
Nützlich
- Wenn Sie nichts über CO2 wissen - geektimes.ru/company/tion/blog/269134
- Über wemos d1
- MH-Z19
- , , , , PWM Arduino nano
- i2c
- Tion ( )
- ESP8266
- ESP, Lua CO2
- . , . .
- JSON
- DHT
Source: https://habr.com/ru/post/de390327/
All Articles