Benutzer-Werkzeuge

Webseiten-Werkzeuge


infrastruktur:portal300:shack_open_close_monitor
no way to compare when less than two revisions

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.


infrastruktur:portal300:shack_open_close_monitor [2024-07-07 19:45] (aktuell) – angelegt chris
Zeile 1: Zeile 1:
 +====== Portal 300 / shack open close monitor | P300 ======                 
 +{{tag>project infrastructure shackoperations process hardware software}}
 +
 +{{infrastruktur:portal300:p1090326-annotated.jpg?600}}
 +
 +**Legende** (Auszug aus [[infrastruktur:portal300#aufbau|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 <nowiki>https://api.shackspace.de/v1/space/notify-open?auth_token=****</nowiki> zu senden. (<nowiki>****</nowiki> 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: von chris