Prof. J. Walter - Informationstechnik, Mikrocomputertechnik, Digitale Medien Softwaredoku
Hochschule Karlsruhe Logo MECM242 - Energieeffiziente Mikrokontroller
Feinstaubmesssystem
Wintersemester 2021
Nico Mayer
Jonas Gentner

Software Dokumentation


init



Nach dem Einbinden der notwendigen Bibliotheken sowie der Deklarierung der Defines werden die Objekte und globalen Variablen für das Auslesen der Sensoren deklariert. Da für den Feinstabsensor sowie mit den GPS-Sensor eine serielle Kommunikation verwendet wird, wird diese ebenfalls zu Beginn definiert (Softwareserial an Pin 27 & 26 für den Feinstaubsensor und HardwareSerial2 für den GPS-Sensor). Um die Daten des Feinstaubsensors zwischenspeichern zu können wird außerdem der struct 'pms5003data' erstellt.
Setup


In der void setup() werden zuerst wie gewohnt alle seriellen Schnittstellen initialisiert und gestartet. Außerdem werden hier auch die Sensorobjekte konfiguriert und initialisiert. Hier wird beispielsweise die Updaterate des GPS-Sensors auf 1Hz eingestellt und der Umfang der Ouputdaten konfiguriert. Im Anschluss an die Konfiguration der Sensoren wird geprüft ob eine SD-Karte vorhanden ist. Ist dies nicht der Fall wird ein Fehler ausgegeben und das System gestoppt. Ist eine SD-Karte gefunden wird, falls nicht schon vorhanden, eine csv-Datei für die Messdaten erstellt. Über das Auslesen des Wertes an der Adresse 0 im EEPROM wird geprüft, ob es sich um eine neue Messung handelt oder ob sich der ESP aufgrund eines Sensorfehlers selbst neugestartet hat. Abhängig davon wird die Überschrift einmalig in die neu erstellte csv-Datei geschrieben.




In der loop() wird auf neue Messwerte des Feinstaubsensors gewartet. Sind diese vorhanden beginnt das System alle Sensoren auszulesen und die Messwerte in einem Datenstring zu formulieren. Dieser Datenstring wird dann in die csv-Datei geschrieben und die Schleife startet von neuem. Da der Code in der loop() zu umfangreich ist, um ihn hier übersichtlich darstellen zu können, wird auf den Link zum Github repository auf der Seite "Quellcode" verwiesen.

flowChart
Flussdiagramm der Software des Feinstaubmesssystems

  Mit Unterstützung von Prof. J. Walter Wintersemester 2021