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.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Beispiel: Leap Motion | Websocket öffnen |
Ich würde sagen hier könnte man eleganter und auch verhältnismäßig preiswert mit Zigbee...
perfekt! die Artikel sind echt zeitlos. ich werde noch ein paar Artikel nachholen.
Meine RasPis dienen einmal als AirPrint-Server für einen 15 Jahre alten Kyocera...
die guten alten Zeiten der c't, als es noch in fast jeder Ausgabe etwas zum selber...