Files
Halloween/UPLOAD.md
T
2026-10-14 05:07:07 +02:00

4.0 KiB

Projektdateien auf einen Raspberry Pi kopieren

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. 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

  • Auf dem Laptop: ssh und rsync.
  • Auf dem Pi: aktivierter SSH-Zugang und rsync.
  • Der Benutzer muss im Zielpfad schreiben dürfen.
  • Für den optionalen Autostart: Pi-Software laut SOFTWARE.md vorbereiten, insbesondere .venv im Zielordner; sudo muss auf dem Pi nutzbar sein.
  • Vor dem ersten Upload den Pi per ssh BENUTZER@HOST erreichen und den angezeigten Hostschlüssel anhand des eigenen Geräts prüfen. Bei einem geänderten Hostschlüssel die Ursache klären, nicht die Prüfung abschalten.

Ablauf

BENUTZER, HOST und ZIEL durch die geprüften Werte ersetzen. ZIEL muss ein absoluter Pfad ohne Leerzeichen sein.

BENUTZER='BENUTZER'
HOST='HOST'
ZIEL='/home/BENUTZER/halloween'

bash tools/upload_to_pi.sh --user "$BENUTZER" --host "$HOST" --remote-dir "$ZIEL"
bash tools/upload_to_pi.sh --user "$BENUTZER" --host "$HOST" --remote-dir "$ZIEL" --apply

Der erste Aufruf zeigt nur die geplanten Befehle. Der zweite legt den Zielordner an und überträgt die Dateien. Ein anderer Quellordner kann mit --source /absoluter/pfad angegeben werden. Anschließend auf dem Pi prüfen:

ssh "$BENUTZER@$HOST" "ls -la '$ZIEL'"

Soll die WebUI auf dem Pi nach jedem Neustart automatisch laufen, beim Upload --install-service ergänzen:

bash tools/upload_to_pi.sh --user "$BENUTZER" --host "$HOST" --remote-dir "$ZIEL" --install-service
bash tools/upload_to_pi.sh --user "$BENUTZER" --host "$HOST" --remote-dir "$ZIEL" --install-service --apply

Der erste Befehl ist wieder nur eine lokale Vorschau. Der zweite überträgt die Dateien, installiert/aktualisiert die systemd-Unit mit sudo auf dem Pi und startet den Dienst. Bei späteren Updates startet der Dienst so mit dem neuen Code neu. Er bindet weiterhin nur an 127.0.0.1 des Pi; vom Laptop aus ist der SSH-Tunnel aus SOFTWARE.md nötig. Es öffnet sich kein Browserfenster von selbst.

Das Skript lässt .git, .venv, data, preview, references, __pycache__, .env und übliche Schlüsseldateien aus. So bleiben Laufzeiteinstellungen auf dem Pi und die großen Konzeptdateien lokal. Es synchronisiert vorhandene Dateien, löscht aber 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.

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.

Personenerkennung nach dem Upload einrichten

Die Modellgewichte und Erkennungseinstellungen liegen unter data/ und bleiben beim Upload erhalten. Bei der ersten Einrichtung nach Code-Übertragung auf dem Pi die zusätzlichen Pakete und das geprüfte Modell ausdrücklich installieren:

cd ~/halloween
sudo apt update
sudo apt install python3-opencv python3-numpy
python3 -m venv --system-site-packages .venv
.venv/bin/python -c "import cv2, numpy; print(cv2.__version__, cv2.__file__); print(numpy.__version__)"
.venv/bin/python tools/install_detection_model.py

Danach den Server neu starten und Linie, Richtung, Bereich und Aktivierung in der WebUI speichern. Details und Fehlerbehandlung in SOFTWARE.md.