{"id":54774,"date":"2020-01-04T00:00:00","date_gmt":"2020-01-03T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/prostejshaya-internet-radio-kolonka-kodi-ili-spasenie-malinovogo-kirpicha"},"modified":"2020-02-18T14:02:49","modified_gmt":"2020-02-18T11:02:49","slug":"prostejshaya-internet-radio-kolonka-kodi-ili-spasenie-malinovogo-kirpicha","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/prostejshaya-internet-radio-kolonka-kodi-ili-spasenie-malinovogo-kirpicha","title":{"rendered":"La pi\u00f9 semplice cassa audio internet \u00abKodi\u00bb o la salvezza del \u00abMattoncino\u00bb Raspberry","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"La pi\u00f9 semplice cassa audio internet \u00abKodi\u00bb o la salvezza del \u00abMattoncino\u00bb Raspberry\" src=\"\/wp-content\/uploads\/2020\/01\/c20cd49d9e2ba397946a17ed24c117fd.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h5> Premesse principali: <\/h5>\n<p><\/p>\n<ol>\n<li> C'\u00e8 una vecchia scheda Raspberry Pi di prima generazione inutilizzata; <\/li>\n<li> La scheda giace inutilizzata su uno scaffale e non viene utilizzata \u2014 \u00e8 una scheda \"Mattone\"; <\/li>\n<\/ol>\n<p><\/p>\n<h5> Cosa ci si aspetta di ottenere: <\/h5>\n<p><\/p>\n<ol>\n<li> In un certo momento (ad esempio in base all'umore)<br \/>\nla scheda smette di essere un \"Mattone\" e vi si inserisce una scheda di memoria magica; <\/li>\n<li> Si collega un cavo Ethernet alla scheda e il connettore di un normale altoparlante domestico o di cuffie; <\/li>\n<li> Dopo l'accensione, l'ex \"Mattone\" \u2014 <strong>suona<\/strong><\/li>\n<\/ol>\n<p><\/p>\n<h5> Idea principale: <\/h5>\n<p><\/p>\n<ol>\n<li> Minimo sforzo per qualsiasi configurazione, nel caso ideale, ci limitiamo a collegare solo il cavo \"Ethernet\", l'alimentazione e gli altoparlanti, e non facciamo altro, letteralmente <strong>\"niente\";<\/strong><\/li>\n<li> L'ex \"Mattone\" supporta ad esempio 20 stazioni radio internet gi\u00e0 pronte, il passaggio tra di esse pu\u00f2 essere assegnato alla pressione della rotellina del mouse o a un pin GPIO specifico (collegare due fili e chiuderli (un mio sogno da bambino));<\/li>\n<li> Il controllo avviene tramite un canale radio, e questo canale radio pu\u00f2 diventare un normale mouse radio;<\/li>\n<li> Prendere un sistema gi\u00e0 pronto, assemblando il pacchetto in \"Yocto Project\"<br \/>\ncio\u00e8, come al solito, non faremo nulla, poich\u00e9 \u00e8 tutto gi\u00e0 fatto.<br \/>\n(basta mettere un osservatore esterno dall'altra parte <strong>\"del Televisore\"<\/strong>);<\/li>\n<\/ol>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h5>Descrizione<\/h5>\n<p>\nUn semplice altoparlante radio internet \"KODI\"<br \/>\nL'assemblaggio \u00e8 destinato a schede Raspberry Pi 1 vecchie<br \/>\n(che accumulano polvere da qualche parte su uno scaffale, ma pronte per lavorare ancora)<\/p>\n<p>Per impostazione predefinita, viene utilizzato un elenco m3u8 di 12 stazioni radio internet.<\/p>\n<p>Si presume che la scheda funzioni senza uscita HDMI, e per spegnerla \u00e8 sufficiente scollegare l'adattatore di alimentazione dalla presa. E come telecomando ultra moderno senza fili, puoi usare il tuo fantastico mouse radio (o collegare un normale mouse con filo).<\/p>\n<p>All'accensione, l'interfaccia di rete viene configurata di default tramite protocollo DHCP e viene riprodotta l'ultima stazione radio memorizzata nell'elenco; il controllo del volume di riproduzione avviene tramite un normale mouse: <br \/>\n(designa finalmente il tuo mouse come \"capo del controllo\" e congratulati con lui, se lo merita)<\/p>\n<pre><code class=\"html\">  ruotolo in avanti - aumento del volume\n  ruotolo indietro - diminuzione del volume\n  pressione prolungata (3 secondi o pi\u00f9) sul pulsante destro del mouse\n                   - selezione della stazione radio successiva\n  pressione prolungata (3 secondi o pi\u00f9) sul pulsante sinistro del mouse\n                   - selezione della stazione radio precedente\n<\/code><\/pre>\n<p><\/p>\n<blockquote><p>Per aggiungere la propria lista di stazioni radio Internet <br \/>\npuoi sempre collegare un cavo HDMI dalla TV <br \/>\ne utilizzare l'interfaccia grafica integrata di Kodi 17.6<br \/>\n(spegni la scheda, collega l'HDMI e accendi l'adattatore di alimentazione)<\/p>\n<p>Menu principale di Kodi =&gt; \u00abPlugin\u00bb =&gt; \u00abI miei plugin\u00bb <br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0=&gt; \u00abClient PVR\u00bb =&gt; \u00abPVR IPTV Simple Client\u00bb\n<\/p><\/blockquote>\n<p><\/p>\n<h5> Implementazione iniziale <\/h5>\n<p> (possibile)<br \/>\nInizialmente, quando ho deciso di creare il \"Dolby Internet Radio\", avevo pianificato quanto segue:<\/p>\n<ul>\n<li> Distribuzione console minimalista in Yocto Project; <\/li>\n<li> Il flusso audio viene riprodotto tramite GStreamer; <\/li>\n<li> L'interfaccia di rete \u00e8 configurata tramite DHCP; <\/li>\n<\/ul>\n<p>\nE questa soluzione ha diversi vantaggi:<\/p>\n<ol>\n<li> Abbastanza veloce (tempo di avvio da alimentazione a modalit\u00e0 operativa di 30-40 secondi);<\/li>\n<li> Abbastanza affidabile (meno programmi, meno punti di guasto);<\/li>\n<li> La distribuzione console \u00e8 molto pi\u00f9 facile da convertire in modalit\u00e0 sola lettura<br \/>\n cio\u00e8 i programmi non scrivono nulla nel file system root<br \/>\n (e il file system su supporto SDHC \u00e8, a mio avviso, il primo candidato ai guasti);<\/li>\n<\/ol>\n<p>\n<b class=\"spoiler_title\">Nota:<\/b> <\/p>\n<pre><code class=\"bash\">    In Yocto, rendere il file system rootfs in modalit\u00e0 di sola lettura \u00e8 relativamente semplice, modificando un parametro durante la costruzione.  \nDefault, Yocto offre due opzioni:  \n1) Funzionamento del file system in modalit\u00e0 normale di lettura\/scrittura  \n   (cos\u00ec funzionano tutte le distribuzioni generiche, come Ubuntu)  \n2) Funzionamento del file system in modalit\u00e0 di sola lettura  \n   (cos\u00ec funzionano distribuzioni specializzate, come quelle nei router)  \n\nIn modalit\u00e0 di sola lettura, tutte le directory in cui vengono normalmente  \nregistrati i dati delle applicazioni e dei servizi durante l'uso vengono  \nmontate nella memoria RAM (ad esempio, la directory \/var\/log, ecc.)  \nI dati sono validi solo per la sessione di lavoro corrente e dopo un'interruzione di  \nelettricit\u00e0, i dati vengono persi.  \n\nSe nel progetto Yocto specificate di utilizzare \"read only\" durante la costruzione,  \ndopo la costruzione la vostra distribuzione sar\u00e0 impostata in modalit\u00e0 sola lettura,  \nma potrete sempre aggiungere la possibilit\u00e0 di passare dinamicamente  \nda \"read only\" a \"read\/write\", ma questa \u00e8 un'altra storia...\n    <\/code><\/pre>\n<p>\nE un principale svantaggio:<\/p>\n<p>\u00abDeve essere fatto\u00bb, cio\u00e8 devo spendere un certo numero di serate <br \/>\n(di solito dopo il lavoro, ed \u00e8 il momento meno efficace, in questo momento il cervello non pensa pi\u00f9, in genere dorme)<\/p>\n<p>E inoltre, ho scritto il mio precedente articolo su Habr riguardo al centro multimediale <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/467443\">Kodi e Yocto<\/a><\/noindex> progetto<br \/>\ne la possibilit\u00e0 di continuare con lo stesso tema ha superato il mio impulso di ricerca. Di questo nella prossima sezione.<\/p>\n<h5> Trasformare Kodi in una cassa radio internet <\/h5>\n<p>\nPer aggiungere la funzionalit\u00e0 di cui ho bisogno, aggiunger\u00f2 un altro metodo nella ricetta di costruzione della distribuzione descritta in precedenza <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/467443#distrib_recipe_koditv\"> abbiamo chiarito il corretto completamento dei programmi che utilizzano il mediastreamer. <\/a><\/noindex> vedi il file berserk-image.bb <\/p>\n<pre><code class=\"bash\">GUI_SETTINGS = \"home\/root\/.kodi\/userdata\/guisettings.xml\"\n\n# configurazione per l'avvio dell'ultimo canale TV selezionato (1-sfondo 2-primo piano)\nF1_LINE = \"0\"\nR1_LINE = \"1\"\n# configurazione dell'uscita audio, sempre collegato solo l'uscita audio analogica\nF2_LINE = \"PI:HDMI\"\nR2_LINE = \"PI:Analogue\"\n# poich\u00e9 HDMI non \u00e8 utilizzato per impostazione predefinita, disabilito l'aggiornamento automatico\n# altrimenti potrebbe succedere che l'alimentazione vada via, ma i dati non siano stati salvati\nF3_LINE = \"0\"\nR3_LINE = \"2\"\n\n\n# il metodo \u00e8 responsabile dell'aggiunta della configurazione:\n# che trasforma \"Smart TV\" in \"semplice Cassa Radio Internet\"\nadd_radio_guisettings() {\n    sed -i \"s|${F1_LINE}|${R1_LINE}|\" ${IMAGE_ROOTFS}\/${GUI_SETTINGS}\n    sed -i \"s|${F2_LINE}|${R2_LINE}|\" ${IMAGE_ROOTFS}\/${GUI_SETTINGS}\n    sed -i \"s|${F3_LINE}|${R3_LINE}|\" ${IMAGE_ROOTFS}\/${GUI_SETTINGS}\n}\n\n\nFIND_STR = \"touch .\/tmp\/.FIRST_RUN.\"\nSCRIPT_FIRST_RUN = \"etc\/init.d\/first-run.sh\"\n# poich\u00e9 l'uscita HDMI potrebbe non essere utilizzata,\n# \u00e8 necessario disabilitare \"il messaggio di benvenuto all'avvio\"\noff_kodi_welcome() {\n    sed -i \"s|${FIND_STR}|#&amp;|\" ${IMAGE_ROOTFS}\/${SCRIPT_FIRST_RUN}\n}\n<\/code><\/pre>\n<p>\nI metodi sono destinati a modificare il file di sistema root prima di formare l'immagine del distributore in un unico file raw, che viene scritto sulla scheda di memoria utilizzando il comando <strong> dd <\/strong><\/p>\n<p>Questo si fa in questo modo:<br \/>\n<strong>ROOTFS_POSTPROCESS_COMMAND += \u00abadd_radio_guisettings; off_kodi_welcome;\u00bb <\/strong><\/p>\n<p>In breve, nel file di configurazione principale di Kodi 17.6, vengono modificati \"tre elementi\"<\/p>\n<ul>\n<li> Configurazione per l'avvio dell'ultimo canale TV selezionato; <\/li>\n<li> Configurazione dell'uscita audio, sempre collegato solo l'uscita audio analogica; <\/li>\n<li> Disabilitazione dell'aggiornamento automatico; <\/li>\n<li> <b class=\"spoiler_title\">Nota:<\/b>\n<pre><code class=\"html\">    L'unica cosa con cui ho avuto difficolt\u00e0,\n    \u00e8 stata dover anche portare il file del database\n    in formato sqlite =&gt; TV29.db, in cui viene indicato\n    l'attuale canale TV in riproduzione\n    (poich\u00e9 per impostazione predefinita nessun canale \u00e8 selezionato),\n    e questo non pu\u00f2 essere fatto tramite la configurazione xml in Kodi.\n    <\/code><\/pre>\n<\/li>\n<\/ul>\n<p>\nuna sequenza di passaggi pi\u00f9 dettagliata per ciascun punto:<\/p>\n<p>1) Fai clic sull'icona \u00abingranaggio\u00bb nell'angolo in alto a sinistra dello schermo<br \/>\ne seleziona l'opzione \u00abImpostazioni PVR e TV\u00bb (immagine di un televisore con due antenne)<br \/>\npoi nella parte sinistra del menu, seleziona l'opzione \u00abRiproduzione\u00bb, e nella sezione centrale \u00abGenerale\u00bb<br \/>\nspecifica nel menu a discesa \u00abRiprendi dall'ultimo canale all'avvio\u00bb<br \/>\nselezionando l'impostazione \u00abPrimo piano\u00bb<\/p>\n<p>o pi\u00f9 esplicitamente:<\/p>\n<pre><code class=\"bash\">      \"Impostazioni PVR e TV\" \n       =&gt; \"Riproduzione\" \n       =&gt; \"Riprendi dall'ultimo canale all'avvio\" =&gt; \"In primo piano\"\n<\/code><\/pre>\n<p>\n2) Fai clic sull'icona dell'\u00abingranaggio\u00bb nell'angolo in alto a sinistra dello schermo e seleziona:<\/p>\n<pre><code class=\"bash\">       \"Impostazioni di sistema\"  \n       =&gt; \"Plugin\" =&gt; \"Aggiornamenti\" =&gt; \"Non controllare mai gli aggiornamenti\"\n<\/code><\/pre>\n<p>\n3) Fai clic sull'icona dell'\u00abingranaggio\u00bb nell'angolo in alto a sinistra dello schermo e seleziona:<\/p>\n<pre><code class=\"bash\">       \"Impostazioni di sistema\" \n       =&gt; \"Audio\" =&gt; \"Dispositivo di output audio\" =&gt; \"PI: Analogico\"\n<\/code><\/pre>\n<p><\/p>\n<h5> Come ho guardato la televisione in modo sbagliato per due anni. <\/h5>\n<p>\nDevo ammettere che in due anni non sono riuscito a imparare a guardare la televisione nel modo corretto.<\/p>\n<p>Di solito guardo la televisione in cucina. Alla televisione \u00e8 collegata una scheda Raspberry Pi 2B, e la scheda ha porte Ethernet e HDMI. L'alimentazione della scheda \u00e8 fornita tramite un normale cavo USB, collegato alla porta USB della televisione, quindi, in pratica, accendere la televisione con il telecomando fornisce alimentazione anche alla scheda Raspberry Pi, mentre spegnere la televisione con il telecomando, spegne immediatamente anche l'alimentazione della scheda Raspberry Pi.<\/p>\n<p>S\u00ec, sono pienamente consapevole che non dovrei farlo, perch\u00e9 il file system radice del centro multimediale Kodi (ext3) funziona in modalit\u00e0 normale di lettura\/scrittura. Ma sono una persona pigra, e per iniziare ho deciso di verificare quanto a lungo posso spegnere il sistema, fino a quando non smette completamente di avviarsi, ma purtroppo in due anni non sono riuscito a farlo (forse sono solo stato fortunato, non lo so).<\/p>\n<p>E a mio avviso, se questo modo ha funzionato per la mia televisione, dovrebbe funzionare anche per una \"semplice cassa radio Internet\", e dato che ho disabilitato forzatamente gli aggiornamenti automatici per i plugin di Kodi, la probabilit\u00e0 di un guasto del file system diventa ancora pi\u00f9 bassa. Finora non vedo problemi in questo.<\/p>\n<p><b class=\"spoiler_title\">Nota:<\/b> <\/p>\n<pre><code class=\"bash\">    Ma puoi sempre, se lo desideri, utilizzare un comando yocto \n    IMAGE_FEATURES += \"read-only-rootfs\"\n\n    e un po\u2019 di magia per portare la tua distribuzione in modalit\u00e0 \"read only\".\n    <\/code><\/pre>\n<p>La distribuzione \"cassa radio Internet\" descritta nell'articolo \u00e8 per uso domestico, e ci\u00f2 che \u00e8 fondamentale per una distribuzione domestica \u00e8 un'interfaccia grafica attraente. A mio avviso, \u00e8 molto difficile o quasi impossibile insegnare a un utente comune a digitare comandi magici incomprensibili nella console, non conosce nemmeno quel termine. Ma un'interfaccia grafica, quella s\u00ec.<\/p>\n<p>E questo \u00e8 probabilmente il mio principale argomento a favore di una distribuzione non console. L'interfaccia utente grafica calda e accogliente di Kodi, s\u00ec, non \u00e8 particolarmente necessaria, ma esiste.<br \/>\n(Inoltre, ho completamente dimenticato di menzionare che Kodi pu\u00f2 essere controllato da remoto, ad esempio dal tuo smartphone, installando l'app \"Yatse\", e per qualcuno questo potrebbe essere un vantaggio)<\/p>\n<h3> Configurazione di Kodi per il controllo del mouse <\/h3>\n<p>\n<b class=\"spoiler_title\">e ora Razzo<\/b><\/p>\n<pre><code class=\"xml\">VolumeUp\n          VolumeDown\n          ChannelDown\n          ChannelDown\n          ChannelUp\n          &lt;!--\n<\/code><\/pre>\n<p>La configurazione sovrascrive gli eventi globali per i seguenti elementi:<\/p>\n<ul>\n<li> scorrimento della rotella del mouse in avanti <\/li>\n<li> scorrimento della rotella del mouse indietro <\/li>\n<li> pressione del pulsante centrale del mouse <\/li>\n<li> gestione della pressione prolungata del mouse (3 secondi o pi\u00f9),<br \/>\n0 identificatore del pulsante destro, 1 identificatore del pulsante sinistro <\/li>\n<\/ul>\n<p>informazioni pi\u00f9 dettagliate sulla configurazione degli eventi del mouse:<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/kodi.wiki\/view\/Alternative_keymaps_for_mice\">kodi.wiki\/view\/Alternative_keymaps_for_mice<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/kodi.wiki\/view\/Action_IDs\">kodi.wiki\/view\/Action_IDs<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/kodi.wiki\/view\/Window_IDs\">kodi.wiki\/view\/Window_IDs<\/a><\/noindex><\/p>\n<h5> Cosa fare se il tuo sistema via cavo non \u00e8 arrivato<\/h5>\n<p>\n\"Ma a casa non ho porte Ethernet libere (o non ne ho mai avute)\" \u2014 potrebbe esclamare parte dei fortunati possessori di vecchie schede Raspberry Pi 1 (forse la scheda \u00e8 stata acquistata per esplorazione e cos\u00ec \u00e8 rimasta a prendere polvere)<\/p>\n<p>E poich\u00e9 la scheda non ha WiFi integrato, senza connessione Ethernet, non \u00e8 molto funzionale.<\/p>\n<p>Certo, la possibilit\u00e0 di utilizzare la scheda Raspberry Pi 1 senza Ethernet esiste, ma richieder\u00e0 un certo impegno da parte tua. Di solito, queste cose sono interessanti da fare solo nell'ambito dell'apprendimento di qualcosa di nuovo, quindi non \u00e8 un lavoro per l'utente.<\/p>\n<p>Dunque, consideriamo un'ipotesi di utilizzo della scheda senza Ethernet:<\/p>\n<p>Si pu\u00f2 collegare un adattatore USB esterno WiFi, tenendo presente che <br \/>\nl'adattatore deve funzionare bene su Linux <\/p>\n<p><b class=\"spoiler_title\">Nota:<\/b> <\/p>\n<pre><code class=\"bash\">    Sfortunatamente, alcuni adattatori WiFi non funzioneranno, non \u00e8 una caratteristica della distribuzione presentata in questo articolo, ma piuttosto un problema di specifici driver degli adattatori WiFi nel kernel Linux. Si pu\u00f2 affermare che attualmente non puoi semplicemente andare in un negozio e acquistare qualsiasi adattatore WiFi. \u00c8 probabile che tu debba scegliere un adattatore WiFi da un elenco di quelli meno problematici e ben funzionanti su Linux.\n\n Ho verificato solo i seguenti modelli:\n - Adattatore WiFi con chipset Atheros D-Link DWA-126 802.11n (AR9271)\n - Adattatore WiFi NetGear WNDA3200\n - Adattatore WiFi NetGear WNA1100\n - Adattatore WiFi TP-Link TL-WN722N (AR9271)\n - Adattatore WiFi TL-WN322G v3\n - Adattatore WiFi TL-WN422G\n - Adattatore WiFi Asus USB-N53 chipset Ralink RT3572 \n    <\/code><\/pre>\n<p>\nSe hai gi\u00e0 un adattatore WiFi USB, puoi verificare quanto bene funziona su Linux nel seguente modo:<\/p>\n<ul>\n<li>Installa una distribuzione Linux ampiamente diffusa<br \/>\n general purpose, come \"Ubuntu Desktop\" <\/li>\n<li>Avvia il sistema<\/li>\n<li>Collega il tuo adattatore WiFi USB<\/li>\n<li>Avvia il gestore di rete e prova a connetterti al tuo punto di accesso WiFi <\/li>\n<li>Se tutto funziona correttamente e la tua connessione internet \u00e8 stabile, significa che il tuo adattatore \u00e8 ben supportato e puoi continuare a lavorare per collegarlo alla distribuzione specializzata e forse a versioni diverse del kernel.<br \/>\n(se no, beh, purtroppo \u2014 \u00e8 meglio non provare nemmeno) <\/li>\n<\/ul>\n<p>\n<strong> Supporto per adattatori WiFi esterni su \"Raspberry PI\" <\/strong><\/p>\n<p>Per il corretto funzionamento dell'adattatore WiFi su Linux: abbiamo bisogno di due cose:<br \/>\n<strong>1)<\/strong> Supporto del kernel Linux per un determinato adattatore WiFi<br \/>\n<strong>2)<\/strong> Disponibilit\u00e0 in sistema di un modulo kernel per un determinato adattatore WiFi<\/p>\n<p>Prendiamo per esempio l'adattatore TP-Link TL-WN722N. Ha un'antenna davvero eccellente.<br \/>\nTroviamo il chipset su cui la scheda funziona \u2014 nel mio caso \u00e8 \"AR9271\", <b class=\"spoiler_title\">nota:<\/b> <\/p>\n<pre><code class=\"bash\">    La cosa interessante \u00e8 che per lo stesso modello di uno stesso produttore, il chipset WiFi pu\u00f2 variare. Ad esempio, ho riscontrato che per il TL-WN722N versione 2, viene gi\u00e0 utilizzato un chipset diverso, Realtek RTL8188, che gi\u00e0 non funzionava bene su Linux (a quel tempo), purtroppo sono questi i fatti, cio\u00e8, a volte bisogna prestare attenzione ai piccoli numeri della versione sul retro (scuro) dell'adattatore.    \n    <\/code><\/pre>\n<p>\nOra troviamo il nome del parametro nella configurazione del kernel che corrisponde al driver del chipset AR9271, \u00e8 meglio cercare la combinazione di parole \"AR9271 cateee.net\".<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0dove \u00abcateee.net\u00bb \u00e8 un ottimo sito con la descrizione delle configurazioni dei moduli del kernel Linux<\/p>\n<p>Troviamo subito il nome della configurazione del kernel \u2014 <strong>CONFIG_ATH9K_HTC<\/strong><br \/>\ne il nome del modulo del kernel di cui abbiamo bisogno <strong> ath9k_htc <\/strong><\/p>\n<p>e quindi basta indicare il nome del modulo richiesto nel file di frammento della configurazione <br \/>\ndel kernel Linux =&gt; recipes-kernel\/linux\/files\/rbpi.cfg, aggiungi la riga:<br \/>\n<strong> CONFIG_ATH9K_HTC=m <\/strong><\/p>\n<p>In questo modo in seguito puoi collegare qualsiasi hardware aggiuntivo al tuo sistema (se naturalmente \u00e8 gi\u00e0 supportato nel kernel Linux)<\/p>\n<h5> Cosa fare se sei un hobbista geek \u2014 un costruttore <\/h5>\n<p>\nE crei cose fantastiche, come <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/477440\"> qui <\/a><\/noindex> o sei uno studente e sogni di creare qualcosa di simile. <\/p>\n<p>Quindi, a colpo d'occhio, puoi prendere un qualsiasi schermo Touch Screen per RPI su aliexpress, ordinare una batteria ricaricabile adeguata, collegare il tutto alla scheda Raspberry Pi 1, 2 o 3 (meglio alla 3, poich\u00e9 ha il Wi-Fi integrato), scegliere un tema per l'interfaccia grafica in Kodi, progettato per schermi touch e voil\u00e0 =&gt; puoi ottenere un semplice lettore audio. Certamente sar\u00e0 piuttosto ingombrante, ma sar\u00e0 tuo.<\/p>\n<pre><code class=\"bash\">  Nota:\n  A per assemblare un centro multimediale Kodi per la scheda pi\u00f9 economica \n  Raspberry Pi Zero Wifi in yocto, basta modificare due righe:\n\n  file di configurazione =&gt; build\/conf\/local.conf\n      MACHINE = 'raspberrypi0-wifi'\n\n  ricetta di assemblaggio Kodi =&gt; recipes-mediacentre\/kodi\/kodi_17.bbappend\n      EXTRA_OECONF_append = \"${@bb.utils.contains('MACHINE', \n                            'raspberrypi0-wifi', '${BS_RPI}',  '', d)}\"\n<\/code><\/pre>\n<p><\/p>\n<pre>\n  Se la reattivit\u00e0 della GUI Kodi 17.6 \n  a causa di un singolo core del processore in Zero ti sembra \n  misteriosa, puoi fare un trucco e assemblare una versione pi\u00f9 vecchia, \n  ma molto veloce, come Kodi 15.2, che in questo senso \u00e8 pi\u00f9 \n  \"amichevole\" (a volte il legacy risolve tutto)\n<\/pre>\n<p>\nSfortunatamente non ho il dispositivo, quindi non posso verificare, ma dalle mie sensazioni dovrebbe funzionare.<\/p>\n<p><b class=\"spoiler_title\">Istruzioni rapide per l'assemblaggio<\/b> <\/p>\n<pre><code class=\"bash\">    1) Installa le dipendenze di Yocto Project (ad esempio su Ubuntu): \n    sudo apt-get install -y --no-install-suggests --no-install-recommends \n        gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential \n        chrpath socat cpio python python3 python3-pip python3-pexpect \n        xz-utils debianutils iputils-ping python3-git python3-jinja2 \n        libegl1-mesa libsdl1.2-dev xterm\n\n    2) Scarica e installa Repo:\n        mkdir ~\/bin\n        curl http:\/\/commondatastorage.googleapis.com\/git-repo-downloads\/repo &gt; ~\/bin\/repo\n        chmod a+x ~\/bin\/repo\n\n    3) Scarica il progetto da github:\n        PATH=${PATH}:~\/bin\n        mkdir radio\n        cd radio\n        repo init -u https:\/\/github.com\/berserktv\/bs-manifest \n                  -m raspberry\/rocko\/radio-rpi-0.2.8.xml\n        repo sync\n\n    4) Compila il progetto:\n        .\/shell.sh\n        bitbake berserk-image\n        \n    Puoi compilare anche per Raspberry Pi 3B Plus, 3B e 2B:\n    repo init -u https:\/\/github.com\/berserktv\/bs-manifest \n              -m raspberry\/rocko\/radio-0.2.8.xml\n    <\/code><\/pre>\n<p><\/p>\n<blockquote><p> una guida pi\u00f9 dettagliata sulla compilazione <br \/>\n e la scrittura sulla scheda microSDHC vedi <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/467443\/#instruction_koditv\">nell'articolo precedente<\/a><\/noindex>\n <\/p><\/blockquote>\n<h5> Postscriptum <\/h5>\n<p>\nCerto, l'idea di un altoparlante radio Internet \u00e8 comune, \u00e8 ben nota e su Habr troverai molti articoli al riguardo, ad esempio <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/475172\">qui<\/a><\/noindex><\/p>\n<p>E ancora, potresti pensare che io abbia semplicemente adattato i requisiti a una soluzione pronta. A questo posso rispondere di no, davvero onestamente.<\/p>\n<p><b class=\"spoiler_title\">La storia del signor Ervi<\/b> <\/p>\n<pre><code class=\"html\">    Volete credere, volete non credere, ma la faccenda \u00e8 andata cos\u00ec:\n\n    Il nostro ufficio si trova accanto a un'azienda che produce vari dispositivi audio,\n    e un giorno il direttore di questa azienda, chiamiamolo signor \"Ervi\",\n    si \u00e8 avvicinato al nostro vice direttore filiale, il signor \"Arseniy\",\n    e gli ha chiesto quanto fosse difficile installare su una scheda Raspberry Pi\n    la riproduzione di un flusso audio, cio\u00e8 la scheda si collega alla rete\n    e agli altoparlanti, e \"si sente un suono caratteristico\".\n\n    Dopo di che, il signor Arseniy si \u00e8 rivolto al vice del mio\n    superiore, il signor \"Boris\", e gli ha girato la domanda,\n    mentre io, come osservatore esterno, ho accidentalmente memorizzato\n    questa idea e l'ho chiamata \"Il compito dei tre superiori\".\n\n    In generale, volevamo fare bene,\n    ma il risultato \u00e8 stato, citazione - \"Ma il signor Ervi, come sempre, ha aiutato.\"\n\n    Dopo un po', ho chiesto al signor \"Boris\"\n    cosa pensasse di scrivere un breve articolo su questo tema\n    su \"Habr\", a cui \"Boris\" ha risposto che modificare\n    \"tre voci di menu\" in Kodi non porta a nuove informazioni\n    e non merita una menzione separata.\n    Certo, sono completamente d'accordo con lui e quindi non gli dir\u00f2\n    che ho scritto qualcosa al riguardo.\n\n    L'articolo \u00e8 stato scritto esclusivamente per la scheda \"Raspberry Pi 1\"\n    presa dal signor \"Boris\" per la durata dell'esperimento,\n    ogni coincidenza con altre schede \"Raspberry Pi 1\" \u00e8 puramente casuale.\n    <\/code><\/pre>\n<p>Vi auguro tante belle e diverse versioni, e che anche per voi quest'anno persino un vecchio mattoncino possa cantare.<br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/482714\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043f\u0440\u0435\u0434\u043f\u043e\u0441\u044b\u043b\u043a\u0438: \u0415\u0441\u0442\u044c \u0441\u0442\u0430\u0440\u0430\u044f \u043d\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0430\u044f \u043f\u043b\u0430\u0442\u0430 Raspberry Pi \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043f\u043e\u043a\u043e\u043b\u0435\u043d\u0438\u044f; \u041f\u043b\u0430\u0442\u0430 \u043b\u0435\u0436\u0438\u0442 \u043d\u0430 \u0448\u043a\u0430\u0444\u0443 \u043c\u0435\u0440\u0442\u0432\u044b\u043c \u0433\u0440\u0443\u0437\u043e\u043c \u0438 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u2014 \u043f\u043b\u0430\u0442\u0430 \u00ab\u041a\u0438\u0440\u043f\u0438\u0447\u00bb; \u0427\u0442\u043e \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c: \u0412 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u043f\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044e) \u043f\u043b\u0430\u0442\u0430 \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u0435\u0442 \u0431\u044b\u0442\u044c \u00ab\u041a\u0438\u0440\u043f\u0438\u0447\u043e\u043c\u00bb, \u0438 \u0432 \u043d\u0435\u0435 \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u043e\u043b\u0448\u0435\u0431\u043d\u0430\u044f \u043a\u0430\u0440\u0442\u0430 \u043f\u0430\u043c\u044f\u0442\u0438; \u041a \u043f\u043b\u0430\u0442\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f Ethernet \u043a\u0430\u0431\u0435\u043b\u044c \u0438 \u0448\u0442\u0435\u043a\u0435\u0440 \u043e\u0442 \u043e\u0431\u044b\u0447\u043d\u043e\u0439 \u0431\u044b\u0442\u043e\u0432\u043e\u0439 \u043a\u043e\u043b\u043e\u043d\u043a\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":54775,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-54774","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/prostejshaya-internet-radio-kolonka-kodi-ili-spasenie-malinovogo-kirpicha\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041f\u0440\u043e\u0441\u0442\u0435\u0439\u0448\u0430\u044f \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0440\u0430\u0434\u0438\u043e \u043a\u043e\u043b\u043e\u043d\u043a\u0430 \u00abKodi\u00bb \u0438\u043b\u0438 \u0441\u043f\u0430\u0441\u0435\u043d\u0438\u0435 \u00ab\u041c\u0430\u043b\u0438\u043d\u043e\u0432\u043e\u0433\u043e\u00bb \u043a\u0438\u0440\u043f\u0438\u0447\u0430 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/prostejshaya-internet-radio-kolonka-kodi-ili-spasenie-malinovogo-kirpicha\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-01-03T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:02:49+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47La semplice colonna radio Internet \u00abKodi\u00bb o il salvataggio del mattoncino \u00abRaspberry\u00bb | ProHoster","description":"Principali.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/prostejshaya-internet-radio-kolonka-kodi-ili-spasenie-malinovogo-kirpicha","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041f\u0440\u043e\u0441\u0442\u0435\u0439\u0448\u0430\u044f \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0440\u0430\u0434\u0438\u043e \u043a\u043e\u043b\u043e\u043d\u043a\u0430 \u00abKodi\u00bb \u0438\u043b\u0438 \u0441\u043f\u0430\u0441\u0435\u043d\u0438\u0435 \u00ab\u041c\u0430\u043b\u0438\u043d\u043e\u0432\u043e\u0433\u043e\u00bb \u043a\u0438\u0440\u043f\u0438\u0447\u0430 | ProHoster","og:description":"\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435.","og:url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/prostejshaya-internet-radio-kolonka-kodi-ili-spasenie-malinovogo-kirpicha","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-01-03T21:00:00+00:00","article:modified_time":"2020-02-18T11:02:49+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"54774","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-24 12:41:20","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 19:58:22","updated":"2026-01-24 12:41:20","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/54774","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=54774"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/54774\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/54775"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=54774"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=54774"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=54774"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}