Blog
Verwendung des Raspberry Pi als Chromecast-Alternative
Durch die Verwendung eines Raspberry Pi 3B und Raspicast können Sie einen leichten drahtlosen Media-Empfänger erstellen, der auf eine Weise funktioniert, die dem Chromecast ähnelt. Es ist jedoch wichtig, die Einschränkung von Anfang an zu verstehen: Dies ist kein vollständiger Ersatz für Chromecast. Er implementiert nicht das vollständige Google Cast-Protokoll und bietet nicht die gleiche App-Kompatibilität wie ein kommerzielles Chromecast-Gerät.
In diesem Setup sendet ein Android-Gerät, üblicherweise ein Mobiltelefon, Medienlinks oder lokale Dateien an den Raspberry Pi. Der Raspberry Pi übernimmt dann die Wiedergabe und gibt die Inhalte über HDMI an einen Fernseher aus. Abhängig vom Medientyp und der verwendeten Software können ältere OMX-basierte Werkzeuge wie OMXPlayer oder omxiv an der Wiedergabe oder der Bildanzeige beteiligt sein.
Wir werden das Projekt in Phasen abschließen, darunter Hardwareinstallation, Betriebssysteminstallation, Softwareinstallation oder -kompilierung, Netzwerkkonfiguration und Raspicast-Einrichtung. Jede Phase hängt von der vorherigen ab, daher ist es am besten, die Schritte der Reihe nach auszuführen.
Schritt 1: Einrichten der Hardware
Für dieses Projekt wird folgende Hardware benötigt:
- Raspberry Pi 3 Model B
- microSD-Karte, mindestens 16 GB
- Zuverlässiges 5V/2,5A Micro-USB-Netzteil
- HDMI-Kabel
- Raspberry Pi Gehäuse
- Optionale Kühlkörper für den Haupt-SoC und andere Wärme erzeugende Chips
- USB-Funk-Tastatur und -Maus-Kombination
- SD-Kartenleser zum Schreiben des Betriebssystem-Images
Der Raspberry Pi 3 Model B verfügt über integriertes WLAN, sodass kein USB-WLAN-Adapter erforderlich ist. Wenn Sie ein älteres Raspberry Pi-Modell ohne integriertes WLAN verwenden, können Sie es entweder per Ethernet anschließen oder einen kompatiblen USB-WLAN-Adapter hinzufügen.
Bitte verwenden Sie ein stabiles 5V/2,5A Netzteil. Ein schwaches Ladegerät oder ein minderwertiges Kabel kann insbesondere bei angeschlossenen Peripheriegeräten zu Unterspannungswarnungen, zufälligen Neustarts, USB-Instabilität oder Wiedergabeproblemen führen.
Schritt 2: Schreiben Sie Raspberry Pi OS auf die SD-Karte
Laden Sie das Desktop-Image von Raspberry Pi OS von raspberrypi.com herunter. Falls Sie eine komprimierte .zip-Datei herunterladen, entpacken Sie diese zuerst, um die .img-Datei zu erhalten.
Flashen mit Etcher
Laden Sie balenaEtcher von balena.io herunter und starten Sie es.
Klicken Sie auf „Flash from file“ und wählen Sie die .img-Datei aus. Klicken Sie auf „Select target“ und wählen Sie Ihre SD-Karte aus. Stellen Sie sicher, dass Sie die richtige SD-Karte ausgewählt haben, da der Flash-Vorgang das ausgewählte Laufwerk löschen wird.
Nach Bestätigung des korrekten Ziels klicken Sie auf "Flash". Nach Abschluss des Vorgangs werfen Sie die SD-Karte sicher aus.
Unter Linux
Alternativ können Sie das Image von der Kommandozeile schreiben:
sudo dd if=raspbian.img of=/dev/sdX bs=4M status=progress conv=fsync
Ersetzen Sie in diesem Befehl /dev/sdX durch den tatsächlichen Gerätenamen Ihrer SD-Karte.
Seien Sie vorsichtig mit diesem Befehl. Wenn Sie das falsche Gerät wählen, überschreiben Sie möglicherweise ein anderes Laufwerk auf Ihrem Computer. Sie können den folgenden Befehl verwenden, um Ihre Festplattenliste zu überprüfen, bevor Sie das Image schreiben:
lsblk
Schritt 3: Montage der Hardware
Öffnen Sie das Raspberry Pi-Gehäuse gemäß Ihrem Gehäusedesign. Wenn Sie Kühlkörper verwenden, entfernen Sie die Klebefolie und drücken Sie jeden Kühlkörper etwa zehn Sekunden lang fest auf den entsprechenden Chip.
Der größte Kühlkörper wird normalerweise auf dem Haupt-SoC angebracht. Kleinere Kühlkörper können je nach Kühlkörper-Kit und Platinenlayout auf anderen wärmeerzeugenden Chips platziert werden. Tragen Sie keine Wärmeleitpaste auf, wenn die Kühlkörper bereits über voraufgetragene thermische Klebestreifen verfügen.
Setzen Sie den Raspberry Pi in das Gehäuse ein, indem Sie die USB-, HDMI- und Stromanschlüsse an den Gehäuseöffnungen ausrichten. Wenn Ihr Gehäuse über abnehmbare Seitenteile verfügt, ist es ratsam, das Gehäuse während der ersten Tests teilweise offen zu lassen, um die Fehlersuche zu erleichtern.
Schritt 4: Booten, Netzwerkverbindung und SSH-Konfiguration
Legen Sie die SD-Karte in den Raspberry Pi ein. Schließen Sie eine Tastatur, eine Maus, ein HDMI-Display und das Micro-USB-Netzteil an.
Schalten Sie den Pi ein und warten Sie, bis der Desktop von Raspberry Pi OS geladen ist. Während des Startvorgangs kann die grüne Aktivitäts-LED blinken, wenn das System von der SD-Karte liest.
Klicken Sie auf das WLAN-Symbol in der oberen rechten Ecke, wählen Sie Ihr WLAN-Netzwerk aus und geben Sie das Passwort ein, um den Raspberry Pi mit dem Internet zu verbinden.
Öffnen Sie als Nächstes die Terminalanwendung und führen Sie Folgendes aus:
sudo raspi-config
Gehen Sie zu:
Schnittstellenoptionen → SSH → Aktivieren
Beenden Sie dann raspi-config.
SSH ermöglicht Ihnen die Fernsteuerung des Raspberry Pi ohne Verwendung einer Tastatur oder Maus. Wenn SSH aktiviert ist, ändern Sie das Standardpasswort oder verwenden Sie den Benutzernamen und das Passwort, die Sie während der Einrichtung von Raspberry Pi OS konfiguriert haben, insbesondere wenn der Pi mit einem gemeinsam genutzten Netzwerk verbunden ist.
Um die IP-Adresse des Raspberry Pi zu überprüfen, führen Sie Folgendes aus:
hostname -I
Bitte notieren Sie die IP-Adresse. Sie wird später für die Konfiguration von Raspicast auf Ihrem Android-Telefon benötigt.
Schritt 5: Pakete aktualisieren und Abhängigkeiten installieren
Öffnen Sie das Terminal und führen Sie Folgendes aus:
sudo apt-get update
Dies aktualisiert die Liste der Paket-Repositories.
Führen Sie dann Folgendes aus:
sudo apt-get upgrade
Dies wird verfügbare Paketaktualisierungen herunterladen und installieren. Bei einer frischen Installation von Raspberry Pi OS kann dies je nach Internetverbindung und Geschwindigkeit der SD-Karte mehrere Minuten dauern.
Nachdem das Upgrade abgeschlossen ist, installieren Sie die erforderlichen Entwicklungsbibliotheken:
sudo apt-get install libjpeg8-dev libpng-dev git make
Diese Entwicklungsheaderdateien werden für den Bau bildbezogener Werkzeuge wie omxiv benötigt. Wenn Sie ein älteres Legacy-System verwenden oder einer älteren omxiv-Bauanleitung folgen, wird möglicherweise libpng12-dev erwähnt, aber auf neueren Systemen ist libpng-dev normalerweise der sicherere Paketname.
Akzeptieren Sie die Installation, wenn Sie dazu aufgefordert werden.
Schritt 6: omxiv aus dem Quellcode kompilieren
Bei einigen Raspicast-Installationen wird omxiv zur Anzeige von Bildern auf dem Raspberry Pi verwendet. Wenn Ihr Raspicast-Build omxiv benötigt, müssen Sie es möglicherweise aus dem Quellcode kompilieren.
Öffnen Sie ein Terminalfenster auf dem Raspberry Pi und führen Sie Folgendes aus:
git clone https://github.com/HaarigerHarald/omxiv
Dies lädt die Quellcodedateien von omxiv in ein Verzeichnis namens omxiv herunter.
Wechseln Sie anschließend in dieses Verzeichnis:
cd omxiv
Kompilieren Sie dann das Projekt:
make -j4
Das Flag `-j4` ermöglicht dem Build-Prozess die Nutzung von vier parallelen Jobs, was für die Quad-Core-CPU des Raspberry Pi 3 geeignet ist.
Nach Abschluss der Kompilierung installieren Sie diese:
sudo make install
Dies installiert omxiv in den Systempfad.
Zur Bestätigung der Installation führen Sie Folgendes aus:
welches omxiv
Falls der Befehl einen Pfad zurückgibt, wie zum Beispiel:
/usr/bin/omxiv
dann war die Installation erfolgreich.
Sollte die Kompilierung fehlschlagen, überprüfen Sie fehlende Abhängigkeiten und die Fehlermeldungen der Ausgabe, bevor Sie zu Schritt 5 zurückkehren.
Schritt 7: Raspicast auf dem Android-Telefon konfigurieren
Vergewissern Sie sich zunächst, dass Ihr Android-Telefon und Ihr Raspberry Pi mit demselben WLAN-Netzwerk verbunden sind.
Überprüfen Sie die aktuelle IP-Adresse auf dem Raspberry Pi:
hostname -I
Installieren Sie dann Raspicast auf Ihrem Android-Gerät aus dem Google Play Store.
Nach der Installation öffnen Sie Raspicast. Tippen Sie auf das Drei-Punkte-Menü-Symbol, gehen Sie zu Einstellungen und geben Sie die folgenden Werte ein:
IP-Adresse: Geben Sie die IP-Adresse des Raspberry Pi ein, z. B. 192.168.1.50
Benutzername: Geben Sie den auf Ihrem Raspberry Pi konfigurierten Benutzernamen ein
Passwort: Geben Sie das auf Ihrem Raspberry Pi konfigurierte Passwort ein
Port: 22
Nachdem Sie diese Werte eingegeben haben, tippen Sie auf Speichern. Raspicast wird versuchen, eine SSH-Verbindung zum Raspberry Pi herzustellen. Wenn die Verbindung erfolgreich ist, kehrt die App zum Raspicast-Startbildschirm zurück.
Sollte Raspicast keine Verbindung herstellen können, überprüfen Sie Folgendes:
- Die IP-Adresse ist korrekt.
- SSH ist auf dem Raspberry Pi aktiviert.
- Das Android-Telefon und der Raspberry Pi befinden sich im selben WLAN-Netzwerk.
- Der Benutzername und das Passwort sind korrekt.
- Port 22 wird von Ihrem Netzwerk nicht blockiert.
Schritt 8: Inhalte auf Ihren Fernseher übertragen
YouTube
Um Raspicast mit unterstützten Videolinks zu verwenden, öffnen Sie die YouTube-App oder eine andere unterstützte App auf Ihrem Smartphone. Spielen Sie ein Video ab, tippen Sie auf "Teilen" und wählen Sie Raspicast aus.
Der Videolink wird an den Raspberry Pi gesendet. Wenn das aktuelle Raspicast-Setup und die Wiedergabetools den Link unterstützen, wird der Raspberry Pi versuchen, den Inhalt abzuspielen und ihn über HDMI auf Ihren Fernseher auszugeben.
Sie können Ihr Telefon sperren oder Apps wechseln, nachdem die Wiedergabe begonnen hat. In dieser Konfiguration sendet das Telefon hauptsächlich die Wiedergabeanfrage oder den Medienlink; es rendert das Video nicht kontinuierlich selbst.
Lokale Dateien
Um lokale Dateien wie Filme, Musik oder andere Mediendateien zu streamen, öffnen Sie Raspicast und navigieren Sie zu Ihrem Medienverzeichnis.
Wählen Sie eine unterstützte Datei, wie z. B. ein MP4-Video, und Raspicast sendet diese an den Raspberry Pi zur Wiedergabe. Die tatsächliche Wiedergabeunterstützung hängt vom Dateiformat, dem Codec und dem auf dem Raspberry Pi installierten Mediaplayer ab.
Bilder
Um Bilder zu übertragen, navigieren Sie im Raspicast-Programm in Ihr Bilder-Verzeichnis und wählen Sie ein JPG- oder PNG-Bild aus. Das Bild wird an den Raspberry Pi gesendet und auf dem Fernseher angezeigt.
Wichtige Hinweise
Die Wiedergabequalität hängt von der Quelle des Mediums, der Netzwerkstabilität, der Codec-Unterstützung und dem auf dem Raspberry Pi verwendeten Player ab. Die Unterstützung von YouTube oder Web-Videos kann variieren, da Streaming-Plattformen ihre Bereitstellungsmethoden häufig ändern.
Der Raspberry Pi 3 kann viele 1080p-Wiedergabeaufgaben bewältigen, jedoch hängt die Leistung vom Codec und der Softwareumgebung ab. Wenn die Wiedergabe friert oder ruckelt, überprüfen Sie die WLAN-Verbindung, die Stromversorgung, das Videoformat, die Softwarekompatibilität und die Temperatur des Raspberry Pi.
Raspicast bietet kein systemweites Casting auf die gleiche Weise wie Chromecast. Streaming-Apps wie Netflix, Hulu, Disney+ und andere DRM-geschützte Dienste können in der Regel nicht auf die gleiche Weise über Raspicast gestreamt werden.
Es kann zu einer kurzen Verzögerung zwischen dem Senden einer Wiedergabeanforderung vom Telefon und dem Beginn der Videowiedergabe auf dem Fernseher kommen. Diese Verzögerung hängt von der Netzwerkgeschwindigkeit, der Linkauflösung, dem Buffering und der Startzeit des Players ab.
Der Akkuverbrauch Ihres Telefons sollte nach Beginn der Wiedergabe relativ gering sein, da das Telefon hauptsächlich Befehle oder Medienlinks sendet und nicht kontinuierlich Videos verarbeitet oder transkodiert.
Abschließende Gedanken
Durch die Verwendung von Raspicast können Sie einen Raspberry Pi in einen leichten Media-Empfänger für ausgewählte Casting-Workflows verwandeln. Der Raspberry Pi akzeptiert SSH-basierte Anfragen von Ihrem Android-Telefon, empfängt Medienlinks oder -dateien und gibt den Inhalt über HDMI an einen Fernseher aus.
Diese Einrichtung ist keine exakte Kopie von Chromecast und sollte nicht als vollständiger Ersatz für Google Cast behandelt werden. Sie ist jedoch nützlich für die Wiedergabe lokaler Medien, ausgewählter geteilter Links sowie zum Erlernen der Funktionsweise von Raspberry Pi-Hardware, Netzwerken, SSH und Mediaplayer-Tools in Kombination.
Die während dieses Projekts erworbenen Fähigkeiten, einschließlich der Arbeit mit Linux-Befehlen, dem Erstellen von Software aus dem Quellcode, der Konfiguration von SSH und dem Einrichten von Raspberry Pi-Hardware, sind auf viele zukünftige Embedded-Linux- und medienbezogene Projekte übertragbar.
Häufig gestellte Fragen (FAQ)
A: Nicht immer. Es hängt vom Hersteller, dem spezifischen Projekt und den Kundenanforderungen ab. Bei Projekten mit höheren Zuverlässigkeitsanforderungen, wie z. B. in der Medizintechnik und Automobilindustrie, wird AOI typischerweise auf jeder Platine durchgeführt.
Ja. Für Projekte mit besonderen Qualitätsanforderungen kann PCBCool kundendefinierte Inspektionsprioritäten, Abnahmekriterien, Toleranzbereiche oder spezifische Fehlerkontrollanforderungen befolgen.
Abraash Vnest arbeitet an verteidigungsbezogenen Elektronikprojekten, mit Schwerpunkt auf Schaltplanentwicklung, Fehlersuche, Prüfung und technischer Dokumentation. Er entwickelt zudem STM32-Firmware und implementiert industrielle Kommunikationsprotokolle wie CAN.