Ein ferngesteuerter Musikplayer

Bei unserem Projekt steuert ein Anwender über ein Raspberry Pi mit Touchscreen einen Musikplayer auf einem anderen Rechner. Die Verbindung zwischen beiden Rechnern läuft über Bluetooth Low Energy. Als Benutzeroberfläche auf dem Raspberry dient eine Webanwendung in einem Browser.

Dabei sind drei Skripte involviert: Ein Javascript-Skript innerhalb der Webanwendung kommuniziert über einen Websocket. Diese wird auf dem Raspberry Pi mit einem Javascript-Skript auf Node.js-Basis bereitgestellt; es implementiert auch die BluetoothLE-Funktionalität. Das dritte Skript schließlich läuft auf einem zweiten Rechner und steuert aufgrund der Anweisungen, die durch BluetoothLE übertragen werden, einen Musikplayer per Kommandozeile.

Natürlich ließe sich die direkte Aufgabe als solches deutlich einfacher implementieren. Der Websocket hätte auch direkt die Ansprache des Musikplayers übernehmen können, der Bluetooth-Teil wäre unnötig. Tatsächlich ging es uns aber eigentlich nicht um den Musikplayer auf einem Laptop, an dessen Stelle könnte genauso gut eine eigenständige Arduino-/Raspberry-basierte Steuerung fürs Aquarium stehen - oder eine Stereoanlage mit Bluetooth-Steuerung, die so nachträglich tauglich für die Steuerung per WLAN gemacht werden kann.

Wir konzentrieren uns in diesem Artikel vor allem auf die Websocket-Implementierung, der Code für die Bluetooth-Kommunikation sollte auf Basis des Vorgängerartikels verständlich sein. Wir werden auf den Bluetooth-Code nur da eingehen, wo es im Detail interessant ist.

Der vollständige Quellcode aller Skripte kann als ZIP-Archiv heruntergeladen werden.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 Beispiel: Leap MotionWebsocket öffnen 
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7. 6
  8. 7
  9. 8
  10. 9
  11. 10
  12. 11
  13. 12
  14.  


Anonymer Nutzer 28. Jul 2014

Ich würde sagen hier könnte man eleganter und auch verhältnismäßig preiswert mit Zigbee...

savejeff 24. Jul 2014

perfekt! die Artikel sind echt zeitlos. ich werde noch ein paar Artikel nachholen.

holminger 24. Jul 2014

Meine RasPis dienen einmal als AirPrint-Server für einen 15 Jahre alten Kyocera...

currock63 23. Jul 2014

die guten alten Zeiten der c't, als es noch in fast jeder Ausgabe etwas zum selber...



Aktuell auf der Startseite von Golem.de
Künstliche Intelligenz
So funktioniert ChatGPT

Das mächtige Sprachmodell ChatGPT erzeugt Texte, die sich kaum von denen menschlicher Autoren unterscheiden lassen. Wir erklären die Technologie hinter dem Hype.
Ein Deep Dive von Helmut Linde

Künstliche Intelligenz: So funktioniert ChatGPT
Artikel
  1. Streamer: Rocket Beans muss in Kurzarbeit
    Streamer
    Rocket Beans muss in Kurzarbeit

    Der Gaming-Kanal Rocket Beans hat wirtschaftliche Schwierigkeiten. Mitarbeiter müssen in Kurzarbeit, einige Sendungen entfallen.

  2. i4: BMW lässt sich am Berg nicht updaten
    i4
    BMW lässt sich am Berg nicht updaten

    Die Besitzerin eines BMW i4 hat die Fehlermeldung entdeckt, ihr Parkplatz sei zu steil für ein Update der Bordsoftware.

  3. Volker Wissing: Schienengüterverbände sind gegen Autobahnausbau
    Volker Wissing
    Schienengüterverbände sind gegen Autobahnausbau

    Für den Güterverkehr sollte vermehrt auf die Bahn gesetzt werden und nicht auf mehr LKW. Für die gebe es eh nicht genug Fahrer, meinen Verbände.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • RAM im Preisrutsch - neue Tiefstpreise! • Powercolor RX 7900 XTX 1.195€ • AMD Ryzen 7 5800X3D 329€ • Nur noch heute TV-Sale mit bis 77% Rabatt bei Otto • Lenovo Tab P11 Plus 249€ • MindStar: Intel Core i7 13700K 429€ • Logitech G915 Lightspeed 219,89€ • PCGH Cyber Week [Werbung]
    •  /