Bluetooth Low Energy und Websockets: Raspberry Pi als Schaltzentrale fürs Haus

Die Vision des Internets der Dinge ist die Steuerung technischer Geräte von überall und unabhängig von bestimmten Werkzeugen. Golem.de zeigt einen flexiblen Weg, fernbedienbare Geräte von überall zu steuern.

Artikel von veröffentlicht am
Raspberry Pi mit Touchscreen-Display und Bluetooth-Dongle
Raspberry Pi mit Touchscreen-Display und Bluetooth-Dongle (Bild: Fabian Hamacher/Golem.de)

Im April haben wir gezeigt, wie Bluetooth Low Energy (BluetoothLE) funktioniert und wie wir darüber Dinge steuern können. Doch die Lösung hatte einen Schönheitsfehler: Es war nicht möglich, Einfluss auf vorprogrammierte Abläufe zu nehmen. Heute wollen wir das mit Hilfe von Websockets ändern. Damit werden wir ein Raspberry Pi mit Touchscreen-Monitor in eine Fernbedienung verwandeln, um einen Musikplayer zu steuern. Durch den Einsatz von Websockets kann das Raspberry diese Funktionalität auch an andere Rechner in einem Netzwerk weitergeben.

  • Raspberry Pi mit Touchscreen-Display und Bluetooth-Dongle auf dem eine Webanwendung läuft (Foto: Fabian Hamacher/Golem.de)
Raspberry Pi mit Touchscreen-Display und Bluetooth-Dongle auf dem eine Webanwendung läuft (Foto: Fabian Hamacher/Golem.de)

Flexible Lösung

Statt des Raspberry Pi kann auch jeder andere Rechner - mit oder ohne Display - zum Einsatz kommen, und der Art der steuerbaren Geräte sind keine Grenzen gesetzt. Bluetooth dient uns nur als ein Beispiel für die Steuerung, genauso gut kann eine IR-Diode eingesetzt werden oder ein Sender im 433-MHz-Band. Statt des Musikplayers kann auch ein fernsteuerbares Ambilight oder ein Fernseher verwendet werden. Und statt einer Webanwendung eine eigens entwickelte Android-App. Unser Beispiel bietet vor allem den Vorteil, dass es mit wenig Aufwand nachgestellt werden kann.

Was Websockets sind

Beim klassischen HTTP öffnet ein Client eine Verbindung zu einem Server und schickt eine Anfrage. Der Server beantwortet diese Anfrage, danach wird die Verbindung wieder getrennt. Das ist ein sehr einfaches und robustes Schema. Ein Server kann aber nicht ohne vorherige Anfrage etwas zum Client schicken. Der Websocket-Standard ist HTTP sehr ähnlich - mit einem Unterschied: Wurde die Verbindung einmal geöffnet, bleibt sie bestehen und der Server darf dann auch von sich aus Daten senden.

Durch die Ähnlichkeit von Websockets und HTTP wird das Protokoll mittlerweile von aktuellen Browsern und Bibliotheken unterstützt, sondern es funktioniert praktisch auch überall dort, wo bislang schon HTTP genutzt werden kann.

Die Kommunikation über Sockets (ohne Web-Prefix) ist in der IT-Welt nicht neu. Über klassische (Unix-)Sockets fließen Datenströme zwischen Anwendungen hin und her. Praktisch jedes Betriebssystem bietet diese Kommunikationsmethode an. Sie funktioniert aber nicht über Gerätegrenzen hinweg. Außerdem ist eine Anwendung vollkommen frei darin, in welcher Form sie die Daten überträgt und einen Socket nutzt. Netzwerk-Sockets erweitern das Konzept um die geräteübergreifende Übertragung, auch hier gibt es keine Festlegungen für die Form der Daten. Das ist entsprechenden Protokollen - wie eben dem bekannten HTTP - überlassen.

Websockets sind nun ebenfalls ein solches Protokoll, das auf Netzwerk-Sockets aufsetzt. Websockets sind also kein Ersatz für klassische Netzwerk-Sockets, die Bezeichnung Socket zielt eher darauf ab, auf die Art der Nutzung hinzuweisen.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
Wozu Websockets nützlich sind 
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13.  


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
Quellcode auf Github
MS-DOS 4.00 ist jetzt Open Source

Nachdem der ehemalige CTO eine alte MS-DOS-Floppy entdeckt hat, veröffentlicht Microsoft ein Stück Betriebssystem-Geschichte.

Quellcode auf Github: MS-DOS 4.00 ist jetzt Open Source
Artikel
  1. Startrampe Set: Lego bietet Milchstraße und Nasa-Rakete Artemis als Bausatz
    Startrampe Set
    Lego bietet Milchstraße und Nasa-Rakete Artemis als Bausatz

    Lego hat zwei neue Sets vorgestellt, die für Weltraumenthusiasten gedacht sind: das Nasa-Artemis-Startrampen-Set und das Milchstraßen-Galaxie-Set.

  2. Tarifrunde: Montag erneut Streiktag bei der Deutschen Telekom
    Tarifrunde
    Montag erneut Streiktag bei der Deutschen Telekom

    Beim letzten Warnstreik bei der Telekom waren 12.500 Beschäftigte beteiligt. Diesmal wird breiter mobilisiert. Die Telekom versucht Schadensbegrenzung.

  3. Auszieh-Apps: Apple entfernt KI-Nudify-Apps aus dem App Store
    Auszieh-Apps
    Apple entfernt KI-Nudify-Apps aus dem App Store

    Apps, die Personen per KI ungefragt digital ausziehen, sind beliebt. Nun entfernt Apple einige dieser Anwendungen aus dem App Store - aber erst nach Hinweisen von Journalisten.

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 • Asus OLED-Monitor zum Tiefstpreis • Gigabyte GeForce RTX 4070 Ti im Sale • MediaMarkt: Asus Gaming-Laptop 999€ statt 1.599€ • Gamesplanet Spring Sale [Werbung]
    •  /