2

Malinowe Przepisy – Co [PI]szczy w Raspberry? – uzupełnienie cz. 2

Dzisiaj dalsza część zmagań z Mopidy i kilka kolejnych przykładów jego konfiguracji. Skoro przy słowie konfiguracja jesteśmy to zainstalujmy coś, co pomoże nam zmieniać plik konfiguracyjny (w uproszczonym stopniu) z poziomu przeglądarki internetowej. Autorem wpisu jest Rafał Świętonowski. Jest to rozszerzenie (backend extensions)  znane z oprogramowania PIMusicBox ale można je wykorzystać także w dowolnej instalacji Mopidy. To rozszerzenie […]

Dzisiaj dalsza część zmagań z Mopidy i kilka kolejnych przykładów jego konfiguracji. Skoro przy słowie konfiguracja jesteśmy to zainstalujmy coś, co pomoże nam zmieniać plik konfiguracyjny (w uproszczonym stopniu) z poziomu przeglądarki internetowej.

Autorem wpisu jest Rafał Świętonowski.

Jest to rozszerzenie (backend extensions)  znane z oprogramowania PIMusicBox ale można je wykorzystać także w dowolnej instalacji Mopidy. To rozszerzenie przyda się także z innego powodu – dodatkowo zmienimy klienta www (web extensions) dla naszego serwera Mopidy a jedną z pozycji w menu tego klienta będzie właśnie polecenie zmieniające parametry konfiguracyjne i korzystające z rozszerzenia Mopidy-WebSettings.

Aby doinstalować interesujące nas rozszerzenie, wpisujemy w oknie terminala następującą komendę (sposób znany z poprzedniego artykułu):

pi@raspberrypi ~ $ sudo pip install Mopidy-WebSettings

Następnie musimy poddać edycji plik mopidy.conf

pi@raspberrypi ~ $ sudo nano /etc/mopidy/mopidy.conf

i dodać następujący wpis:

[websettings]
enabled = true
musicbox = false
config_file = /etc/mopidy/mopidy.conf

Po zrestartowaniu serwisu mopidy i wpisaniu odpowiedniego adresu w przeglądarce, naszym oczom powinien ukazać się taki ekran:

http://adres_ip:6680/settings

2

Jak widać powyżej, parametry konfiguracyjne podzielone są na określone grupy, wynikające np. z doinstalowanych do Mopidy rozszerzeń (backend extensions).

Zmieńmy teraz naszego klienta www (web extensions) aby można było w prosty sposób skorzystać z powyższego rozszerzenia. Musimy go oczywiście doinstalować. Jak już podawałem w poprzednim artykule, lista takich klientów znajduje się pod tym adresem. Nas interesuje klient MusicBox-Webclient, który podobnie jak rozszerzenie Mopidy-WebSettings używany jest w PIMusicBox.

Instalacja odbywa się w znajomy już sposób:

pi@raspberrypi ~ $ sudo pip install Mopidy-MusicBox-Webclient

Restartujemy usługę mopidy i wpisujemy odpowiedni adres w przeglądarce:

ip_adres:6680/musicbox_webclient

3

Ekran główny został podzielony na kilka sekcji. Po lewej stronie mamy możliwość przeglądania zasobów dostępnych z mopidy, po prawej pojawia się zawartość właściwa dla wybranej pozycji z menu po lewej stronie. Na dole jest podgląd na aktualnie odtwarzany zasób medialny (pliki audio, radio internetowe, itp.) oraz przyciski sterujące. W menu po lewej stronie widać także pozycje Settings (tutaj właśnie jest podpięte rozszerzenie, które instalowaliśmy wcześniej) oraz pozycja System, dająca możliwość wyłączenia lub restartu Mopidy.

Doinstalujmy teraz kilka dodatkowych rozszerzeń aby zademonstrować użytkowanie serwisów internetowych. W poprzednim artykule pokazywałem jak podpiąć serwis Spotify (dostępny jest w pozycji Browse lewego menu) a dzisiaj doinstalujmy obsługę serwisu Tunein oraz Youtube.

Aby tego dokonać musimy w oknie terminala wpisać znane już komendy:
Instalacja i konfiguracja Tunein:

pi@raspberrypi ~ $ sudo pip install Mopidy-TuneIn 

W pliku konfiguracyjnym mopidy.conf dodajemy następujące wpisy:

[tunein]
timeout = 5000

Instalacja rozszerzenia obsługującego serwis Youtube:

pi@raspberrypi ~ $ sudo pip install Mopidy-Youtube

Zobaczmy co możemy z tym zrobić:

34

Jak widać na obrazku, serwis TuneIn pojawił się na liście w menu Browse. Po kliknięciu możemy zobaczyć np. taką zawartość:

Schowekewe

A co z Youtube? No cóż, jest równie prosto. Wystarczy wybrać menu Serach, z rozwijanej list wskazać serwis Youtube, w polu wyszukiwania wpisać interesujący nas temat i wszystko:).

Na liście u dołu ekranu pojawi się interesująca nas zawartość:

wwe

Tak w telegraficznym skrócie wygląda dodawanie i konfigurowanie dodatkowych usług (w tym wypadku internetowych) do Mopidy. Zajmiemy się w tym artykule jeszcze jednym tematem, który przyda nam się w następnej (ostatniej) części poświęconej muzycznemu wykorzystaniu RPI.

Pamiętacie taki rysunek z konfiguracją centrum muzycznego? Dla tych, którzy nie pamiętają albo nie widzieli wcześniejszych artykułów poniżej przypomnienie:

ewe

Powyższy rysunek różni się od poprzedniego dodatkowymi wpisami (na czerwono). Jak już pewnie wszyscy się domyślili do naszej konfiguracji dojdzie usługa UPnP. W jakim celu ? Otóż przygotujemy nasz serwer MPD (w tej roli Mopidy) do roli Media Renderer’a aby umożliwić sterowanie naszym serwerem za pomocą aplikacji (np. BubleUPnP na smartfony lub Upplay na PC – GNU/Linux). Jaki jest zatem scenariusz teraz dla naszej konfiguracji. Występuje w nim kilka elementów:

  • Media Server – w tej roli może być np. serwer NAS z uruchomioną usługą minidlna.
  • UPnP Control Point – jest to urządzenie na którym budujemy listę odtwarzania wybranych mediów, dostępnych z Media Serwera i przekazujemy instrukcję odtwarzania do Media Renderer’a. Na smartfonach możemy do tego celu wykorzystać np. aplikację BubleUPnP,
  • Media Renderer – urządzenie odbierające treści muzyczne i instrukcje z urządzenia Control Point i odtwarzające je. W tej roli, po odpowiedniej konfiguracji, wystąpi Mopidy.

W celu nadania roli Media Rederer naszemu RPI, użyjemy metody polecanej przez twórców Mopidy ze względu na prostotę konfiguracji oraz zgodność ze standardem OpenHome. Metoda ta wykorzystuje Mopidy-MPD (czyli usługę, którą cały czas wykorzystujemy w naszych zabawach) oraz oprogramowanie upmpdcli (pokazuje Mopidy jako Media Renderer w sieci kiedy używamy protokołu MPD do kontrolowania Mopidy).

Skoro już wszystko wyjaśnione i zrozumiałe, możemy przystąpić do konfiguracji Mopidy. Najpierw musimy doinstalować aplikację upmpdcli. W tym celu najpierw tworzymy plik upmpdcli.list z odpowiednimi wpisami. W oknie terminala wpisujemy:

pi@raspberrypi ~ $ sudo nano /etc/apt/sources.list.d/upmpdcli.list

i dodajemy wpisy:

deb http://www.lesbonscomptes.com/upmpdcli/downloads/debian/ unstable main 
deb-src http://www.lesbonscomptes.com/upmpdcli/downloads/debian/ unstable main

a następnie wpisujemy następujące komendy:

pi@raspberrypi ~ $ sudo apt-get update
pi@raspberrypi ~ $ sudo apt-get install upmpdcli

Aby dokonać zmian parametrów konfiguracyjnych, należy poddać edycji następujący plik: 

pi@raspberrypi ~ $ sudo nano /etc/upmpdcli.conf

Startowe ustawienie są jak najbardziej wystarczające. Możemy jedynie pokusić się o zmianę nazwy, pod którą Mopidy ma być widoczny w sieci jako Media Renderer:

# Displayed „Friendly Name” for the UPnP Media Renderer
friendlyname = UpMpd-RPI-Mopidy

Teraz możemy uruchomić oprogramowanie upmpdcli jako serwis

pi@raspberrypi ~ $ sudo /etc/init.d/upmpdcli start

Jak sprawdzić czy wszystko działa poprawnie ? Możemy użyć do tego celu np. aplikacji upnp-inspector (dostępna np. dla Ubuntu) i zobaczyć czy nasze urządzenie pojawia się na liście dostępnych:

ereNa obrazku widać urządzenie UpMpd-RPI-Mopidy. Z poziomu tej aplikacji też możemy wydawać określone polecenia do naszego Media Renderera, Wygodniejsze jednak będzie docelowo użycie aplikacji pełniącą rolę Control Point. Ja do celów prezentacyjnych wybrałem aplikację Upplay. Aby zainstalować ją np. w Ubuntu należy wpisać następujące komendy:

sudo add-apt-repository ppa:jean-francois-dockes/upnpp1 
sudo apt-get update 
sudo apt-get install upplay

Po uruchomieniu aplikacji zostaniemy poproszeni o wybranie z listy Media Renderer’a:

222

Następnie powinniśmy dodać serwer z zawartością muzyczną (Media Server):

eres

Od tej chwili możemy przesyłać zawartość muzyczną z naszego Media Servera do Mopidy (Media Renderer’a) w celu jej odtworzenia.

Poniżej jeszcze jeden obrazek pokazujący odtwarzanie konkretnego utworu z punktu widzenia klienta www do Mopidy  oraz aplikacji Upplay:

dfdfs

To tyle zabawy tym razem. W następny (ostatnim w tym temacie) artykule zbierzemy to wszystko w całość i uruchomimy multiroom. Zapraszam.