Verwendung - okapi-dev-team/API GitHub Wiki
Userstory 1:
Die Anmeldung an der Homesteuerung erfolgt mittels einer RFID-Chipkarte. Zunächst hält der Nutzer eine RFID-Karte vor das Lesegerät. (Z1.1) Dabei wird die Nummer der Chipkarte mit den in einer Datenbank hinterlegten Nummern abgeglichen und geprüft, ob es sich um eine “Masterkarte”, eine “Kinderkarte” oder eine nicht zugriffsberechtigte Karte handelt. (Z1.2) Nach erfolgreicher Anmeldung wird der Nutzer auf dem Display des Arduinos mit dem in der Datenbank hinterlegten Namen begrüßt. Die Begrüßung wird eine Sekunde lang angezeigt, bevor auf dem Display wieder das Datum und die Uhrzeit angezeigt wird. (Z1.4) (Video1: Anmeldung von Nutzer 2)
Bei der Masterkarte wird nach der Begrüßung der Status der Alarmanlage auf dem Display des Arduinos angezeigt und der Nutzer kann mit zwei freigeschalteten Tasten unter dem RFID- Lesegerät die Alarmanlage an- oder ausschalten. (Z1.3) Mit dem linken Taster (S1) wird die Aktivierung vorgenommen, mit dem rechten (S2) kann die Alarmanlage deaktiviert werden. Für die Aktivierung muss kein Nutzer angemeldet sein, da die Taste(S1) immer aktiv ist. In beiden Fällen erhält der Nutzer im Anschluss eine bestätigende Ausgabe mit dem aktuellen Status auf dem Display. (Video2: Anmeldung von Nutzer 1 und Deaktivierung der Alarmanlage)
Bei einer Kinderkarte ist die Deaktivierung nicht möglich, da die Karte nicht über die nötigen Verwaltungsrechte verfügt. Der Taster (S2) kann gedrückt werden, allerdings bewirkt dies keinerlei Veränderung an dem Status der Alarmanlage. (Video3: Nutzer2 kann die Alarmanlage nicht deaktivieren)
Userstory 2:
Ein weiterer wichtiger Bestandteil der Homesteuerung ist die Alarmanlage. Diese funktioniert, über einen Bewegungssensor, der bei detektierter Bewegung (Z.2.1) eine rote LED(LED4) als virtuelles Warnsignal (Z2.2) und eine Sirene als akustisches Warnsignal (Z2.3) aktiviert.
Diese Userstory ist sehr stark verbunden mit Userstory 1, da die Deaktivierung der Alarmanlage nur möglich ist, wenn die Masterkarte vor das RFID-Lesegerät gehalten wird und gleichzeitig der freigeschaltete Taster (S2) gedrückt wird. (Video4: Ausgelöste Alarmanlage wird deaktiviert)
Jeder Auslösezeitpunkt der Alarmanlage wird protokolliert und kann für den Master auf der graphischen Oberfläche eingesehen werden. Zusätzlich werden die Auslöstezeitpunkte in einer externen Datei gespeichert. (Z2.4) (Bild von der Datei)
Wenn die Alarmanlage nicht aktiviert ist, detektiert der Bewegungsmelder weiterhin die Bewegung, aber gibt kein Signal an die rote LED(LED4) und die Sirene weiter.
Weiterhin hat die Alarmanlage Auswirkungen auf die Jalousiesteuerung (vgl.US4) und das Gewächshausfenster(vgl.US5), die abhängig von dem Status der Alarmanlage sind, ob die Steuerung manuell oder automatisch ausgeführt wird.
Userstory 3:
Auf der graphischen Oberfläche werden dem Nutzer verschiedene Informationen angezeigt. Oben rechts stehen sowohl der Benutzername des aktuell angemeldeten Nutzers, als auch die aktuelle Uhrzeit und das Datum. (Bild von der rechten oberen Ecke)
Darunter befindet sich ein Button, mit welchem sich der Benutzer abmelden kann. (Z3.3) Wird dieser gedrückt, so wird auf der graphischen Oberfläche der Sperrbildschirm dargestellt, wo nur die Uhrzeit und das Datum ausgegeben werden. (Bild Sperrbildschirm)
Unter dem Button befinden sich zwei Pfeiltasten, mit welchen das Fenster im Gewächshaus für den Fall der deaktivierten Alarmanlage gesteuert werden kann. Mit der Pfeiltaste, die nach oben gerichtet ist, kann das Fenster geöffnet werden und entgegengesetzt dazu, wird das Fenster mit der nach unten zeigenden Pfeiltaste geschlossen. (Z3.2) (Bild mit Curser auf der Pfeiltaste)
Auf der graphischen Oberfläche werden oben links die verschiedenen gemessenen Sensorwerte für die Temperatur, die Luftfeuchtigkeit, die Bodenfeuchtigkeit und die Helligkeit ausgegeben. (Z3.1) Auf der rechten Seite kann man auswählen, welche Sensorwerte die Jalousie bei aktiver Alarmanlage steuern sollen. (Bild mit ausgewählter Zeit oder Dämmerungssensorauswahl)
Für den Fall, dass sich der Master im System angemeldet hat, werden im unteren Bereich der graphischen Oberfläche die verschiedenen Anmeldezeitpunkte angezeigt und rechts davon die Zeitpunkte an denen die Alarmanlage ausgelöst wurde.(Z3.4) (Bild angemeldeter Master mit Protokoll)
Diese Funktion (Anzeige der Protokollierung) ist nicht möglich, wenn eine Kinderkarte im System angemeldet ist. Unabhängig vom angemeldeten Benutzer werden im Sketch Ordner der ausgeführten Processing Datei die Protokolldaten als csv-Dateien gespeichert. (Bilder Screenshot Protokolldateien)
Zusammenfassend lässt sich sagen, dass die graphische Oberfläche eine zentrale Schnittstelle der Homesteuerung ist. Jede andere Userstory steht im Zusammenhang mit der graphischen Oberfläche.
Userstory 4:
In der vierten Userstory geht es um eine Jalousiesteuerung. Diese kann mittels eines Schrittmotors geöffnet und geschlossen werden. Steuerbar ist die Jalousie über eine Fernbedienung, einen Dämmerungssensor oder mit Hilfe einer Zeitschaltuhr. Der Abstand der Jalousie wird über einen Ultraschallsensor gemessen. (Z4.1) Wird ein bestimmter Abstandswert beim Öffnen der Jalousie (30cm) oder beim Schließen der Jalousie bei (10cm) erreicht, bleibt der Schrittmotor nach Beendigung der Umdrehung stehen. Außerdem steht die Jalousiesteuerung in Verbindung mit dem Status der Alarmanlage aus Userstory 1 und der graphischen Oberfläche in Userstory 3.
Die Jalousiesteuerung lässt sich grundsätzlich in zwei Modi aufteilen. Der erste Modus bei aktivierter Alarmanlage ausschlaggebend und der Zweite bei abgeschalteter Alarmanlage.
Bei dem ersten Modus mit aktivierten Alarmanlage lässt sich auf der grafischen Oberfläche auswählen, ob sich die Jalousie entweder nach einer Zeitschaltuhr (Z4.2) richten soll oder nach Sensorwerten für die Helligkeit (Z4.3), ab denen die Jalousie automatisch geschlossen bzw. geöffnet wird.
Wenn die Zeitschaltung ausgewählt ist, leuchtet eine grüne LED (LED2) und die Jalousie befindet sich im Zeitraum von 20 Uhr bis 7:30 Uhr im geschlossenen Zustand. Bei dem Dämmerungssensor wird eine blaue LED (LED1) aktiviert und ab einer Unterschreitung des Helligkeitswertes von 100 wird die Jalousie geschlossen. Sobald der Helligkeitswert über 100 liegt, öffnet sich die Jalousie. (Video6: Jalousie mit Hilfe von Dämmerungssensor gesteuert)
Bei dem zweiten Modus mit abgeschalteter Alarmanlage lässt sich die Jalousie ausschließlich über eine Fernbedienung öffnen (Pfeil hoch) bzw. schließen (Pfeil runter). (Z4.4) (Video5: Jalousiesteuerung über Fernbedienung)
Userstory 5:
Mit der Homesteuerung ist es außerdem noch möglich ein Fenster in Abhängigkeit von verschiedenen Sensorwerten zu öffnen oder zu schließen.
Mit Hilfe eines Feuchtigkeits- und Temperatur-Sensors (DHT 22) werden die aktuellen Sensorwerte für die Luftfeuchtigkeit und die Temperatur innerhalb des Gewächshauses bestimmt (Z5.1).
Genau wie bei der Jalousiesteuerung gibt es auch hier zwei verschiedene Möglichkeiten für die Steuerung des Gewächshausfensters. In beiden Fällen wird einen Servomotor angesteuert, der zwischen zwei Positionen wechseln kann. Ist das Fenster geschlossen, steht der Servomotor bei 0 °, wird das Fenster geöffnet fährt der Servomotor auf eine Position von 90 °.
Bei deaktivierter Alarmanlage kann das Gewächshausfenster manuell über die graphische Oberfläche mit zwei Pfeiltasten gesteuert werden (vgl. US03).
Bei aktivierter Alarmanlage wird das Fenster in Abhängigkeit der Sensorwerte für die Temperatur und die Luftfeuchtigkeit gesteuert. Das Fenster ist solange geschlossen bis entweder die Temperatur über 25°C steigt oder die Luftfeuchtigkeit mindestens 80% erreicht. Wird mindestens einer dieser Werte überschritten, wird das Fenster automatisch geöffnet. Sinken die Werte wieder unter die jeweilige Grenze, wird das Fenster geschlossen (Z5.4).
Außerdem wird bei geschlossenem Fenster eine blaue LED (LED5) aktiviert. Eine grüne LED (LED6) signalisiert, dass das Fenster geöffnet ist. (Bilder Fenster auf/zu)
Des Weiteren wird über einen Bodenfeuchtigkeitssensor die Bodenfeuchtigkeit gemessen (Z5.2). Unterschreitet der ermittelte Wert der Bodenfeuchtigkeit im Gewächshaus einen Wert von 30 wird eine gelbe LED (LED3) als Warnung eingeschaltet (Z5.3). Die leuchtende LED kann als Erinnerung an die Bewässerung des Bodens verstanden werden, da dieser zu trocken ist. Diese Funktion wird immer ausgeführt, d.h. auch, wenn kein Nutzer angemeldet ist.
(Video7: Messen der Bodenfeuchtigkeit)