IoT #6: Das System

Im Folgenden ist ein Schema des aktuellen Systems dargestellt. Es handelt sich aktuell um eine reine Messdatenerfassung ohne Regelung o. ä.

Gesamtsystem: Schema

Die folgende Abbildung zeigt schematisch das Zusammenspiel der verschiedenen Teilsysteme.

Zusammenspiel der einzelnen Teilsysteme

Software des Mikrocontrollers

Die Software des Mikrocontrollers ist sehr flexibel programmiert. Der Mikrocontroller erkennt automatisch die Anzahl der angeschlossenen Sensoren und sendet diese Daten an den Web-Server. Der Web-Server sendet die Daten an einen Datenbank-Server, der die Daten in die Datenbank einträgt.

Wie bereits erwähnt ist die Schnittstelle zum Server sehr flexibel und passt sich automatisch an die Anzahl der Sensoren an.

Der Mikrocontroller ist zurzeit so programmiert, dass er alle 30 Sekunden die Sensorwerte einliest und überträgt. Während der Wartezeit geht er in einen sog. Sleep-Mode und hat dann eine Stromaufnahme von wenige Mikroampere!
Nach Ablauf dieser Zeit, bootet der Mikrocontroller neu. Es ist erstaunlich, wie schnell er wieder mit dem WLAN verbunden ist und die Daten übertragen hat.

Software des Servers

Die serverseitigen PHP-Skripte nehmen die Daten des Mikrocontrollers entgegen, tragen diese ggf. in die Datenbank ein und stellen die Daten zur Anzeige bereit.

Datenbank

Die MySQL-Datenbank besteht aktuell aus 13 Tabellen. Einige davon dienen der Konfiguration, andere enthalten die protokollierten Daten. Die Datenbank ist so strukturiert, dass sie Daten von beliebig vielen verschiedenen Systemen verwalten kann.
D. h. zukünftig kann ich das Gesamtsystem um weitere Einheiten (je eine Art Cyberphysisches System CPS) erweitern ohne die Datenbank umstrukturieren zu müssen. 🙂

Die Art der Datenerfassung wird über die Datenbank konfiguriert.
Einige der Konfigurationsmöglichkeiten:

  • Definition der Mikrocontroller / Cyberphysischen Systeme:
    z. B. die Ringspeichergröße in Zeiteinheiten (z. B. 24 Stunden), damit die Datenbank nicht zu viel Speicher belegt, …
  • Definition der Sensoren:
    z. B. Physikalische Einheiten oder einen sog. Dezimierungsfaktor zur Optimierung von Chart-Anzeigen (z. B. im Diagramm nur alle 60 s einen Wert darstellen), Farben im Diagramm, …
  • Definition von Diagramm-Achsen
    Sensorzuordnung zu Y-Achsen eines Diagramms, optional Minimum und Maximum der Achsskalierung, …
  • Definition von Benutzern
    zur Authentifizierung beim Server

Die folgenden Möglichkeiten gibt es (noch) nicht:

  • Einstellen der Abtastrate / Übertragungsrate
    Hier ist die Kommunikation vom Server zum Mikrocontroller erforderlich. Das wird es in Zukunft vsl. geben. Nur mit dem energiesparenden Sleep-Mode wird das schwierig, da die Konfiguration auf dem Mikrocontroller gespeichert und beim Booten geladen werden muss.

Website / Dashboard

Die (weltweit abrufbare) Website, die zukünftig ein Dashboard darstellen soll, ist in der Entwicklung. Sie zeigt aktuell „nur“ den Verlauf der Temperaturen der letzten 6 Stunden an. Die aktuellen Istwerte sind noch nicht separat dargestellt.

Diagramm mit den Temperaturwerten der letzten 6 Stunden

Ein ansprechendes Dashboard zu entwickeln ist nun die nächste Aufgabe.

Schreibe einen Kommentar