Benutzer-Werkzeuge

Webseiten-Werkzeuge


infrastruktur:portal300:shack_open_close_monitor

Portal 300 / shack open close monitor | P300

p1090326-annotated.jpg

Legende (Auszug aus Portal300 / Aufbau )

  • APU
    • WLAN-Accesspoint für SSID „Portal-Dev“
    • Zentrale Steuerung für
      • ESP32 „Status“
  • ESP32 „Status“
    • empfängt den Zustand des Portals via USB serial
    • übermittelt den Zustand des Portals über das shack-WLAN zum Internetservice

Das Open/Close-Monitoring basiert auf der Annahme, dass die shack-Türe nur unverschlossen ist, wenn der shack geöffnet ist.

Abstract

An dem unteren USB-Port der APU ist ein ESP32-µC angeschlossen. Er verbindet sich mit dem WLAN „shack“. Erhält er das Byte 0x12 von der APU, beginnt er alle 60 Sekunden einen HTTPS-Request, „Ping“ genannt, an den API-Endpoint unter https://api.shackspace.de/v1/space/notify-open?auth_token=**** zu senden. (**** repäsentiert hier ein Shared Secret, es ist im Passwort-Tresor unter dem Stichwort „API“ zu finden).

Serverseitig liegt api2.shackspace.de unter /srv/api.shackspace.de die Softwareinstallation. Der Prozess ./api lauscht auf Port 8081 nach den „Pings“ und schreibt den Epoch-Zeitstempel in die Datei /srv/api.shackspace.de/www/last-seen.txt . Der HTTPS-Request wird dabei nicht direkt von api2 behandelt, sondern wird von dem HTTP-Proxy auf proxy2.shackspace.de vermittelt.

Anhand des Alters dieses Zeitstempels entscheiden weitere API-Funktionen, wie https://api.shackspace.de/v1/space und https://api.shackspace.de/v1/spaceapi ob der shack als „open“ oder „closed“ reportet wird.

Die Anzeige im Kopf der Landingpage greift auf <nowiki>https://api.shackspace.de/v1/space<nowiki> zurück.

infrastruktur/portal300/shack_open_close_monitor.txt · Zuletzt geändert: 2024-07-07 19:45 von chris