Benutzer-Werkzeuge

Webseiten-Werkzeuge


projekte:schlosssystem_2026

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
projekte:schlosssystem_2026 [2026-08-21 20:48] – [Protokoll zwischen Schlossaktuator und Authentifizierungsmodul] weneprojekte:schlosssystem_2026 [2026-11-13 21:48] (aktuell) – [NTP] wene
Zeile 111: Zeile 111:
  
 ===== Spezifikationen ===== ===== Spezifikationen =====
 +
 +==== Pfade ====
 +
 +Auf dem Raspberry Pi OS legen wir die Programme und Dateien (bisher) wie folgt ab:
 +<code>
 +/usr/local/bin/          # alle Ausführbaren Scripte und Programme
 +/var/lib/towel/towel.db  # die SqLite 3 Datenbank
 +/etc/systemd/system/     # systemd service dateien
 +/run/towel/              # Sockets die zur Laufzeit angelegt werden
 +/usr/local/etc/          # unsere eigenen Konfigurationsdateien
 +</code>
 +
 +==== Benutzer ====
 +
 +Alle Services laufen unter Benutzer und Gruppe ''towel:towel''.
  
 ==== Protokoll zwischen Schlossaktuator und Authentifizierungsmodul ==== ==== Protokoll zwischen Schlossaktuator und Authentifizierungsmodul ====
Zeile 153: Zeile 168:
  
   * Bereitschaftszustand des Schlossaktuators - im Ruum42 ob Licht brennt, kann aber auch anders definiert werden: ''isReady:true'' / ''isReady:false''   * Bereitschaftszustand des Schlossaktuators - im Ruum42 ob Licht brennt, kann aber auch anders definiert werden: ''isReady:true'' / ''isReady:false''
-  * Status des Schlosses: ''state:open'' / ''state:closed''+  * Status des Schlosses: ''isOpen:true'' / ''isOpen:false''
   * Kommando zum öffnen und schliessen: ''command:open'' / ''command:close''   * Kommando zum öffnen und schliessen: ''command:open'' / ''command:close''
  
Zeile 183: Zeile 198:
 # Den RasPi Timestamp anpassen für den Fall, dass es ohne Verbindung zum NTP Server startet # Den RasPi Timestamp anpassen für den Fall, dass es ohne Verbindung zum NTP Server startet
 sudo touch /var/lib/systemd/timesync/clock sudo touch /var/lib/systemd/timesync/clock
 +
 +# Existierendes Zertifikat erneuern
 +openssl x509 -x509toreq -in server.crt -out server.csr -signkey server.key 
 +openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -out server.crt -days 30
 +
 </code> </code>
 +
  
 ==== MQTT ==== ==== MQTT ====
Zeile 200: Zeile 221:
  
 # Kommando zum Öffnen an's Schloss schicken: # Kommando zum Öffnen an's Schloss schicken:
-mosquitto_pub -h wene-raspi-lock -t "main_lock/command/userName/userSecret" -m "open" -p 8883 --cafile path/to/ca.crt+mosquitto_pub -h wene-raspi-lock -t "command/main_lock/userName/userSecret" -m "open" -p 8883 --cafile path/to/ca.crt
  
 # Das Schloss schickt den Status "opened" zurück: # Das Schloss schickt den Status "opened" zurück:
-mosquitto_pub -h wene-raspi-lock -t "main_lock/status" -r -m "opened" -p 8883 --cafile ca.crt+mosquitto_pub -h wene-raspi-lock -t "status/main_lock" -r -m "opened" -p 8883 --cafile ca.crt
 # Das Flag '-r' steht für "retain" und bedeutet, dass dieser Wert auf dem Broker als Status gespeichert bleibt und neuen Clients bei Verbindung zugestellt wird. # Das Flag '-r' steht für "retain" und bedeutet, dass dieser Wert auf dem Broker als Status gespeichert bleibt und neuen Clients bei Verbindung zugestellt wird.
 </code> </code>
Zeile 336: Zeile 357:
 Beim Starten des RasPi ohne Zugang zum echten NTP Server wird die Änderungszeit der Datei ''/var/lib/systemd/timesync/clock'' verwendet. Leider wird dieser Zeitstempel bei Verwendung von ''chrony'' nicht automatisch aktualisiert. Das muss spätestens beim Ausstellen neuer Zertifikate manuell mit ''sudo touch'' gemacht werden. Beim Starten des RasPi ohne Zugang zum echten NTP Server wird die Änderungszeit der Datei ''/var/lib/systemd/timesync/clock'' verwendet. Leider wird dieser Zeitstempel bei Verwendung von ''chrony'' nicht automatisch aktualisiert. Das muss spätestens beim Ausstellen neuer Zertifikate manuell mit ''sudo touch'' gemacht werden.
  
 +
 +==== NetworkManager ====
 +
 +Auf dem RasPi soll bei Aktivierung des Schlosssystems ein "Notfall-WLAN" aktiviert werden. Damit jeder Benutzer auf dem System das WLAN einschalten kann, also auch der mit dem die Services laufen, ist es am einfachsten die Benutzerprüfung ganz zu deaktivieren. Dazu muss diese Datei angelegt werden:
 +<file - /etc/NetworkManager/conf.d/any-user.conf>
 +[main]
 +auth-polkit=false
 +</file>
projekte/schlosssystem_2026.1787338087.txt.gz · Zuletzt geändert: von wene