Einmal, als ich bei der Arbeit saß und mich beim Atmen unwohl fühlte, beschloss ich, ein CO2-Messgerät zusammenzubauen.
Nachdem er mehrere Artikel zu diesem Thema studiert hatte, formulierte er die Anforderungen an das Gerät.
- Das Gerät muss über einen Bildschirm verfügen, da es sich um ein tragbares Gerät handeln muss.
- Das Gerät sollte aus demselben Grund nicht vom Internet abhängig sein.
- Das Gerät muss in der Lage sein, Werte im Laufe der Zeit zu protokollieren, die jederzeit angezeigt werden können. Und das bedeutet, dass er einen eigenen Webserver und einen eigenen WLAN-Punkt haben muss.
Das letzte Element führte mehrdeutig zu der Eingabe, dass sich das Gerät auf dem ESP befindet. Da ich keine hohe Leistung benötige, wähle ich die günstigste Option - ESP8266, 07. Zu Hause lag nur eine Kopie mit 1 MB Speicher herum.
Ich habe die fehlenden Ersatzteile für aliexpress bestellt und sie waren:
- Oled Display 96x64 SSD1331.
- MH-Z19B CO2-Sensor.
- DS1307 RTC-Modul.
Nach Erhalt der Details begann er mit der Entwicklung der Schaltung mit KiCad.
Ich muss sofort sagen - alle Quellen befinden sich am Ende des Artikels und nachdem sie gemäß den Schemata zusammengestellt wurden und die Firmware hochgeladen haben, sollten sie ein voll funktionsfähiges Gerät erhalten.
Das Schema kam wie folgt heraus:

Ich habe beschlossen, die Module entfernbar zu machen, damit sich keine Module auf der Schaltung befinden, sondern nur Anschlüsse für sie.
Ich breitete das Brett aus:

Nach der Herstellung der Leiterplatte und dem Löten ergab sich Folgendes:


In der Montage und in der Arbeit sieht es so aus:

Nun zum Software-Teil.
Der Code wurde in der Arduine IDE geschrieben, da ich kein Programmierer bin und die Bibliotheken im Visual Studio oder anderswo nicht verstehen wollte.
Im Prinzip habe ich den Code für die Module im Gerät aus Bibliotheksbeispielen und aus dem Internet verwendet, damit ich nicht weiter darauf eingehen werde. Wer will - die Skizze leicht verstehen.
Es stellte sich jedoch heraus, dass es nicht so einfach war, Statistiken rechtzeitig anzuzeigen und anzuzeigen.
Ich wollte es so: Von einem Mobiltelefon oder Laptop aus ist es so einfach wie möglich, eine Verbindung zum Gerät herzustellen. Gehen Sie über den HTML-Browser zur Datenseite und zeigen Sie sie in einem Zeitdiagramm an.
Zunächst wurde bei ESP ein Zugriffspunkt ohne Kennwörter und Authentifizierungen erstellt.
Das zweite - erstellte ein Datenarray, in das ich CO2-Daten und den Zeitpunkt der Datenerfassung schreibe (dafür stelle ich tatsächlich die Uhr im Gerät ein.
Drittens habe ich einen HTTP-Server und mehrere HTML-Seiten eingerichtet, auf denen ich Daten ausgebe.
Viertens: Java Script zum Zeichnen des Diagramms auf der Seite wurde in das ESP-Dateisystem geschrieben.
Da die Grafikausgabe nur mit Hilfe von Java Script möglich war, wurde nach einem langen Experiment der vierte Punkt folgendermaßen implementiert: Das einfachste Chart.js-Skript wurde als Datei in das SPIFFS ESP-Dateisystem geschrieben, das eine Seite mit dem Ergebnis anfordert.
Im Allgemeinen werden beim Einschalten des Geräts alle 10 bis 15 Sekunden auf dem Display die neuen Sensorwerte angezeigt, und alle 8 Minuten werden die aktuellen Sensorwerte im Datenarray aufgezeichnet.
Nach einiger Zeit, um die Messwerte rechtzeitig zu analysieren, stellen Sie über Ihr Telefon oder Ihren Laptop eine Verbindung zum WLAN-Punkt „CO2“ her. Starten Sie nach dem Verbinden den Internetbrowser und geben Sie die IP-Adresse „10.10.10.1“ in die Suchleiste ein. Sie gelangen auf die Seite:

Es gibt eine Schaltfläche zum Aufrufen der Datenansichtseite und eine Schaltfläche zum Wechseln der Zeiteinstellungsseite (da manchmal Zeit verloren geht und diese nur verloren geht, wenn die Batterie ausgetauscht wird).
Die Datenausgabeseite sieht folgendermaßen aus:
Archiv mit Quelle hier.Das Archiv enthält eine Skizze, Java Script, ein Kicad-Projekt und einen Druck im Photoshop-Format mit einer Auflösung von 600 dpi, falls Sie sich nicht mit Kicad anlegen möchten.
Informationen zum Konfigurieren von Adruino ide für die ESP-Firmware und zum Hochladen von Dateien auf SPIFS finden Sie im Internet.
Für die ESP-Firmware müssen Sie den CO2-Sensor trennen, da er an TX0 und RX0 hängt, die für die Firmware benötigt werden. Außerdem habe ich das Gegenteil auf der Datenleitungsplatine signiert, sodass ich TX vom Blinker mit TX auf der Platine usw. verbinde.