From bfecfd064089e6744e3e57b1a71f2bf5e857da1b Mon Sep 17 00:00:00 2001 From: Marcinator2 Date: Wed, 14 Oct 2026 02:29:29 +0200 Subject: [PATCH] update --- AGENTS.md | 7 +++++++ PLAN.md | 25 ++++++++++++++++++++----- README.md | 5 +++-- SOFTWARE.md | 17 +++++++++++++++++ UPLOAD.md | 17 ++++++++++++----- halloween/instructions.md | 8 ++++++-- 6 files changed, 65 insertions(+), 14 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 297b48c..eeb71a3 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -163,6 +163,10 @@ Versorgung und Sicherheit im Plan. - `run.py` startet die FastAPI-WebUI nur auf `127.0.0.1`; Laptop-Zugriff erfolgt per SSH-Tunnel. `--demo` kennzeichnet ein synthetisches Bild. +- Nutzer wünscht nun direkten Zugriff im Heimnetz. Manueller Start über + Uvicorn mit `--factory --host 0.0.0.0` ist in `SOFTWARE.md` beschrieben. + Aktuell ohne Login; keine öffentliche Internetfreigabe beauftragt. + `run.py` und systemd bleiben unverändert bei Loopback. - Picamera2 liefert das MJPEG-Livebild; auf dem Entwicklungsrechner wurde nur der Demo-Feed geprüft, nicht die echte Pi-Kamera. - Moduswahl und simulierte Sequenz sind implementiert. GPIO, automatische @@ -172,6 +176,9 @@ Versorgung und Sicherheit im Plan. Merkmalsvektoren für Auto-Profile mit 30-Tage-Frist speichern; die Kamera schreibt derzeit keine solchen Datensätze. - Laufzeitdaten unter `data/` nicht mit dem Uploadskript überschreiben. +- Nutzer-Screenshot vom 14. Oktober 2026 bestätigt SSH-Zugang als + `marcinator_2` auf `raspi5wlan.local` und Projektdateien unter `~/halloween`. + Standgleichheit, Python-Einrichtung und laufende WebUI noch prüfen. - Optionaler systemd-Autostart der WebUI wird mit `--install-service` beim Upload eingerichtet; auf einem echten Pi noch nicht geprüft. diff --git a/PLAN.md b/PLAN.md index 2d7a101..e7672be 100644 --- a/PLAN.md +++ b/PLAN.md @@ -137,7 +137,8 @@ ist für den zunächst vorgesehenen langsamen direkten Handhub nicht nötig. 2,4- und 5-GHz-WLAN (Wi-Fi 5/802.11ac). Empfang am Aufstellort und die tatsächliche Verbindung sind noch nicht geprüft. - Aufkleber am Pi zeigt `raspi5WLAN.local` und darunter `_2`; tatsächlicher - Hostname und Erreichbarkeit sind noch nicht geprüft. + SSH-Zugang über `raspi5wlan.local` als `marcinator_2` ist durch den + Nutzer-Screenshot vom 14. Oktober 2026 bestätigt. - „2mini“ vorhanden: genaue Bezeichnung noch klären. - Kamera: Raspberry Pi Camera Module 3 NoIR, anhand der Beschriftung auf dem Nutzerfoto identifiziert. Funktion noch nicht getestet; Display eventuell vorhanden. @@ -945,6 +946,17 @@ sind bekannt und der Betreiber kann jederzeit stoppen oder sanft schalten. - [x] Projektregeln und erster Plan angelegt. - [x] Allgemeines Uploadskript und Anleitung für Projektdateien vorbereitet. +- [x] SSH-Zugang und Projektdateien unter `~/halloween` auf dem Pi durch + Nutzer-Screenshot vom 14. Oktober 2026 bestätigt. +- [ ] Pi-Dateien mit aktuellem lokalen Stand vergleichen; Python-Einrichtung + und Start der WebUI am Pi prüfen. +- [x] Nutzer-Screenshot vom 14. Oktober 2026 zeigt erfolgreichen Start von + `run.py` mit Uvicorn auf `127.0.0.1:8000` am Pi. Kamera und Browserzugriff + sind dadurch noch nicht bestätigt. +- [x] Alternativen manuellen Uvicorn-Start für den gewünschten direkten + Heimnetzzugriff dokumentiert; kein Code-Update am Pi nötig. +- [ ] Direkten Browserzugriff über `http://raspi5wlan.local:8000` bestätigen; + Zugangsschutz bleibt offen, keine Internetfreigabe beauftragt. - [x] Erste Kamera-WebUI mit Demo-Feed und simulierter Steuerung erstellt; fünf lokale Softwaretests bestanden. - [x] SQLite-Ereignisdatenbank mit Profilkennungen und WebUI-Verwaltung @@ -962,10 +974,13 @@ sind bekannt und der Betreiber kann jederzeit stoppen oder sanft schalten. - [ ] Plan abgestimmt und freigegeben. - [x] Softwareumsetzung begonnen; echte Kamera und Aktoren nicht geprüft. -Die WebUI ist lokal per ASGI und Demo-Bild geprüft. Pi-Kamera, SSH-Tunnel, -Netz, Verdrahtung, Aktoren und Außeneinsatz sind nicht praktisch verifiziert. -Das Upload- und Autostartskript wurde nur lokal geprüft; eine Verbindung zum -Pi, die Unit-Installation und ein Neustart wurden noch nicht getestet. +Die WebUI ist lokal per ASGI und Demo-Bild geprüft. Der Nutzer-Screenshot +vom 14. Oktober 2026 zeigt einen erfolgreichen SSH-Login auf `raspi5wlan.local` +als `marcinator_2` und Projektdateien unter `~/halloween`. Übertragungsmethode, +Zeitpunkt und Standgleichheit sind offen. Pi-Kamera, WebUI auf dem Pi, +SSH-Tunnel, Verdrahtung, Aktoren und Außeneinsatz sind nicht praktisch +verifiziert. Das Upload- und Autostartskript wurde nur lokal geprüft; +Unit-Installation und Neustart am Pi wurden noch nicht getestet. Einkaufslisten mit konkreten Modellen folgen nach Phase 1. Gitea-Prüfung am 14. Oktober 2026: Instanz mit aktivierter TLS-Prüfung und diff --git a/README.md b/README.md index 7bb3a6a..71d3a47 100644 --- a/README.md +++ b/README.md @@ -19,8 +19,9 @@ python3 -m venv .venv ``` Danach `http://127.0.0.1:8000` öffnen. Das Bild ist synthetisch und als -Demo gekennzeichnet. Die WebUI bindet ausschließlich an `127.0.0.1`. -Für den Zugriff auf einen Pi ist ein SSH-Tunnel vorgesehen. +Demo gekennzeichnet. `run.py` bindet ausschließlich an `127.0.0.1`. +Für den Zugriff auf einen Pi ist ein SSH-Tunnel vorgesehen; der alternative +manuelle Start für direkten Heimnetzzugriff steht in [SOFTWARE.md](SOFTWARE.md). ## Dokumentation diff --git a/SOFTWARE.md b/SOFTWARE.md index 568ee52..e7beeef 100644 --- a/SOFTWARE.md +++ b/SOFTWARE.md @@ -59,6 +59,23 @@ ein Schlüssel ist nicht nötig. Ist Port 8000 auf dem Laptop belegt, links vom ersten Doppelpunkt einen anderen freien Port wählen; rechts bleibt der Pi-Port 8000, solange `run.py` dort mit dem Standardport läuft. +### Direkt im Heimnetz ansehen + +Auf Nutzerwunsch ist für den aktuellen Test auch direkter Zugriff im Heimnetz +vorgesehen. Dafür auf dem Pi den laufenden Server mit `Strg+C` beenden und +im Ordner `~/halloween` starten: + +```bash +.venv/bin/python -m uvicorn halloween.web:create_app --factory --host 0.0.0.0 --port 8000 +``` + +Auf dem Laptop anschließend `http://raspi5wlan.local:8000` öffnen; kein +SSH-Tunnel nötig. `0.0.0.0` ist die Bind-Adresse, keine Browseradresse. +Die WebUI hat noch keinen Login: Geräte im erreichbaren Heimnetz können +Kamera und Bedienoberfläche nutzen. Eine öffentliche Internetfreigabe ist +damit nicht beauftragt. Direkter Browserzugriff im Heimnetz ist noch nicht +bestätigt. `run.py` und der bisherige systemd-Dienst bleiben bei Loopback. + ## Ohne Kamera testen Auf einem Rechner mit den Paketen aus `requirements.txt`: diff --git a/UPLOAD.md b/UPLOAD.md index 85fd7e1..225fca9 100644 --- a/UPLOAD.md +++ b/UPLOAD.md @@ -2,9 +2,10 @@ Das Skript `tools/upload_to_pi.sh` kopiert den gewählten lokalen Ordner per SSH und `rsync` auf **einen** Pi. Ohne `--source` ist das Projektverzeichnis -die Quelle. Es löscht keine Dateien auf dem Pi. Die Pi-Adresse, der Benutzer -und der Zielpfad sind noch nicht am Gerät geprüft und werden beim Aufruf -angegeben. +die Quelle. Es löscht keine Dateien auf dem Pi. Benutzer, Host und absoluter +Zielpfad werden beim Aufruf angegeben. Der Nutzer-Screenshot vom 14. Oktober +2026 zeigt einen erfolgreichen SSH-Login als `marcinator_2` auf +`raspi5wlan.local` und Projektdateien unter `~/halloween`. ## Voraussetzungen @@ -62,5 +63,11 @@ keine alten Dateien auf dem Pi. Zugangsdaten und andere Geheimnisse gehören nicht in den Quellordner. Für zwei Pis den Upload mit den jeweils geprüften Zielwerten separat ausführen. -Es wurde bisher keine Verbindung zu einem Pi, keine Übertragung und keine -Installation der systemd-Unit am Gerät geprüft. +## Bestätigter Stand + +Der Nutzer-Screenshot vom 14. Oktober 2026 bestätigt SSH-Zugang und vorhandene +Projektdateien auf dem Pi: unter anderem `run.py`, `halloween/`, `tools/`, +`tests/` und die Requirements-Dateien. Zeitpunkt und Methode der bisherigen +Übertragung sowie die Übereinstimmung mit dem aktuellen lokalen Stand sind +offen. Installation der Python-Pakete, WebUI-Start, Kamera, SSH-Tunnel und +systemd-Autostart sind damit noch nicht bestätigt. diff --git a/halloween/instructions.md b/halloween/instructions.md index 895a8f7..dc76a73 100644 --- a/halloween/instructions.md +++ b/halloween/instructions.md @@ -11,6 +11,9 @@ Hier liegt die erste Pi-WebUI. `run.py` im Projektstamm startet sie. kommen. Beschädigte Einstellungen schalten auf `aus`. - `web.py` bietet WebUI und API; `index.html` ist die Oberfläche. `run.py` bindet an `127.0.0.1`, Zugriff vom Laptop erfolgt per SSH-Tunnel. + Für den vom Nutzer gewünschten direkten Heimnetzzugriff kann Uvicorn + `halloween.web:create_app` als Factory auf `0.0.0.0:8000` starten; + siehe `SOFTWARE.md`. `run.py` und systemd bleiben bei Loopback. - `event_store.py` verwaltet `data/events.sqlite3`. Erfolgreiche manuelle Testauslösungen werden als Ereignisse gespeichert; Profile besitzen Kennungen und können Ereignissen zugeordnet werden. Profil-Löschen entfernt @@ -22,8 +25,9 @@ Hier liegt die erste Pi-WebUI. `run.py` im Projektstamm startet sie. noch nicht implementiert. Eine künftige Erkennung muss Unsicherheit und mögliche Fehlzuordnungen sichtbar machen und am echten Pi geprüft werden. - Der Header `X-Halloween-UI` ist nur eine einfache Schranke für - Schreibaufrufe, kein echter Zugangsschutz. Vor Betrieb mit anderen - Netzfreigaben Authentifizierung entwerfen und prüfen. + Schreibaufrufe, kein echter Zugangsschutz. Der direkte Heimnetzzugriff ist + auf Nutzerwunsch für den aktuellen Test ohne Login vorgesehen; öffentliche + Internetfreigabe ist nicht beauftragt. Zugangsschutz bleibt offen. - Laufzeitdaten liegen standardmäßig unter `data/` und werden weder hochgeladen noch in Git aufgenommen. - Echte GPIO-/Aktorsteuerung erst nach geklärter Mechanik, Versorgung,