Efekt świetlny dla media playera opartego o Raspberry Pi – Raspbmc/Openelec/Libreelec

Raspberry Pi jest jednym z najlepszych wyborów jeśli chodzi o domowy media player. Do wyboru mamy kilka dystrybucji, a jedną z nich: Raspbmc opartą o XBMC zajmę się dziś; ponieważ zawiera w sobie możliwość sterowania bezpośrednio z naszego mini-komputera diodami LED RGB. Sterowanie w czasie rzeczywistym na podstawie krawędzi obrazu jaki aktualnie jest wyświetlany przez raspbmc. Ma to na celu poszerzenie obrazu widzialnego, przez dynamiczne odczytywanie odpowiednich kolorów na brzegach obrazu a końcowy efekt jest widowiskowy.

Efekt świetlny jest więc ciekawy, ale czy na pewno da się w ten sposób oglądać filmy – czy na przykład dla dynamicznych scen nie będzie męczył wzroku ? Okazuje się, że jest bardzo dobrze odbierany przez nasze oczy, nie męczy ich tak jak oglądanie kontrastowego ekranu na ciemnym tle, a co więcej powiększa zdecydowanie peryferyjne pole widzenia. Jak okazuje się z komentarzy – Piotr zauważył, że stosowanie klonów Pi nie jest dobrym pomysłem – pojawił się problem sterowania LED’ami, który został rozwiązany po wymianie na oryginalne Pi.
Zaczynamy, nasz system nie będzie wymagał lutowania!

Lista wymaganego sprzętu

  • 1 sztuka Raspberry Pi 2, 3, 4B lub 5B:
    P2210002-small1-300x200
  • 10 kabli tzw. 'jumper’ a więc takich jakie możemy wetknąć w piny GPIO na Pi – zwykle wystarczają 2 męsko-żeńskie i 2 żeńsko-żeńskie:
    P2210009-small-150x150
  • 1 zasilacz 5V 2 do 6A w zależności od listwy. Będzie jednocześnie zasilał Pi i LED.
  • 1 gniazdo zasilacza z możliwością zatrzaśnięcia kabli:
    P2210007-small-150x150
  • 1 sztuka listwy LED RGB z chipem WS2801 lub tożsamych ale „lampek choinkowych” RGB LED ale także z chipem WS2801. Dla taśmy LED – 2 metry wystarczą na TV 24-32 cali, 3 metry na 42-46. Uwaga: na rynku pojawiaj się także taśmy GRB LED, a więć mają zamienione sterowanie – R z G. Szybko można zauważyć, z którą wersją – RGB czy GRB mamy do czynienia, a oprogramowanie wspiera też taką konfigurację
  • Dla lampek choinkowych – dużo zależy od rozmieszczenia, więc kieruj się opisem.

    Łączymy zestaw

UWAGA PIERWSZA: Listwa LED RGB z WS2801 jest zasilana 5 woltami (5V) i często ma zapotrzebowanie moc rzędy 7 watów na metr, stąd w opisie odpowiedni zasilacz. Policz dokładnie!

UWAGA DRUGA: Będziemy łączyć zasilanie do Raspberry Pi poprzez PINy, a nie poprzez złącze USB. Dlaczego ? Większość problemów powstaje na linii zasilania w tym projekcie, takie rozwiązania, pozwala na eleganckie podłączenie zasilania, bez konieczności szukania mocnego zasilacza z wyjściem USB, lub „przysposabiania” kabla USB. Pamiętaj jednak, że Pi będzie pozbawione bezpiecznika w tym trybie, więc wybierz zasilacz, któremu możesz ufać!

Co wybrać taśmę czy lampki choinkowe ? Obie mają swoje plusy i minusy, o tym później.
Przygotujmy zatem nasze gniazdo zasilacza zasilanie dla RaspberryPI oraz taśmy:
1-two-power-pins
Należy przede wszystkim podłączyć sterowanie do taśmy za pomocą pinów Raspberry Pi, zgodnie z kierunkiem strzałki na taśmie:

PIN 23 – do CLOCK na taśmie (czasami CL)
PIN 19 – do DATA na taśmie (czasami DO)
PIN 2 – do +5V – do zasilacza
PIN 6 – do GND zwanej czasem masą – do zasilacza
Teraz połączmy zasilanie do odpowiednich pinów Raspberry Pi:
2.conecting-pw-pins
A następnie zasilanie do taśmy LED:
3-connecting-leds
Na koniec podłączamy sterowanie taśmą:
4-final-connection
STOP: Czas aby sprawdzić czy podłączyliśmy sterowanie taśmy – strzałka ?

Efekt końcowy powinien wyglądać tak:
full-pi-rgb-led-small1

Oprogramowanie

Raspbmc
Najpierw zajmiemy się raspbmc: Logujemy się przez ssh na nasze Raspberry Pi z raspbmc. Użytkownik i hasło domyślnie takie samo jak w rasbianie, czyli pi i raspberry (w chwili pisania w styczniu 2014).
Następnie przygotowujemy się do zainstalowania hyperiona.

Chwileczkę, ale co to jest hyperion ?

Otóż raspbmc zawiera już w sobie obsługę LED RGB z chipem – jest to projekt boblight. Jest całkiem niezłym, ale dość wolny szczególnie przy większej ilości LED (np: 150 dla 3 metrów taśmy)
Zastąpimy go więc innym kontrolerem – hyperionem.

Najpierw instalujemy potrzebne biblioteki:

sudo apt-get update
sudo apt-get install libqtcore4 libqtgui4 libqt4-network libusb-1.0-0 libprotobuf7 ca-certificates

Następnie wyłączamy boblight (permanentnie!)

sudo /sbin/initctl stop boblight

Pozostaje zainstalować hyperion:

wget -N https://raw.github.com/tvdzwan/hyperion/master/bin/install_hyperion.sh
sudo sh ./install_hyperion.sh

Testujemy podłączenie do taśmy:

hyperion-remote --priority 50 --color red --duration 5000

Teraz pozostaje już tylko skonfigurować efekt świetlny na hyperion zgodnie z rozmieszczeniem i ilością LED. Autor hyperiona przygotował bardzo łatwy w użyciu program napisany w Java, który nalezy pobrać z:
HyperCon.jar
Na głównym ekranie podajemy ile mamy w naszym systemie LED RGB (lub jak wspominam wyżej – w trybie GRB – wtedy należy wybrać w HyperCon odpowiednią opcję) , oraz gdzie są umieszczone, w zależności od podłączenia szyn danych – czy zgodnie z ruchem wskazówek zegara czy tez odwrotnie.
Pozostałe ustawienia – zostawiamy domyślnie, a następnie zapisujemy na dysku konfigurację jako hyperion.conf.json

hypercon_mainscreen_01

Wysyłamy przygotowany hyperion.config.json na Raspberry Pi za pomocą np: scp (pod Linuksem) lub też za pomocą np: WinSCP czy programu FIlezilla pod Windows do katalogu użytkownika pi.
Logujemy się znowu przez ssh na raspbmc i wydajemy komendę:

sudo cp hyperion.config.json /etc/hyperion.config.json

Teraz pozostaje uruchomić ponownie raspbmc i sprawdzić czy wszystko działa jak należy!

OpenELEC

OpenELEC to bardzo ciekawa wersja XBMC, która jest mocno skupiona na samej konwersji, bez dodatkowej otoczki systemu operacyjnego. Jeśli przewinąłeś szybko tutaj, to proszę o zapoznanie sięz akapitem o raspbmc, ponieważ wykorzystamy część konfiguracyjną.
Instalacja Hyperiona jest podobna, po zalogowaniu na root, hasło domyślne: openelec, wystarczy wydać:

curl -L --output install_hyperion.sh --get https://raw.githubusercontent.com/tvdzwan/hyperion/master/bin/install_hyperion.sh
sh ./install_hyperion.sh

Następnie, po przygotowaniu konfiguracji tak jak poprzednio dla raspbmc – umieszczamy ją w

/storage/hyperion/effects

Deinstalacja

Jak z powrotem przywrócić boblight i usunać hyperion praz efekt świetlny?

Zapewne domyślasz się że jeśli jednak chciałbyś wrócić do boblight to należy wykonać:

sudo /sbin/initctl start boblight

oraz:

sudo /sbin/initctl stop hyperion
rm /etc/init/hyperion.config.json

Previous Post Next Post


Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License (c) 2014-2024 Łukasz C. Jokiel, [CC BY-NC-SA 4.0 DEED](https://creativecommons.org/licenses/by-nc-sa/4.0/)