{"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\/nl\/blog\/administrirovanie\/prostejshaya-internet-radio-kolonka-kodi-ili-spasenie-malinovogo-kirpicha","title":{"rendered":"De simpelste internet radio speaker 'Kodi' of de redding van de 'Raspberry' brick.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"De simpelste internet radio speaker &#039;Kodi&#039; of de redding van de &#039;Raspberry&#039; brick.\" src=\"\/wp-content\/uploads\/2020\/01\/c20cd49d9e2ba397946a17ed24c117fd.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h5> Belangrijke voorwaarden: <\/h5>\n<p><\/p>\n<ol>\n<li> Er is een oude, ongebruikte Raspberry Pi 1-bord; <\/li>\n<li> Het bord ligt op de kast als dode last en wordt niet gebruikt - het bord is een 'Baksteen'; <\/li>\n<\/ol>\n<p><\/p>\n<h5> Wat ik graag zou willen bereiken: <\/h5>\n<p><\/p>\n<ol>\n<li> Op een bepaald moment (bijvoorbeeld naar humeur)<br \/>\nverliest het bord zijn 'Baksteen' status en wordt er een magische SD-kaart in geplaatst; <\/li>\n<li> Er wordt een Ethernet-kabel en een stekker van een gewone huishoudspeaker of koptelefoon op het bord aangesloten; <\/li>\n<li> Na het inschakelen is de voormalige 'Baksteen' - <strong>aan het zingen;<\/strong><\/li>\n<\/ol>\n<p><\/p>\n<h5> Het belangrijkste idee: <\/h5>\n<p><\/p>\n<ol>\n<li> Minimale bewegingen voor enige configuratie, in het ideale geval sluiten we alleen de 'Ethernet'-kabel, de voeding en de speakers aan, en verder doen we helemaal niets. <strong>Dat wil zeggen, helemaal niets;<\/strong><\/li>\n<li> De voormalige 'Baksteen' ondersteunt standaard bijvoorbeeld 20 internetradiostations, het wisselen van stations kan gedaan worden door het scrollwiel van de muis of door een bepaalde GPIO-pin aan te sluiten (verbinden van twee draden en deze aan te sluiten (mijn kinderdroom));<\/li>\n<li> De bediening vindt plaats via een radiofrequentiekanaal, en dit kanaal kan een gewone radiomuis zijn;<\/li>\n<li> Neem een kant-en-klaar systeem, maak de distributie met de 'Yocto Project';<br \/>\nDat wil zeggen, zoals gewoonlijk hoeven we niets te doen, alles is al gedaan.<br \/>\n(het is genoeg om een externe waarnemer aan de andere kant te plaatsen <strong>'van de televisie',<\/strong>);<\/li>\n<\/ol>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h5>Omschrijving<\/h5>\n<p>\nDe eenvoudigste internet radio speaker 'KODI'<br \/>\nDe assemblage is bedoeld voor oude Raspberry Pi 1-borden<br \/>\n(die stof verzamelen op een kast, maar nog steeds voor werk klaar zijn)<\/p>\n<p>Standaard wordt er een m3u8-lijst van 12 internetradiostations gebruikt.<\/p>\n<p>Er wordt aangenomen dat het bord zonder HDMI-uitgang werkt, en om het uit te schakelen hoeft u alleen de voedingsadapter uit het stopcontact te trekken. En als ultra-moderne draadloze afstandsbediening kunt u uw superradiomuis gebruiken (of gewoon een normale met een draad aansluiten).<\/p>\n<p>Bij inschakeling wordt de netwerkinstelling standaard geconfigureerd via het DHCP-protocol en wordt het laatste opgeslagen radiostation uit de lijst afgespeeld, het volume kan met een gewone muis worden bediend: <br \/>\n(maak eindelijk je muis de 'beheerder van de bediening' en feliciteer haar, ze heeft het verdiend)<\/p>\n<pre><code class=\"html\">  scroll forward - verhogen van het geluidsvolume\n scroll backward - verlagen van het geluidsvolume\n langdurig indrukken (3 seconden of langer) van de rechter muisknop\n - selecteren van de volgende radiozender\n langdurig indrukken (3 seconden of langer) van de linker muisknop\n - selecteren van de vorige radiozender\n<\/code><\/pre>\n<p><\/p>\n<blockquote><p>Om uw eigen lijst van internet radiozenders toe te voegen <br \/>\nkunt u altijd een HDMI-kabel van de tv aansluiten <br \/>\nen gebruik maken van de standaard grafische interface van Kodi 17.6<br \/>\n(schakel de kaart uit, sluit HDMI aan en zet de voedingsadapter aan)<\/p>\n<p>Hoofmenu Kodi =&gt; \"Add-ons\" =&gt; \"Mijn add-ons\" <br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0=&gt; \"PVR-cli\u00ebnten\" =&gt; \"PVR IPTV Simple Client\"\n<\/p><\/blockquote>\n<p><\/p>\n<h5> Initi\u00eble implementatie <\/h5>\n<p> (mogelijk)<br \/>\nOorspronkelijk, toen ik besloot om een \"Internet Radio speaker\" te maken, had ik het volgende gepland:<\/p>\n<ul>\n<li> Minimalistische console distributie in het Yocto Project; <\/li>\n<li> Audio stream wordt afgespeeld via GStreamer; <\/li>\n<li> Netwerkinterface wordt geconfigureerd via DHCP; <\/li>\n<\/ul>\n<p>\nEn zo'n oplossing heeft verschillende voordelen:<\/p>\n<ol>\n<li> Vrij snel (opstarten naar de werkmodus na inschakelen 30-40 seconden);<\/li>\n<li> Vrij betrouwbaar (minder programma's, minder storingspunten);<\/li>\n<li> Console distributie is veel gemakkelijker om over te zetten naar een alleen-lezen modus<br \/>\n d.w.z. programma's schrijven niets naar het hoofdsysteem<br \/>\n (en het bestandssysteem op het SDHC-drager is naar mijn mening de eerste kandidaat voor storingen);<\/li>\n<\/ol>\n<p>\n<b class=\"spoiler_title\">Opmerking:<\/b> <\/p>\n<pre><code class=\"bash\">    In Yocto is het relatief eenvoudig om het root filesystem (rootfs) om te zetten naar alleen-lezen modus door \u00e9\u00e9n parameter tijdens de bouw te wijzigen. Yocto biedt uit de doos twee opties: 1) Normale werking van het bestandssysteem in lees\/schrijf modus (dit is hoe alle algemene distributies werken, zoals Ubuntu). 2) Werking van het bestandssysteem in alleen-lezen modus (dit is hoe gespecialiseerde distributies werken, zoals in routers). In alleen-lezen modus worden alle mappen waarin normaal gesproken applicatie- en servicegegevens worden geschreven tijdens gebruik, in het RAM gemonteerd (bijvoorbeeld de map \/var\/log en dergelijke). Gegevens zijn alleen actueel voor de huidige sessie; na stroomuitval gaan de gegevens verloren. Als u in het Yocto Project aangeeft tijdens de bouw gebruik te maken van \"read only\", dan zal uw distributie na de bouw alleen-lezen zijn ingesteld, maar u kunt altijd de mogelijkheid toevoegen om dynamisch om te schakelen van \"read only\" naar \"read\/write\", maar dat is weer een heel ander verhaal...\n    <\/code><\/pre>\n<p>\nEn \u00e9\u00e9n groot nadeel:<\/p>\n<p>\"Het moet gedaan worden\" dat wil zeggen dat ik een aantal avonden moet investeren <br \/>\n(meestal na het werk, en dat is de meest onproductieve tijd, dan denkt de hersenen al niet meer, ze zijn meestal aan het slapen)<\/p>\n<p>En bovendien, mijn vorige artikel op Habr ging over een multimedia centrum <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/467443\">Kodi en Yocto<\/a><\/noindex> project<br \/>\nen de mogelijkheid om in hetzelfde kader verder te gaan, overwon mijn onderzoeksdrang. Dit in het volgende hoofdstuk.<\/p>\n<h5> Kodi omtoveren tot een internet radio speaker <\/h5>\n<p>\nOm de benodigde functionaliteit toe te voegen, zal ik nog een methode aan het recept voor de bouw van de distributie, zoals beschreven in het vorige <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/467443#distrib_recipe_koditv\"> artikel <\/a><\/noindex> zie bestand berserk-image.bb <\/p>\n<pre><code class=\"bash\">GUI_SETTINGS = \"home\/root\/.kodi\/userdata\/guisettings.xml\"\n\n# configuratie voor het starten van het laatst gekozen televisiekanaal (1-achtergrond 2-voorkant)\nF1_LINE = \"0\"\nR1_LINE = \"1\"\n# configuratie van de audio-uitgang, altijd alleen analoge audio-uitgang verbonden\nF2_LINE = \"PI:HDMI\"\nR2_LINE = \"PI:Analogue\"\n# aangezien HDMI standaard niet gebruikt wordt, schakel ik de automatische updates uit\n# anders kan het zijn dat de voeding weg is, maar de data niet opgeslagen zijn\nF3_LINE = \"0\"\nR3_LINE = \"2\"\n\n\n# methode die verantwoordelijk is voor het toevoegen van configuratie:\n# die \"Smart TV\" verandert in een \"simpele Internet Radio speaker\"\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# aangezien de HDMI-uitgang mogelijk niet gebruikt wordt,\n# moet de \"startgroet\" worden uitgeschakeld\noff_kodi_welcome() {\n    sed -i \"s|${FIND_STR}|#&amp;|\" ${IMAGE_ROOTFS}\/${SCRIPT_FIRST_RUN}\n}\n<\/code><\/pre>\n<p>\nDe methoden zijn bedoeld voor het aanpassen van het root-bestandssysteem voordat het beeld van de distributie in de vorm van \u00e9\u00e9n raw bestand wordt gegenereerd, dat met een commando op een geheugenkaart wordt geschreven <strong> dd <\/strong><\/p>\n<p>Dit gebeurt als volgt:<br \/>\n<strong>ROOTFS_POSTPROCESS_COMMAND += \"add_radio_guisettings; off_kodi_welcome;\" <\/strong><\/p>\n<p>Kortom, in het belangrijkste configuratiebestand van Kodi 17.6 worden \"drie punten\" gewijzigd<\/p>\n<ul>\n<li> Configuratie voor het starten van het laatst gekozen televisiekanaal; <\/li>\n<li> Configuratie van de audio-uitgang, altijd alleen analoge audio-uitgang verbonden; <\/li>\n<li> Uitschakelen van automatische updates; <\/li>\n<li> <b class=\"spoiler_title\">Opmerking:<\/b>\n<pre><code class=\"html\">    Het enige waar ik problemen mee had, \n    is dat ik ook het databasebestand \n    in sqlite-formaat moest toevoegen =&gt; TV29.db, waarin wordt opgegeven \n    welk televisiekanaal momenteel wordt afgespeeld \n    (aangezien standaard geen van de kanalen is gekozen), \n    dit kan niet via xml-configuratie in Kodi worden gedaan.\n    <\/code><\/pre>\n<\/li>\n<\/ul>\n<p>\nmeer gedetailleerde stappen voor elk punt:<\/p>\n<p>1) Klik op het \"tandwiel\"-icoon linksboven op het scherm<br \/>\nen selecteer het onderdeel \"PVR en TV-instellingen\" (schermpictogram met twee hoorns)<br \/>\nKies vervolgens in het linkerdeel van het menu de optie \"Afspelen\" en in het centrale gedeelte \"Algemeen\"<br \/>\ngeef in de vervolgkeuzelijst \"Doorgaan met het laatste kanaal bij opstarten\" aan<br \/>\ndoor de instelling \"Voorkant\" te kiezen<\/p>\n<p>of meer visueel:<\/p>\n<pre><code class=\"bash\">      \"PVR en TV-instellingen\" \n       =&gt; \"Afspelen\" \n       =&gt; \"Doorgaan met het laatste kanaal bij opstarten\" =&gt; \"Voorgrond\"\n<\/code><\/pre>\n<p>\n2) Klik op het tandwielpictogram in de linker bovenhoek van het scherm en kies:<\/p>\n<pre><code class=\"bash\">       \"Systeeminstellingen\"  \n       =&gt; \"Add-ons\" =&gt; \"Updates\" =&gt; \"Nooit updates controleren\"\n<\/code><\/pre>\n<p>\n3) Klik op het tandwielpictogram in de linker bovenhoek van het scherm en kies:<\/p>\n<pre><code class=\"bash\">       \"Systeeminstellingen\" \n       =&gt; \"Audio\" =&gt; \"Geluid uitvoerapparaat\" =&gt; \"PI: Analoog\"\n<\/code><\/pre>\n<p><\/p>\n<h5> Hoe ik twee jaar lang verkeerd televisie keek. <\/h5>\n<p>\nIk moet je bekennen dat ik na twee jaar nog steeds niet heb geleerd om goed televisie te kijken.<\/p>\n<p>Normaal kijk ik televisie in de keuken. De televisie is aangesloten op een Raspberry Pi 2B, en de kaart heeft Ethernet en HDMI aansluitingen. De voeding van de kaart wordt geleverd via een normale USB-kabel, die is aangesloten op de USB-poort van de televisie, wat betekent dat het inschakelen van de televisie met de afstandsbediening ook de Raspberry Pi van stroom voorziet, en het uitschakelen van de televisie met de afstandsbediening trekt ook meteen de voeding van de Raspberry Pi.<\/p>\n<p>Ja, ik ben me er goed van bewust dat dit niet de juiste manier is, omdat het root-bestandssysteem van het Kodi-mediacenter (ext3) in een standaard lees\/schrijfmodus functioneert. Maar ik ben een luie persoon, en in eerste instantie wilde ik testen hoe lang ik het systeem op deze manier kan uitschakelen, totdat het volledig stopt met opstarten. Helaas is het me dit in twee jaar niet gelukt (misschien heb ik gewoon geluk gehad, ik weet het niet).<\/p>\n<p>En naar mijn mening, als deze modus geschikt is voor mijn televisie, dan zou hij ook goed moeten werken voor een \"gewone Internet Radio-luidspreker\", en omdat ik de automatische update van Kodi-add-ons geforceerd heb uitgeschakeld, wordt de kans op een storing van het bestandssysteem nog kleiner. Tot nu toe zie ik daar geen problemen mee.<\/p>\n<p><b class=\"spoiler_title\">Opmerking:<\/b> <\/p>\n<pre><code class=\"bash\">    Maar je kunt altijd met behulp van \u00e9\u00e9n yocto-commando \n    IMAGE_FEATURES += \"read-only-rootfs\"\n\n    en een bepaalde magie je distributie overzetten naar de \"read-only\" modus.\n    <\/code><\/pre>\n<p>De distributie \"internet radio-luidspreker\" die in dit artikel wordt beschreven, is voor huishoudelijk gebruik, en wat het belangrijkste is voor een huishoudelijke distributie \u2014 dat is een mooie GUI. Naar mijn mening is het erg moeilijk of bijna onmogelijk om een gewone gebruiker te leren onbegrijpelijke magische commando's in de console in te voeren; hij weet zelfs niet echt wat zoiets is. Maar een GUI, dat is geen probleem.<\/p>\n<p>Dit is waarschijnlijk mijn belangrijkste argument om geen console-distributie te kiezen. De warme, sfeervolle grafische gebruikersinterface van Kodi is misschien niet essentieel, maar hij is er.<br \/>\n(Ik ben volledig vergeten te vermelden dat Kodi op afstand kan worden bestuurd, bijvoorbeeld via een smartphone met de 'Yatse'-app, en voor sommigen kan dit een voordeel zijn.)<\/p>\n<h3> Configuratie van Kodi voor bediening met de muis <\/h3>\n<p>\n<b class=\"spoiler_title\">en nu de Rocket<\/b><\/p>\n<pre><code class=\"xml\">VolumeUp\n          VolumeDown\n          ChannelDown\n          ChannelDown\n          ChannelUp\n          <!-- configuratie rocket -->\n<\/code><\/pre>\n<p>De configuratie overschrijft algemene (global) gebeurtenissen voor de volgende elementen:<\/p>\n<ul>\n<li> scrollen met het muiswiel naar voren <\/li>\n<li> scrollen met het muiswiel naar achteren <\/li>\n<li> klik op de middelste muisknop <\/li>\n<li> verwerking van een lang indrukken van de muis (3 seconden of meer),<br \/>\n0 is de identificatie van de rechtermuisknop, 1 is de identificatie van de linkermuisknop <\/li>\n<\/ul>\n<p>meer gedetailleerde informatie over het instellen van muisgebeurtenissen:<\/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> Wat te doen als uw kabelsysteem niet is aangekomen<\/h5>\n<p>\n\"Maar ik heb thuis geen vrije Ethernet-poorten (of heb ze nooit gehad)\" \u2014 kan een van de gelukkige bezitters van oude Raspberry Pi 1-borden roepen (misschien is het bord aangeschaft voor onderzoek en ligt het nu stof te vergaren op de plank).<\/p>\n<p>Aangezien het bord geen ingebouwde Wifi heeft, is het zonder Ethernet-verbinding niet erg functioneel.<\/p>\n<p>Natuurlijk is het mogelijk om de Raspberry Pi 1 zonder Ethernet te gebruiken, maar dit vereist wel enige inspanning van uw kant. Dergelijke dingen zijn meestal interessant om uit te voeren in het kader van het leren van iets nieuws, dus dit is geen gebruikelijke taak.<\/p>\n<p>Laten we dus een hypothetisch scenario bekijken van het gebruik van het bord zonder Ethernet:<\/p>\n<p>U kunt een externe USB-Wifi-adapter aansluiten, ervan uitgaande dat <br \/>\nde adapter goed zou moeten functioneren onder Linux. <\/p>\n<p><b class=\"spoiler_title\">Opmerking:<\/b> <\/p>\n<pre><code class=\"bash\">    Helaas werkt een deel van de WiFi-adapters niet, dit is niet een kenmerk van de distributie die in dit artikel wordt gepresenteerd, maar eerder een probleem van specifieke WiFi-adapterdrivers in de Linux-kernel. We kunnen concluderen dat je momenteel niet gewoon naar de winkel kunt gaan en elke WiFi-adapter kunt kopen. Je moet eerder een WiFi-adapter uit een lijst van minder problematische en goed werkende adapters onder Linux selecteren.\n\nIk heb alleen de volgende modellen gecontroleerd:\n- WiFi-adapter met Atheros D-Link DWA-126 802.11n (AR9271)\n- WiFi-adapter NetGear WNDA3200\n- WiFi-adapter NetGear WNA1100\n- WiFi-adapter TP-Link TL-WN722N (AR9271)\n- WiFi-adapter TL-WN322G v3\n- WiFi-adapter TL-WN422G\n- Wifi-adapter Asus USB-N53 chipset Ralink RT3572 \n    <\/code><\/pre>\n<p>\nAls je al een USB WiFi-adapter hebt, kun je controleren of deze goed werkt onder Linux als volgt:<\/p>\n<ul>\n<li>Installeer een algemeen verspreide Linux-distributie<br \/>\n zoals 'Ubuntu Desktop' <\/li>\n<li>Start het systeem op<\/li>\n<li>Sluit je Wifi USB-adapter aan<\/li>\n<li>Start de netwerkmanger en probeer verbinding te maken met jouw WiFi-toegangspunt <\/li>\n<li>Als alles goed werkt en je internetverbinding stabiel is, betekent dit dat je adapter goed wordt ondersteunt en je verder kunt gaan met het aansluiten van deze adapter op een gespecialiseerde distributie, mogelijk met andere versies van de kernel.<br \/>\n(Als dat niet zo is, tja, het is beter om het niet eens te proberen.) <\/li>\n<\/ul>\n<p>\n<strong> Ondersteuning voor externe WiFi-adapter op de 'Raspberry PI' <\/strong><\/p>\n<p>Voor een correcte werking van de WiFi-adapter in Linux hebben we twee dingen nodig:<br \/>\n<strong>1)<\/strong> Ondersteuning van de Linux-kernel voor de specifieke WiFi-adapter<br \/>\n<strong>2)<\/strong> Beschikbaarheid van een kernelmodule voor de specifieke WiFi-adapter in het systeem.<\/p>\n<p>Laten we als voorbeeld de adapter TP-Link TL-WN722N nemen. Hij heeft gewoon een geweldige antenne.<br \/>\nLaten we de chipset vinden waar het bord op werkt - dat is voor mij 'AR9271', <b class=\"spoiler_title\">opmerking:<\/b> <\/p>\n<pre><code class=\"bash\">    het interessante is dat voor hetzelfde model van dezelfde fabrikant de WiFi-chipset kan verschillen. Ik ben bijvoorbeeld tegengekomen dat voor TL-WN722N versie 2 een andere chipset Realtek RTL8188 wordt gebruikt, en die werkte toen slecht onder Linux, helaas, zo zijn de dingen, soms moet je ook de kleine cijfers op de achterkant van de adapter in de gaten houden.    \n    <\/code><\/pre>\n<p>\nLaten we nu de parameternaam in de kernelconfiguratie vinden die verantwoordelijk is voor de driver van de AR9271-chipset, het is het beste om te zoeken naar de combinatie van woorden 'AR9271 cateee.net'.<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0waar \u00abcateee.net\u00bb \u2014 een geweldige site met beschrijvingen van kernelmoduleconfiguraties van Linux<\/p>\n<p>Zo vinden we meteen de naam van de kernelconfiguratie \u2014 <strong>CONFIG_ATH9K_HTC<\/strong><br \/>\nen de naam van de gewenste kernelmodule <strong> ath9k_htc <\/strong><\/p>\n<p>en dan is het voldoende om de naam van de gewenste module op te geven in het configuratiefragmentbestand <br \/>\nLinux kernel =&gt; recipes-kernel\/linux\/files\/rbpi.cfg, voeg de regel toe:<br \/>\n<strong> CONFIG_ATH9K_HTC=m <\/strong><\/p>\n<p>Op deze manier kun je in de toekomst elke extra hardware aan je systeem aansluiten (tenzij deze al ondersteund wordt in de Linux-kernel)<\/p>\n<h5> Wat te doen als je een Habra geek bent \u2014 een bouwer <\/h5>\n<p>\nEn je maakt geweldige dingen, zoals <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/477440\"> hier <\/a><\/noindex> of je bent student en droomt ervan om iets soortgelijks te maken. <\/p>\n<p>Dan kun je bijvoorbeeld een of andere Touch Screen scherm voor RPI op aliexpress nemen, daar ook een geschikte accubatterij bestellen, al deze dingen aansluiten op het Raspberry Pi 1, 2 of 3 bord (het liefst 3, omdat het ingebouwde Wifi heeft), een thema voor de grafische interface in Kodi kiezen dat geschikt is voor een aanraakscherm en voil\u00e0 =&gt; je kunt een eenvoudige audio speler maken. Natuurlijk zal het vrij groot zijn, maar het zal van jou zijn.<\/p>\n<pre><code class=\"bash\">  Opmerking:\n  A om een multimedia centrum Kodi voor de meest budgetvriendelijke kaart \n  Raspberry Pi Zero Wifi in Yocto te bouwen hoef je slechts twee regels te wijzigen:\n\n  configuratiebestand =&gt; build\/conf\/local.conf\n      MACHINE = 'raspberrypi0-wifi'\n\n  recept voor het bouwen van 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  Als de responsiviteit van de GUI Kodi 17.6 \n  vanwege \u00e9\u00e9n CPU-kern in Zero je mysterieus lijkt, \n  kun je een trucje toepassen en een oudere, \n  maar zeer snelle versie samenstellen, bijvoorbeeld Kodi 15.2, die op dit punt meer \n  \"gebruiksvriendelijk\" is (soms lost legacy alles op)\n<\/pre>\n<p>\nHelaas heb ik de kaart niet, dus ik kan het niet testen, maar volgens mijn gevoel zou het moeten werken.<\/p>\n<p><b class=\"spoiler_title\">Korte handleiding voor assemblage<\/b> <\/p>\n<pre><code class=\"bash\">    1) Installeer de afhankelijkheden van het Yocto Project (bijvoorbeeld in 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) Download en installeer 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) Download het project van 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) Bouw het project:\n        .\/shell.sh\n        bitbake berserk-image\n        \n    je kunt hetzelfde ook bouwen voor de Raspberry Pi 3B Plus, 3B en 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> een gedetailleerdere instructie voor de bouw <br \/>\n en het schrijven op een microSDHC kaart zie <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/467443\/#instruction_koditv\">in het vorige artikel<\/a><\/noindex>\n <\/p><\/blockquote>\n<h5> Postscriptum <\/h5>\n<p>\nNatuurlijk is het idee van een internet radio speaker standaard, dat is bij iedereen bekend en je vindt er vele artikelen over op Habrahabr, bijvoorbeeld <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/475172\">hier<\/a><\/noindex><\/p>\n<p>En je kunt denken dat ik de vereisten gewoon heb aangepast aan de kant-en-klare oplossing. Daar kan ik op antwoorden en zeggen, nee, eerlijk waar.<\/p>\n<p><b class=\"spoiler_title\">Het verhaal van meneer Herwi<\/b> <\/p>\n<pre><code class=\"html\">    Gelooft u het of niet, maar zo ging het:\n\n    Ons kantoor grenst aan een bedrijf dat verschillende geluidsapparatuur produceert, en op een dag kwam de directeur van dat bedrijf, laten we hem meneer \"Ervi\" noemen, naar onze adjunct-directeur van de vestiging, meneer \"Arseni\", en vroeg hem hoe moeilijk het is om een geluidsstroom af te spelen op een Raspberry Pi. Dat wil zeggen, de computer wordt aangesloten op het netwerk en de luidsprekers, en \"je hoort een kenmerkend geluid\".\n\n    Daarna ging meneer Arseni naar de adjunct van mijn baas - meneer \"Boris\" - en stuurde de vraag naar hem door, en ik, als toevallige toeschouwer, herinnerde me dit idee en noemde het \"De Drie Hoofden Probleem\".\n\n    Al met al wilden ze het beste doen, maar het resultaat was, citaat - \"Maar meneer Ervi hielp, zoals altijd.\"\n\n    Enige tijd later vroeg ik meneer \"Boris\" zijn mening over het schrijven van een kleine opmerking hierover op \"Habr\", waarop \"Boris\" antwoordde dat het veranderen van \"drie menu-items\" in Kodi niet echt nieuwe informatie biedt en geen aparte vermelding waard is. Natuurlijk was ik het daar volledig mee eens, en daarom zal ik hem niet vertellen dat ik hierover iets geschreven heb.\n\n    Het artikel is geschreven voor de \"Raspberry Pi 1\" die ik van meneer \"Boris\" heb geleend voor de duur van het experiment; elke gelijkenis met andere \"Raspberry Pi 1\"-systemen is toevallig.\n    <\/code><\/pre>\n<p>Veel goede en verschillende builds voor u, en zelfs een voormalige baksteen mag in dit jaar voor u zingen.<br \/>\n<br \/>Bron: <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.3 - 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\/nl\/blog\/administrirovanie\/prostejshaya-internet-radio-kolonka-kodi-ili-spasenie-malinovogo-kirpicha\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"nl_NL\" \/>\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\/nl\/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\udd47Eenvoudige internet radio luidspreker \u00abKodi\u00bb of de redding van de \u00abFrambozen\u00bb baksteen | ProHoster","description":"Hoofdpunten.","canonical_url":"https:\/\/prohoster.info\/nl\/blog\/administrirovanie\/prostejshaya-internet-radio-kolonka-kodi-ili-spasenie-malinovogo-kirpicha","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"nl_NL","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\/nl\/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\/nl\/wp-json\/wp\/v2\/posts\/54774","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/comments?post=54774"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/54774\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media\/54775"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media?parent=54774"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/categories?post=54774"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/tags?post=54774"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}