Pi with Light Effect

Efekt świetlny dla media playera na Raspberty 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: RaspberryPi shield
  • 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
  • 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: power socket
  • 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:
Connecting Power Wires

Należy przede wszystkim podłączyć sterowanie do taśmy za pomocą pinów Raspberry Pi, zgodnie z kierunkiem strzałki na tasmie:

  • 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. Power Pins Connected
A następnie zasilanie do taśmy LED:
3. Connected LED Strip
Na koniec podłączamy sterowanie taśmą:
4. Everything is Connected

STOP:  Czas aby sprawdzić czy podłączyliśmy sterowanie taśmy – strzałka ?

Efekt końcowy powinien wyglądać tak:

Efekt świetlny: Chip WS2801
Efekt świetlny: Chip WS2801

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 bilbioteki:

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

Pozostaje zainstalować hyperion:

Testujemy podłaczenie do taśmy:


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ę:

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ć:

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

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ć:

oraz: