Abo
  • Services:

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.

Stellenmarkt
  1. Herbert Kannegiesser GmbH, Vlotho
  2. abilex GmbH, Stuttgart

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.

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.  


Anzeige
Blu-ray-Angebote
  1. 9,99€
  2. 4,25€
  3. (u. a. Spider-Man 1-3 für 8,49€, X-Men 1-6 für 23,83€ und Batman 1-4 für 14,97€)

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...


Folgen Sie uns
       


Ubitricity ausprobiert

Das Berliner Unternehmen Ubitricity hat ein eichrechtskonformes System für das Laden von Elektroautos entwickelt. Das Konzept basiert darauf, dass nicht die Säule, sondern der Kunde selbst für die Stromzählung sorgt.

Ubitricity ausprobiert Video aufrufen
Live-Linux: Knoppix 8.3 mit Docker
Live-Linux
Knoppix 8.3 mit Docker

Cebit 2018 Die Live-Distribution Knoppix Linux-Magazin Edition bringt nicht nur die üblichen Aktualisierungen und einen gegen Meltdown und Spectre geschützten Kernel. Mir ist das kleine Kunststück gelungen, Knoppix als Docker-Container zu starten.
Ein Bericht von Klaus Knopper


    Volocopter 2X: Das Flugtaxi, das noch nicht abheben darf
    Volocopter 2X
    Das Flugtaxi, das noch nicht abheben darf

    Cebit 2018 Der Volocopter ist fertig - bleibt in Hannover aber noch am Boden. Im zweisitzigen Fluggerät stecken jede Menge Ideen, die autonomes Fliegen als Ergänzung zu anderen Nahverkehrsmitteln möglich machen soll. Golem.de hat Platz genommen und mit den Entwicklern gesprochen.
    Von Nico Ernst

    1. Urban Air Mobility Airbus gründet neuen Geschäftsbereich für Lufttaxis
    2. Cityairbus Mit Siemens soll das Lufttaxi abheben
    3. Verkehr Porsche entwickelt Lufttaxi

    Jurassic World Evolution im Test: Das Leben findet einen Weg
    Jurassic World Evolution im Test
    Das Leben findet einen Weg

    Ian Malcolm hatte recht: Das Leben wird ausgegraben und gebrütet, es frisst und stirbt oder es bricht aus und macht Jagd auf die Besucher. Nur leider haben die Entwickler von Jurassic World Evolution ein paar kleine Design-Fehler begangen, so wie Henry Wu bei der Dino-DNA.
    Ein Test von Marc Sauter

    1. Vampyr im Test Zwischen Dracula und Doktor
    2. Fe im Test Fuchs im Farbenrausch
    3. Thaumistry: In Charm's Way im Test Text-Adventure der ganz alten Schule

      •  /