Moje Rapsberry Pi - Reklamní videostojany

raspipidi

Byl jsem požádán o vytvoření sítě reklamních videostojanů. Na server se umístí reklamní videospot (uživatel video nahraje na server). Reklamní stojany (klienti na RPI) si kontrolují na serveru dostupnost souborů (nové videa se nahrají do RPI, staré se smazají v RPI). Dále se stojany hlásí na webové stránce, kde v logu hlásí svůj stav a zároveň je možné je přes tuto www stránku jednotlivě ovládat. Na RPI je připojen přes HDMI HD monitor se zvukem...

Parametry reklamních stojanů:

počet stojanů v síti: cca 120 ks (síť prodejen v celé ČR)

systém na SD kartě: Linux-Raspbian

napájení RPI: 230V/5V-1A DC adaptér

uložiště video souborů: server v síti - protokol rsync

uložiště video souborů v RPI: USB 2.0 flash disk 8GB (formát ext.2)

Kontrola dat po stažení video souborů: kontrolní součet

formát videosouborů: MP4, max. 720p, kodek H264

připojení RPI k Intenetu: LAN RJ45, USB WiFi, USB 3G modem

připojení zobrazovače: HDMI výstup (obraz, zvuk) v HD

max. počet videospotů na serveru: neomezeno

max. celková velikost souborů videospotů na serveru: 8GB

zpětné hlášení stojanu: na webové stránce (každé přehrátí, hodinový log) stav stojanu...

synchronizace videosouborů: ručně přes příkaz na www, automaticky každou hodinu

ovládání konkrétního stojanu: restart, log, sync, vypnout, výstup relé (spotřebiče) zap, vyp

 

Start systému:

a) po zapnutí napájení začne bootovat systém a RPI čeká na přiřazení IP adresy (od DHCP serveru) na konektoru LAN RJ45. Pokud není IP adresa obdržena kontroluje se připojení sítě přes WiFi USB 2.0 adaptér pokud je použit (opět se čeká na obdržení IP adresy od DHCP serveru). Pokud není adresa obdržena (nebo není vložen WiFi adaptér v USB) kontorluje se připojení sítě přes 3G USB 2.0 modem (opět se čeká na obdržení IP adresy od DHCP serveru). Pokud je obdržena IP adresa pokračuje se bodem b). Pokud není IP adresa obdržena skok na bod c).

 

b) Systém zobrazí přidělenou IP adresu (od DHCP serveru). Provede se test připojení USB flash disku (uložiště pro videosoubory) a kontrola dat na disku (pokud je na flash disku chyba systém se pokusí poškození opravit). Pokud se zjistí, že není USB flash disk připojen (například je poškozen) použije se jako uložiště SD karta. Proběhne synchronizace videosouborů se serverem (nové video bude vloženo na USB flash disk, nebo SD kartu. Staré video bude smazáno z USB flash disku, nebo SD karty). Pokud se na serveru nenachází žádný videosoubor (nic uživatel nenahrál) bude se na reklamním stojanu přehrávat informační video ve smyčce 5 sec: Omlouváme se Vám, video se právě připravuje ve střižně... (co nejdříve Vám ho zobrazíme...). Pokud uživatel vloží video na server všechny stojany si nejdéle do hodiny stáhnou video(a) k sobě do USB uložiště. Po každém přehrátí video souboru se provede odeslání těchto informací na webovou stránku: název stojanu, IP adresa stojanu, přehrávám, čas běhu systému, počet uživatelů přihlášených v systému, teplota jádra procesoru, aktuální čas stojanu. Při synchronizaci (každou hodinu) se zasílá log o počtu přehrátých smyček a stavové informace systému atd...

 

c) Systém zobrazí, že není připojení k Internetu a nebude provedena synchronizace videosouborů. Provede se test připojení USB flash disku a kontrola dat na disku (pokud je na flash disku chyba systém se pokusí poškození opravit). Spustí se smyčka videosouborů z USB disku. Pokud se zjistí, že není USB flash disk připojen (například je poškozen) provede se přehrávání videosmyčky z SD karty (pokud se na kartě nachází nějaký video soubor z předchozí synchronizace, když byla přítomna síť).

 

d) Stojan umožňuje (pokud je osazen modulem spínače SSR) vzdálené zapínání (vypínání) nějakého spotřebiče 230V/10A připojeného do stojanu (lze například na dálku zapnout a vypnout nějaký světelný poutač). Dále stojan reaguje na některé příkazy jako je například restartování systému, vypnutí stojanu na dálku, vynucená synchronizace videosouborů, zaslání logu dříve než po hodině...

 

Webová stránka pro zobrazení stavu video stojanů a pro vzdálené ovládání stojanů

stojanweb

 

Proč jsou data (video soubory) ukládány na USB flash disk a ne přímo na SD kartu?

SD karty trpí obecně oproti flash diskům dřívějším opotřebení buněk a tím ztrátě dat. Toto opotřebení se projevuje pouze při častém přepisování dat (udává se životnost cca 100 000 přepisů do stejné buňky). Z důvodu zvýšení životnosti SD karty (a systémových dat) jsou video soubory ukládány na USB flash disk (flash disk je podstatně levnější než SDHC karta a má několikanásobně krát větší zapisovací životnost oproti SD kartám).

V případě selhání USB flash disku jsou video soubory ukládány na SD kartu. Tzn. uživatel na první pohled nezaznamená chybu reklamního stojanu a "reklama jede dál" k opravě se dostane vadný stojan až po totálním selhání USB a SD karty. Stačí náhrát systém ze zálohy na novou SD kartu, vložit nový USB disk a vše jede opět bez problémů. Tento chybový stav je zobrazován při startování systému na HDMI monitoru a v logu na webové stránce (hláška že stojan bude ukládat na SD kartu - USB flash disk je nepřipojen, nebo poškozen...)