_@¡ použijte menu „FILTROVAT TÉMA...“ pro výběr
model k tisku [thingiverse]
Realizace
– Máme jednu nebo více televizí a každá je připojená po HDMI k Raspberry Pi 4B (přehrávač)
– Pro každou TV máme vyhrazenou bezdrátovou krabičku na baterii s jedním ovládacím kolečkem (ovladač)
– Pokud máme více jak jednu TV, tak navíc potřebujeme Raspberry Pi Zero 2 W (nebo jakékoli jiné), které slouží jako centrální komunikační uzel.
Ke stažení [zde].
Program pro ovladač (.ino) a program pro přehrávač (.py)
Otočením vyberu film a stiskem film spustím. Při spuštěném filmu otočení nebo stisk zastaví právě přehrávaný film a vrátí se do výběru filmů.
Jak to funguje?
Ovladač pouze posílá zprávy o tom, co provádí; komunikační uzel běžící na RPi Zero 2 W tyto zprávy přijímá a umí je předat dál; počítač u televize zprávy je přihlášen odběru informací svého ovladače, zprávy přijímá a podle nich jedná.
Ovladač posílá MQTT brokeru v nastavené hierarchii/topic zprávy o otočení (CW | CCW), stisku (SELECT), stavu baterie (BATTERY), přechodu do režimu spánku (SLEEP) a má nastavenou závěť/last will jako (OFFLINE).
Raspberry Pi 4B má spuštěný výběr filmů a je přihlášený k brokeru pro odběr zpráv ze stejného topic, kam posílá zprávy příslušný ovladač.
– Ovladač má XIAO ESP32-C6, rotační enkodér, 18650 Li-ion baterii a notifikační LED
– Raspberry Pi Zero 2 W má nainstalovaný MQTT broker Mosquitto
– Raspberry Pi 4B má nainstalovaný Raspian OS s grafickým prostředím
Ovladač s rotačním enkodérem
Prvotní nastavení
Při zapnutí vypínače držím nejméně pět sekund stisknutý enkodér; notifikační dioda bliká pomalu a pak se rozbliká velmi rychle. Zařízení vytvoří přístupový body wifi – NastavOvladac. Připojím se z mobilu na správu směrovače nebo z notebooku (webová stránka http://198.168.4.1) a provedu konfiguraci. Umí i upgrade firmware.
Použití
Otočením nebo stiskem se ovladač probudí a pošle tyto zprávy: status ON; battery %; akce (CW, CCW, SELECT)
Notifikační LED blíká pomalu – není přístup k Wifi; dvojblik – není přístup k MQTT brokeru.
Po 10 sekundách nečinnosti se ovladač uspí. Probudí se buď akcí enkodéru nebo automaticky jednou za 12 hodin a pošle stav baterie.
Sestavení
– Mikrokontroler XIAO ESP32-C6; má periferii pro rotační enkodér, wifi; lze k němu přímo připojit baterii a má integrovanou i nabíječku
– Rotační enkodér – pro generický KY-040 je nezbytné přidat dva keramické kondezátory (100nF) mezi piny (CLK-GND) a (DT-GND) a pokud chceme minimalizovat spotřebu, když by náhodou zůstal enkodér v mezistavu, kdy se nedokončí úplnou aretaci, tak vyměníme 10k pull-up rezistory na desce za 100k rezistory (rozměr 0805). Pouhé odstranění pull-up rezistorů a spoléhání se na interní pull-up rezistory se nedoporučuje.
– LED a rezistor 100Ω
– baterii 18650 s ochranou nebo externí ochranu po 1S Li-ion baterii [1].
– vypínač, který odpojí plus baterie
– napěťový dělič pro měření baterie (2 × rezistor 100k), 100nF keramický kondenzátor paralelně na spodní rezistor v děliči
Program;Pro Arduino IDE k nahlédnutí [2].
Ke stažení [3] (.ino nebo .bin)
MQTT broker na Raspberry Pi Zero 2 W
Instalace brokeru Mosquitto je dostupná a podrobně popsaná viz [4]. Pokud je vše správně nastaveno, vidím ve výpisu na Raspberry jak přichází zprávy z ovladače; příkazem
mosquitto_sub -h localhost -t "#" -v -u jmeno -P heslo
Příprava filmů pro Raspberry Pi 4B
Na obrazovce jsou náhledy filmů (1920×1080), jmenují se stejně jako film a liší se pouze příponou (.jpg). Filmy připravuju skriptem a náhledy je možné také vygenerovat automaticky. Skripty k náhledu viz [5].
Přehrávač na Rasperry Pi 4B
Instaluju běžný Rapsberry Pi OS (64-bit) uvolněný 2026-04-21.
Zapnu si SSH přes
sudo raspi-config
do složky /home/pi/filmy nahraju filmy (.mp4), které se mají přehrávat a jejich náhledy (.jpg). Mezi náhledy si vyberu, co se bude přehrávat. Obsah pro přehání nahrávám pomocí sftp:// nebo WinSCP.
Programy přehrávače ke stažení [6].
– test spojení s brokerem a ovladačem
python3 test_mqtt.py
– program pro spuštění přehrávače k nahlédnutí [7].
pokud je stav baterie < 20% bliká na náhledovém obrázku vpravo dole čevená ikona vybité baterie
python3 kino_gui.py
Automatické spuštění a přípava RPi tak, aby se choval jako kiosek.
Mám jen svoje poznámky [8], co jsem všechno nastavil a vypnul. Tohle může být individuální.
Vše běží jak má
Časem přidám zkušenosti z praxe.

