Version 0.2

In Version 0.2 erfasst der Arduino Nano mittels zwei DS18B20 die Innen- und Aussentemperatur und speichert die Daten auf die SD-Karte. Da noch keine RTC verbaut ist, erscheint bei Uhrzeit und Datum natürlich immer der selbe Wert, was ohne eine entsprechende RTC kaum zu ändern ist.

Der Arduino wartet auf Eingabe über die serielle Schnittstelle. Ausgegeben können die Informationen der SD-Karte inklusive deren Grösse und wie viel Speicherplatz noch frei ist, die aktuellen Daten und alle gespeicherten Daten. Ausserdem kann der Arduino auf Kommando auch die Speicherkarte wieder löschen, was in der Backup-Funktion zum Einsatz kommen soll.

Kommunikation zwischen Arduino und Raspberry übernimmt die Server-Software der Wetterstation, welche rein über die Kommandozeile läuft. Geschrieben wird der Server in C/C++ mit Visual-Studio-Code unter Verwendung von cmake. Der Einfachheit halber bekommen alle Komponenten immer die gleiche Versionsnummer.

Der Server baut dabei einen Socket auf und wartet auf Anfragen. Diese können von verschiedenen Anwendungen kommen und spezifisch auf verschiedene Gebiete ausgelegt sein. Beispielsweise dem Erzeugen eines Widgets, wobei kein GUI notwendig ist und nur die aktuellen Daten abgefragt werden.

Die vollständige Client-Software kann sämtliche Informationen der Wetterstation abrufen. Von der SD-Karte, die aktuelle Werte, wie auch alle gespeicherten Werte. Es wird angezeigt, wie viel Speicherplatz noch auf der Karte ist, die Karte kann gelöscht und es kann ein Backup erstellt werden. Beim Backup werden alle Daten von der Wetterstation auf den Computer übertragen und in einer Datei gespeichert. Ist die Datei bereits vorhanden, so werden die neuen Daten angehängt, um ein vollständiges Bild seit Beginn der Aufzeichnung zu bekommen. Im Anschluss wird die Speicherkarte gelöscht, um die Zeit der Übertragung zu verkürzen.

Auch der Client wird in C/C++ mit Visual-Studio-Code geschrieben und verwendet zum Erzeugen des GUI die Bibliothek Nana.

Aktueller Stand (03.12.2018):

  • Schaltung aufgebaut und getestet
  • Die Firmware des Arduino verfügt über alle geforderten Funktionen
  • Der Server kann alle Daten der SD-Karte auslesen und übertragen
  • Der Server kann die Temperaturen abrufen und übertragen
  • Der Server speichert die Temperaturen mit falscher Uhrzeit und Datum
  • Der Server kann alle Daten der SD-Karte übertragen
  • Der Server kann die Speicherkarte löschen
  • Die GUI des Client ist fertiggestellt.
  • Der Client kann die Informationen der Speicherkarte abrufen und anzeigen.

ToDo:

  • Abrufen und anzeigen aller gespeicherten Daten
  • Aktualisierung der SD-Karten-Informationen
  • Löschen der SD-Karte
  • Backup

Bekannte Bugs:

  • Gelegentliche Abstürze beim Start, die auch den Server zum Absturz bringen
  • Beim Abrufen der aktuellen Daten besteht die erste Übermittlung immer in der Ausgabe der SD-Karten-Informationen

Schreib einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.