Die Haupträumlichkeiten:
- Es gibt ein altes unbenutztes Raspberry Pi Board der ersten Generation.
- Die Platte liegt mit Eigengewicht auf dem Schrank und wird nicht verwendet - die Brick-Platte;
Was ich erhalten möchte:
- Zu einem bestimmten Zeitpunkt (zum Beispiel nach Stimmung)
Das Board ist kein "Brick" mehr und es wird eine magische Speicherkarte eingelegt. - Ein Ethernet-Kabel und ein Stecker eines normalen Haushaltslautsprechers oder Kopfhörers sind an die Platine angeschlossen.
- Nach der Stromversorgung singt der ehemalige "Brick"
Die Hauptidee:
- Die minimale Anzahl von Gesten für jede Einstellung, im Idealfall verbinden wir nur das "Ethernet" -Kabel, die Stromversorgung und die Lautsprecher und machen nichts anderes, als das Wort "vollständig";
- Der ehemalige "Brick" aus der Box unterstützt beispielsweise 20 Internetradiosender, deren Umschaltung im Kreis durch Drücken des Mausrads oder auf einen bestimmten GPIO-Pin aufgehängt werden kann (zwei Drähte verbinden und schließen (mein Traum seit meiner Kindheit));
- Die Verwaltung erfolgt über einen Funkkanal, und dieser Funkkanal kann zu einer normalen Funkmaus werden.
- Nehmen Sie ein fertiges System, montieren Sie die Distribution im "Yocto Project"
d.h. wie immer werden wir nichts tun, da schon alles erledigt ist.
(Platzieren Sie einfach einen externen Beobachter auf der anderen Seite des Fernsehgeräts. )
Beschreibung
Die einfachste Internet-Radio-Kolumne "KODI"
Die Montage ist für ältere Raspberry Pi 1-Boards vorgesehen
(Staub sammelt sich irgendwo auf dem Schrank, aber die sind immer noch bereit zu arbeiten)
Standardmäßig wird die m3u8-Liste mit 12 Internetradiosendern verwendet.
Es wird davon ausgegangen, dass die Karte ohne HDMI-Ausgang arbeitet. Um sie auszuschalten, ziehen Sie einfach den Netzadapter aus der Steckdose. Und als ultramoderne drahtlose Fernbedienung können Sie Ihre Super-Funkmaus verwenden (oder eine gewöhnliche graue Maus mit einem Schwanz verbinden).
Wenn Sie die Netzwerkschnittstelle standardmäßig einschalten, wird sie über das DHCP-Protokoll konfiguriert und der zuletzt gespeicherte Radiosender aus der Liste abgespielt. Die Wiedergabelautstärke wird mit einer herkömmlichen Maus gesteuert:
(Bestelle endlich deine Maus zum "Abteilungsleiter" und gratuliere ihr, sie hat es verdient)
- - (3 ) - (3 ) -
So fügen Sie eine eigene Liste von Internetradiosendern hinzu
Sie können jederzeit ein HDMI-Kabel vom Fernsehgerät anschließen
und verwenden Sie die Standard-Kodi 17.6-GUI
(Schalten Sie die Karte aus, schließen Sie HDMI an und schalten Sie das Netzteil ein.)
Kodi-Hauptmenü => "Add-Ons" => "Meine Add-Ons"
=> “PVR Clients” => “PVR IPTV Simple Client”
Erstimplementierung
(möglich)
Als ich mich entschied, eine „Internet-Radio-Kolumne“ zu erstellen, plante ich zunächst Folgendes:
- Minimalistische Konsolenverteilung im Yocto-Projekt;
- Der Audiostream wird über GStreamer wiedergegeben.
- Die Netzwerkschnittstelle wird über DHCP konfiguriert.
Und diese Lösung hat mehrere Vorteile:
- Schnell genug (Ausgabe in den Betriebsmodus von Netzteil 30-40 Sek.);
- Zuverlässig genug (weniger Programme, weniger Fehlerquellen);
- Konsolenverteilung ist viel einfacher als schreibgeschützt einzustellen
d.h. Programme schreiben nichts in das Stammverzeichnis des Dateisystems
(Ein Dateisystem auf SDHC-Medien ist meiner Meinung nach der erste Kandidat für Ausfälle);
Hinweis: Yocto (rootfs) , Yocto : 1) / ( , Ubuntu) 2) ( , ) , ( /var/log ..) . Yocto Project "read only", , "read only" "read/write", ...
Und ein Hauptnachteil:
"Es muss getan werden", d.h. Ich muss N Abende verbringen
(normalerweise nach der Arbeit, und dies ist die ineffizienteste Zeit, zu dieser Zeit denkt das Gehirn nicht mehr, es schläft normalerweise)
Und doch schrieb ich meinen vorherigen Artikel über das Multimedia-Center
Kodi und das Yocto- Projekt auf Habré
und die Fähigkeit, in der gleichen Weise fortzufahren, überwältigte meinen Forschungsimpuls. Darüber im nächsten Kapitel.
Kodi in eine Internet-Radio-Säule verwandeln
Um die benötigte Funktionalität hinzuzufügen, füge ich dem im vorherigen
Artikel beschriebenen Verteilungserstellungsrezept eine weitere Methode hinzu
( siehe berserk-image.bb)
GUI_SETTINGS = "home/root/.kodi/userdata/guisettings.xml"
Die Methoden sollen das Root-Dateisystem modifizieren, bevor das Distributions-Image in Form einer einzelnen Rohdatei erstellt wird, die mit dem
Befehl dd auf die Speicherkarte geschrieben wird
Dies geschieht folgendermaßen:
ROOTFS_POSTPROCESS_COMMAND + = "add_radio_guisettings; off_kodi_welcome; "Kurz gesagt, in der Hauptkonfigurationsdatei von Kodi 17.6 ändern sich "drei Punkte"
- Konfiguration des zuletzt gewählten TV-Kanals starten;
- Audioausgangskonfiguration, nur der analoge Audioausgang ist immer angeschlossen;
- Automatische Updates deaktivieren;
Hinweis: , , sqlite => TV29.db, ( ), xml Kodi .
detailliertere Abfolge von Aktionen für jeden Gegenstand:
1) Klicken Sie auf das Zahnradsymbol in der oberen linken Ecke des Bildschirms
und wählen Sie "PVR- und TV-Einstellungen" (Bild eines Fernsehgeräts mit zwei Hörnern)
Weiter links im Menü wählen Sie den Punkt „Wiedergabe“ und im mittleren Bereich „Allgemein“
in der Dropdown-Liste angeben, dass beim Start vom letzten Kanal fortgefahren werden soll
Wählen Sie die Einstellung „Vordergrund“
oder klarer:
" PVR " => "" => " " => " "
2) Klicken Sie auf das Zahnradsymbol in der oberen linken Ecke des Bildschirms und wählen Sie das Element aus:
" " => "" => "" => " "
3) Klicken Sie auf das Zahnradsymbol in der oberen linken Ecke des Bildschirms und wählen Sie:
" " => "" => " " => "PI: Analogue"
Ich habe zwei Jahre lang falsch ferngesehen.
Ich muss Ihnen zugeben, dass ich zwei Jahre lang nicht gelernt habe, wie man richtig fernsieht.
Normalerweise schaue ich in der Küche fern. Die Raspberry Pi 2B-Karte ist mit dem Fernsehgerät verbunden, und Ethernet- und HDMI-Anschlüsse sind mit der Karte verbunden. Die Platine wird über ein normales USB-Kabel mit Strom versorgt, das an den USB-Anschluss des Fernsehgeräts angeschlossen ist, d. H. Wenn Sie das Fernsehgerät mit der Standardfernbedienung einschalten, wird auch die Himbeer-Pi-Platine mit Strom versorgt, und wenn Sie das Fernsehgerät mit der Fernbedienung ausschalten, wird auch die Stromversorgung der Himbeer-Pi-Platine sofort zurückgesetzt.
Ja, mir ist klar, dass dies nicht möglich ist, da ich im Root-Dateisystem des Kodi Multimedia Center (ext3) normale Lese- / Schreibfunktionen habe. Aber ich bin ein fauler Mensch, und zunächst habe ich mich entschlossen, zu prüfen, wie lange das System so ausgeschaltet werden kann, bis es nicht mehr geladen wird. Leider gelang mir dies zwei Jahre lang nicht (vielleicht hatte ich nur Glück, ich weiß es nicht) )
Und wenn ein solcher Modus meiner Meinung nach für mein Fernsehgerät geeignet wäre, wäre er auch für einen „einfachen Internetradio-Lautsprecher“ geeignet, und da ich die automatische Aktualisierung von Kodi-Plugins gewaltsam deaktiviert habe, würde die Wahrscheinlichkeit eines Ausfalls des Dateisystems sogar noch geringer werden. Ich sehe zwar kein Problem damit
Hinweis: yocto IMAGE_FEATURES += "read-only-rootfs" "read only"
Die im Artikel beschriebene Distribution "Internetradio-Lautsprecher" ist "Haushalt", und was für eine Haushaltsdistribution am wichtigsten ist, ist eine schöne grafische Benutzeroberfläche. Meiner Meinung nach ist es sehr schwierig oder fast unmöglich, einem normalen Benutzer beizubringen, seltsame Zauberbefehle in der Konsole einzugeben, und er kennt nicht einmal ein solches Wort. Und hier ist die GUI, das ist bitte.
Und dies ist vielleicht mein Hauptargument für eine Nicht-Konsolen-Distribution. Die grafische Benutzeroberfläche von Kodi für Warm Tube ist zwar nicht unbedingt erforderlich, wird aber dennoch benötigt.
(Ich habe auch völlig vergessen zu erwähnen, dass Kodi über die Installation der Yatse-Anwendung ferngesteuert werden kann, zum Beispiel von einem Smartphone aus. Für jemanden ist dies möglicherweise ein Vorteil.)
Kodi-Konfiguration für die Maussteuerung
und jetzt Rocket <keymap> <global> <mouse> <wheelup>VolumeUp</wheelup> <wheeldown>VolumeDown</wheeldown> <middleclick>ChannelDown</middleclick> <longclick id=^_^quot�quot^_^>ChannelDown</longclick> <longclick id=^_^quot quot^_^>ChannelUp</longclick> </mouse> </global> </keymap>
Die Konfiguration überschreibt die globalen Ereignisse für die folgenden Elemente:
- Mausrad nach vorne
- Mausrad zurückblättern
- Klicken Sie mit der mittleren Maustaste
- Verarbeitung langer Mausklicks (3 Sekunden oder länger),
0 rechte Taste, 1 linke Taste
Weitere Informationen zum Einrichten von Mausereignissen:
kodi.wiki/view/Alternative_keymaps_for_micekodi.wiki/view/Action_IDskodi.wiki/view/Window_IDsWas tun, wenn das Kabelsystem nicht zu Ihnen gekommen ist?
"Aber ich habe zu Hause keine freien Ethernet-Ports (oder hatte ich noch nie)" - können einige der glücklichen Besitzer alter Raspberry Pi 1-Boards ausrufen (vielleicht wurde das Board für Forschungszwecke gekauft und blieb im Schrank)
Und da auf der Karte kein integriertes WLAN vorhanden ist, ist es ohne Ethernet-Verbindung nicht sehr funktionsfähig.
Natürlich besteht die Möglichkeit, die Raspberry Pi 1-Karte ohne Ethernet zu verwenden, aber Sie müssen sich einige Mühe geben. Normalerweise ist es interessant, solche Dinge nur im Rahmen des Studiums von etwas Neuem, d. H. Dies ist keine Benutzerarbeit.
Betrachten Sie daher eine hypothetische Option für die Verwendung einer Karte ohne Ethernet:
Sie können einen externen USB-WLAN-Adapter anschließen.
dass der Adapter unter Linux gut funktionieren soll
Hinweis: WiFi , , WiFi Linux. , WiFi . WiFi Linux. : - WiFi Atheros D-Link DWA-126 802.11n (AR9271) - WiFi NetGear WNDA3200 - WiFi NetGear WNA1100 - WiFi TP-Link TL-WN722N (AR9271) - WiFi TL-WN322G v3 - WiFi TL-WN422G - Wifi Asus USB-N53 chipset Ralink RT3572
Wenn Sie bereits einen USB-WLAN-Adapter haben, können Sie wie folgt prüfen, ob dieser unter Linux funktioniert:
- Installieren Sie eine weit verbreitete Linux-Distribution
Allzweck, zum Beispiel "Ubuntu Desktop" - Boot-System
- Stecken Sie Ihren WLAN-USB-Adapter ein
- Starten Sie den Netzwerkmanager und versuchen Sie, eine Verbindung zu Ihrem WLAN-Zugangspunkt herzustellen
- Wenn alles gut funktioniert und Ihre Internetverbindung stabil ist, wird Ihr Adapter gut unterstützt und Sie können mit der Arbeit an der Verbindung dieses Adapters in einem speziellen Distributionskit und möglicherweise mit anderen Versionen des Kernels fortfahren
(Wenn nicht, dann leider nicht - es ist besser, es nicht einmal zu versuchen)
Unterstützung für externen WLAN-Adapter in "Raspberry PI"Damit der WiFi-Adapter unter Linux ordnungsgemäß funktioniert, benötigen wir zwei Dinge:
1) Linux-Kernel-Unterstützung für einen bestimmten Wifi-Adapter
2) Das Vorhandensein eines Kernelmoduls für einen bestimmten Wifi-Adapter im System
Nehmen Sie zum Beispiel den TP-Link TL-WN722N Adapter. Er hat einfach eine tolle Antenne.
Wir werden den Chipsatz finden, auf dem das Board funktioniert - ich habe es "AR9271",
hinweis: , , , Wifi . , TL-WN722N 2, Realtek RTL8188, Linux ( ), , .. () .
Jetzt finden wir den Namen des Parameters in der Kernelkonfiguration, die für den Treiber für den AR9271-Chipsatz verantwortlich ist. Suchen Sie am besten nach der Kombination der Wörter „AR9271 cateee.net“.
Dabei ist "cateee.net" eine coole Site, die die Konfigurationen von Linux-Kernelmodulen beschreibt
Suchen Sie sofort den Namen der Kernel-Konfiguration -
CONFIG_ATH9K_HTCund den Namen des Kernelmoduls
ath9k_htc, das wir
brauchenGeben Sie dann einfach den Namen des gewünschten Moduls in der Konfigurationsfragmentdatei an
Linux-Kernel => recipes-kernel / linux / files / rbpi.cfg, fügen Sie die folgende Zeile hinzu:
CONFIG_ATH9K_HTC = mAuf diese Weise können Sie in Zukunft jedes zusätzliche Gerät an Ihr System anschließen (natürlich, wenn es bereits vom Linux-Kernel unterstützt wird).
Was tun, wenn Sie ein Geek-Designer sind?
Und Sie kreieren zum Beispiel die coolsten Dinge, wie
hier, oder Sie sind Student und träumen davon, etwas Ähnliches zu kreieren.
So können Sie nebenbei eine Art Touchscreen für RPI auf aliexpress nehmen, dort einen geeigneten Akku bestellen, alles an das Raspberry Pi 1.2 oder 3 Board anschließen (besser an 3, da es eingebautes Wifi hat), ein Grafikdesign-Thema auswählen Schnittstelle in Kodi, ausgelegt für Touchscreen und Voila => Sie können einen einfachen Audio-Player bekommen. Natürlich wird es sperrig genug sein, aber es wird dir gehören.
: A , Kodi Raspberry Pi Zero Wifi yocto : => build/conf/local.conf MACHINE = 'raspberrypi0-wifi' Kodi => recipes-mediacentre/kodi/kodi_17.bbappend EXTRA_OECONF_append = "${@bb.utils.contains('MACHINE', \ 'raspberrypi0-wifi', '${BS_RPI}', '', d)}"
Wenn die Reaktionsfähigkeit der Kodi-GUI 17.6
Wegen eines Prozessorkerns in Zero werden Sie scheinen
mysteriös, du kannst mit deinen Ohren eine Finte machen und eine ältere einsammeln,
Aber eine sehr schnelle Version, zum Beispiel Kodi 15.2, ist mehr
"freundlich" (manchmal entscheidet das Erbe alles)
Leider habe ich keine Gebühr, daher kann ich nicht überprüfen, aber nach meinen Gefühlen sollte dies funktionieren.
Kurze Montageanleitung 1) Yocto Project ( Ubuntu): sudo apt-get install -y --no-install-suggests --no-install-recommends \ gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential \ chrpath socat cpio python python3 python3-pip python3-pexpect \ xz-utils debianutils iputils-ping python3-git python3-jinja2 \ libegl1-mesa libsdl1.2-dev xterm 2) Repo: mkdir ~/bin curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo chmod a+x ~/bin/repo 3) github: PATH=${PATH}:~/bin mkdir radio cd radio repo init -u https://github.com/berserktv/bs-manifest \ -m raspberry/rocko/radio-rpi-0.2.8.xml repo sync 4) : ./shell.sh bitbake berserk-image Raspberry Pi 3B Plus, 3B 2B: repo init -u https://github.com/berserktv/bs-manifest \ -m raspberry/rocko/radio-0.2.8.xml
detailliertere Montageanleitung
Informationen zum Aufnehmen auf eine microSDHC-Karte finden Sie im vorherigen Artikel
Postscript
Natürlich ist die Idee einer Internet-Radio-Kolumne typisch, sie ist jedem bekannt und auf dem Hub finden Sie viele Artikel zu diesem Thema, zum Beispiel
hierUnd Sie denken vielleicht auch, dass ich nur die Anforderungen für eine schlüsselfertige Lösung erfülle. Ich kann dem entgegenwirken und ehrlich gesagt nein sagen.
Weitere Builds für dich sind gut und anders.