Skip to content

Latest commit

 

History

History

gateway

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

Basisstation

Die Basisstation besteht aus zwei Komponenten. Einem Webserver, welcher auf verschiedene Anfragen reagiert und gegebenfalls Änderungen in der zweiten Komponente der Datenbank vornimmt.

Funktionen

  • Die Basisstation verwaltet die einzelnen Glühbirnen im selben Netzwerk
  • Sie stellt ein Netzwerk zur Verfügung mit dem sich die Glühbirnen verbinden
  • Neue Glühbirnen werden von der Basisstation nicht automatisch registriert
  • Der Zustand der Glühbirnen wird über die Basisstation gesetzt

Webserver

REST API

Methode Endpunkte Parameter Antwort Beschreibung
GET /devices [ip_address] Gib alle IP-Adressen im Netzwerk
GET /lights [light] Gib alle registrierten Glühbirnen
POST /lights {"name": <string>, "ip_address": <string>, "port": <integer> } Eine Glühbirne hinzufügen / registrieren
PUT /lights/<id> {"name": <string>, "r": <integer>, "g": <integer>, "b": <integer>} Eine Glühbirne updatend
DELETE /lights/<id> Eine Glühbiren löschen

Datenbank

Alle Informationen werden in einer SQLite Datenbank gespeichert.

Entitäten

light
id: integer
name : string
ip_address: string
port: integer
r: integer
g: integer
b: integer

Implementierungen

Testen

Natürlich kann die Implementierung der Basisstation im gesamten System getestet werden. Es ist aber auch möglich die Basisstation unabhängig vom restlichen System zu testen, indem die einzelnen Endpunkte aufgerufen werden. Zum Beispiel mit:

  • Android: RestClient
  • Desktop: Insomnia importiere insomnia oder lege die Anfragen neu an
  • Terminal: Curl curl http://localhost:8000 oder curl --header "Content-Type: application/json" --request POST --data '{"ip_address": "192.169.2.72", "port": "80", "name": "Schlafzimmer", r": 100,"g": 0, "b": 20}' http://localhost:8000/lights