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!
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:
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:
A następnie zasilanie do taśmy LED:
Na koniec podłączamy sterowanie taśmą:
STOP: Czas aby sprawdzić czy podłączyliśmy sterowanie taśmy – strzałka ?
Efekt końcowy powinien wyglądać tak:
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
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 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
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