Aktualizovat README.md
úprava readme
This commit is contained in:
parent
c8a7682eff
commit
37fdf2cce2
1 changed files with 91 additions and 2 deletions
93
README.md
93
README.md
|
|
@ -1,3 +1,92 @@
|
|||
# ghost-mirror
|
||||
# 👻 Projekt Zrcadlo: Digitální Duch 👻
|
||||
|
||||
Jednoduchý python script na pouštění videa z RB po detekci pohybu. Je součástí projektu Ghost Mirror, což je Halloweenský projekt na zobrazování ducha v zrcadle.
|
||||
Proměňte obyčejné zrcadlo v bránu do záhrobí! 😱
|
||||
|
||||
Tento projekt využívá Raspberry Pi a pohybový senzor k vytvoření dokonalé iluze "strašidelného zrcadla". Je navržen jako hlavní atrakce pro Halloweenskou párty. Když se někdo nic netuše přiblíží, zrcadlo ožije a zjeví se v něm duch.
|
||||
|
||||
---
|
||||
|
||||
## ✨ Klíčové vlastnosti
|
||||
|
||||
* **Detekce pohybu:** Duch se objeví, jen když se někdo přiblíží.
|
||||
* **Perfektní iluze:** V klidovém stavu zobrazuje absolutně černou obrazovku. Žádné blikání terminálu, žádný text.
|
||||
* **Plynulé přechody:** Přechod z černé obrazovky na video (a zpět) je okamžitý a plynulý. Iluze není nikdy přerušena.
|
||||
* **Náhodné přehrávání:** Nikdy nevíte, který z duchů se zjeví. Skript si náhodně vybírá ze složky s videi.
|
||||
* **Chytrý zámek:** Senzor je po spuštění videa inteligentně deaktivován přesně na dobu délky videa. Tím se zabrání otravnému restartování scény při dalším pohybu.
|
||||
* **Vysoký výkon:** Všechna videa jsou analyzována předem při startu. Reakce na pohyb je tak bleskurychlá, protože skript už zná délku každého videa.
|
||||
* **Plná konfigurovatelnost:** Vše (GPIO piny, časování) lze snadno nastavit v jediném `config.yaml` souboru.
|
||||
|
||||
---
|
||||
|
||||
## 🛠️ Jak to funguje
|
||||
|
||||
Celý systém běží na **Raspberry Pi Zero 2 W** se systémem Raspberry Pi OS Lite.
|
||||
|
||||
1. **Na pozadí** běží `mpv` přehrávač. Ten neustále zobrazuje černý obrázek (`black.png`) a poslouchá na IPC socketu (`/tmp/mpvsocket`).
|
||||
2. **PIR senzor** (HC-SR501) detekuje pohyb.
|
||||
3. **Python skript** (`ghost_trigger.py`) zachytí signál ze senzoru.
|
||||
4. Skript okamžitě zamkne senzor (`is_playing = True`) a náhodně vybere video a jeho *předem zjištěnou* délku.
|
||||
5. Po uplynutí "zpoždění pro překvapení" (např. 1.5s) pošle pomocí `socat` příkaz do běžícího `mpv`.
|
||||
6. Příkaz obsahuje instrukce: "Plynule přehraj toto video (bez opakování) a hned po něm zařaď do fronty zpět černý obrázek."
|
||||
7. `mpv` provede plynulý přechod, přehraje video a plynule se vrátí k černé.
|
||||
8. Python skript mezitím čeká po přesnou dobu délky videa a poté senzor opět odemkne.
|
||||
|
||||
---
|
||||
|
||||
## ⚙️ Potřebný hardware
|
||||
|
||||
* **Raspberry Pi:** Tento projekt běží na **Raspberry Pi Zero 2 W**. Zvládne to i výkonnější Pi 3/4.
|
||||
* **Displej:** Libovolný tenký LCD panel s HDMI vstupem.
|
||||
* **Zrcadlo:** Polopropustné ("špionážní") zrcadlo nebo fólie.
|
||||
* **Senzor:** Pohybový senzor HC-SR501 (PIR).
|
||||
* **Napájení:** Dostatečně silná powerbanka (alespoň 10 000 mAh) nebo UPS HAT pro delší výdrž.
|
||||
* **SD karta:** (alespoň 8 GB)
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Instalace a spuštění
|
||||
|
||||
1. Naklonujte nebo zkopírujte soubory do složky (`/home/zrnek/duch`).
|
||||
2. **Nainstalujte všechny potřebné závislosti:**
|
||||
```bash
|
||||
sudo apt update
|
||||
sudo apt install mpv ffmpeg socat python3-gpiozero python3-yaml
|
||||
```
|
||||
3. **Připravte prostředí:**
|
||||
* Do složky `videos/` nahrajte své video soubory (s černým pozadím).
|
||||
* Vygenerujte černý obrázek pro pozadí:
|
||||
```bash
|
||||
ffmpeg -f lavfi -i color=c=black:s=1920x1080 -vframes 1 black.png
|
||||
```
|
||||
4. **Nastavte `config/config.yaml`:**
|
||||
* Upravte si GPIO pin, časování a další hodnoty podle svých potřeb.
|
||||
5. **Nastavte službu `systemd`:**
|
||||
* Vytvořte soubor `/etc/systemd/system/ghost-player.service`, aby se skript spouštěl automaticky při startu. (Doporučuje se spouštět jako `root` pro bezproblémový přístup k hardwaru, nebo pečlivě nastavit oprávnění pro uživatele `zrnek`).
|
||||
* Povolte službu:
|
||||
```bash
|
||||
sudo systemctl daemon-reload
|
||||
sudo systemctl enable ghost-player.service
|
||||
sudo reboot
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Konfigurace
|
||||
|
||||
Veškeré nastavení se provádí v souboru `duch/config/config.yaml`:
|
||||
|
||||
```yaml
|
||||
# GPIO pin, ke kterému je připojen PIR senzor
|
||||
pir_pin: 17
|
||||
|
||||
# Název složky s videi
|
||||
videos_dir: "videos"
|
||||
|
||||
# Seznam povolených přípon video souborů
|
||||
video_extensions:
|
||||
- ".mp4"
|
||||
- ".mkv"
|
||||
|
||||
# Zpoždění v sekundách od detekce pohybu po spuštění videa
|
||||
# (pro lepší "leknutí")
|
||||
surprise_delay: 1.5
|
||||
Loading…
Reference in a new issue