A legjobb karácsonyi ajándék magamnak: Youtube Rádió 0 Ft-ból :)

Történt kb. két hónapja, hogy eszembe jutott van egy csomó fölös alkatrészem, amiből akár valami webes ébresztő órát is lehetne építeni.
Akadt egy régi Raspberry A modell benne egy microSD kártyával, hozzá doboz meg egy pici D osztályú erősítő adapterrel, régi autós hangszórók (amik sohasem voltak használva), és találtam később még egy LAN adaptert meg egy USB hub-ot is! Ja és volt még egy USB-s nyomógombom, amit régebben gyártottam egy olcsó USB billentyűzetből!

Mindegyik valamilyen befejezetlen projektből maradt. Mit lehet ezekkel kezdeni? Igazából innen már egyszerűnek tűnt a dolog, gyúrjuk az egészet egybe és kész az ébresztős webrádió!!

A cél az volt, hogy szólaljon meg az Apple Music egy playlistje reggel. Majd, ha megnyomom a gombot, hagyja abba a lejátszást.
Ehhez kell valami könnyű súlyú OS + valami szoftveres kliens.
Az OS a Rasbpian Lite lett (mert ehhez nincs GUI) a kliens pedig a mopidy.

Mellékszál egyébként, de érdekes:
Azt kell tudni a nyomógombról, hogy egy régebbi, teljesen másik projektből maradt meg.
Ez egy usb-s billentyűzet vezérlőn alapul. Gyakorlatilag megvettem a legolcsóbb usb-s billentyűzetet a boltban és szétszedtem.
Majd a kollégámmal kimértük melyik az a pont a nyákon, amit, ha leföldelünk akkor a backspace-t nyomja le. Innentől már könnyű dolgunk volt, mert a vezérlőt csak rá kellett kötni egy kapcsolóra és működött is. Bekötött a kollégám egy LED-et pluszba, hogy világítson is a gomb.

Viszonylag simán ment a raspbipan letöltése. Torrentről volt a leggyorsabb. Bár a microSD kártyán lévő régi rendszerrel azért megszenvedtem mire le sikerült törölni a kártyáról. De a windows 7 lemezkezelője szerencsére megoldotta.
DD-vel felmásoltam az img-t a microSD-re majd boot és láss csodát ment szépen az OS.
Viszonylag könnyen be tudtam állítani, hogy az erősítőt használja a kis pi.
Ez után újraindítás, majd lejátszottam a teszt fájlt és megszólaltak a hangfalak.
Jöhetett a mopidy telepítés és konfigurálás… Ez hosszú órákat vett el az életemből. Az a baj, hogy lassú volt a kis pi (hisz még az első szériából való SoC van benne, ha jól emlékszem) és szerintem a microSD sem a leggyorsabb…
Lényeg a lényeg, már majdnem kész volt a projekt.
Annyi maradt még hátra, hogy lejátssza az itunes zenéket és egy gombnyomásra abbahagyja a lejátszást. Meg nem árt, ha a hangerőt nem lehet feljebb csavarni 10%-nál… (Amikor először megszólalt max hangerőn a család frászt kapott :D ) Szó ami szó, hangosak a régi autós hangszórók. :)
Sajnos az itunes plugin-ba csalódnom kellett. Nem tud autentikációt, csak az ingyenes tartalmat tudja lejátszani.

Mit lehet tenni? Youtube! Ami itunes-on fenn van zene és ébresztőnek kell (nálam) az valszeg fenn van youtube-on is! Van youtube plugin a Mopidy-hez? Van! Akkor mehet a telepítés...

Beállítottam végül egy dolog kivételével mindent. A lejátszási listákkal picit elszöszöltem, mert nem mindegy milyen szintaktikával írtam rá a youtube linkeket a listára. Az ébresztő plugin ugyanis elég válogatós és nem ette meg akárhogy...

Az utolsó dolog:
A terv az volt, ha megnyomom a gombot, ami egy Backspace gomb akkor álljon meg a lejátszás. Túrtam a netet egy darabig mire megtaláltam a megoldást. Egy python szkript lett, aminek meg kell adni az USB billentyűzet event fájlját és hogy milyen billentyű kombinációra milyen parancsot futtasson le.

Záró gondolatok:
Egy hónapja kezdtem neki a projektnek és azért lett csak most kész, mert alig volt időm vele foglalkozni. Összesen kb. 3 napot dolgoztam rajta. :) Egy ilyen webrádió a boltban kőkemény pénzekért megy. Jó, az azért profibb munka, nem csak amolyan összetákolt izé mint az enyém. De itt nem is ez a lényeg, hanem hogy egyszerű, nagyszerű és olcsó. És az enyém és én csináltam. :)

Függelék:
https://www.raspberrypi.org/downloads/raspbian/
https://www.mopidy.com
https://pypi.org/project/inputexec/

Példa parancs inputexec-hez:
inputexec --action-commands=/etc/inputexec.ini --action-mode=run_sync --source-file=/dev/input/event0

Hozzászólások

Cool stuff! Egybe dobozolva még mutatósabb lenne!

Én is saját tákolmányra kelek, igaz csak egy szoftver notebookra. Én azzal fűszereztem meg, hogy a hangerőt nagyon lassan, percek alatt állítja hangosabbra, így extrém kíméletes. Meg a playlistet is úgy válogattam össze, hogy lágyabbtól megy a pörgősebb felé.

Ezzekkel a parancsokkal állítom a hangerőt: https://github.com/rizsi/musicwakeup/blob/09a34b06892914e13048692d70d23…

Egyszer megszívtam, hogy mute-on maradt a kimenet, és nem keltett fel. De ez a változat már a mute-ot is kikapcsolja. Egyszer meg fejhallgatót felejtettem a notebookban, az ellen nem véd semmi. Bár lehet, hogy szoftveresen akkor is be lehet valahogy kapcsolni a hangszórót.

Köszi!
Igen a dobozoláson és is gondolkodom. Köszönöm a hangerő állítót is! Viszont a plugint amit használok ébresztő órának be lehet úgy állítani, hogy hangosodjon. Pont ahogy te is írtad. Sőt ha nem talál netet a pi, akkor egy default hangot játszik le, úgyhogy ez is pipa. (Pedig ezen gondolkodtam, hogy ilyenkor mi legyen.. )

"Bár a microSD kártyán lévő régi rendszerrel azért megszenvedtem mire le sikerült törölni a kártyáról. De a windows 7 lemezkezelője szerencsére megoldotta.
DD-vel felmásoltam az img-t a microSD-re majd boot és láss csodát ment szépen az OS."

A dd előtt fölösleges volt a törléssel szenvedni :-)

Lehet, de nekem rémlett valahonnan, hogy többszöri egymásutáni dd-zés uán valamelyik os látta a régi partíciókat is. Ez azért is fura, mert tudtommal a partíciós tábla adatok a lemez elején vannak. Így aztán berögzült, hogy dd előtt ha tehetem töröljem kézzel a partíciós táblákat.

YouTube? Akkor minden második napon reklámra ébredsz, vagy hogy?

Igen, a youtube-dl egy youtube video letöltő szkript, a nyers videót kapod meg parancssorból youtube link alapján (végsősoron a kérdőjel utáni krixkrax azonosító kell neki csak)

Reklám nuku :-)

Úgy működik, hogy a weblapot parszolja, és kitalálja, hogy milyen módon lehet leszedni a streamet. Az is paraméterezhető, hogy melyik felbontást szedje, stb. Ki tudja szedni csak a hangot is, illetve konvertál is egyből pl mp3-ba megfelelő paraméterezéssel.

Általában működik, és amikor nem, akkor hamar peccselik, ezért nem csomagból érdemes telepíteni, hanem simán leszedni a latest szkriptet és parancssorból futtatni.