Die Basisstation besteht aus zwei Komponenten. Einem Webserver, welcher auf verschiedene Anfragen reagiert und gegebenfalls Änderungen in der zweiten Komponente der Datenbank vornimmt.
- 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
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 |
Alle Informationen werden in einer SQLite Datenbank gespeichert.
light |
---|
id: integer |
name : string |
ip_address: string |
port: integer |
r: integer |
g: integer |
b: integer |
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
odercurl --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