Abo
  • Services:
Anzeige
Raspberry Pi mit Touchscreen-Display und Bluetooth-Dongle
Raspberry Pi mit Touchscreen-Display und Bluetooth-Dongle (Bild: Fabian Hamacher/Golem.de)

Verbindungsprobleme

Wir haben nun eine Lösung gebaut, bei der wir den Musikplayer über drei Wege steuern können: per Mini-Web-App auf dem Raspberry, per Mini-Web-App auf einem anderen Rechner oder Smartphone mit Netzwerkzugriff auf den Raspberry oder auch per direkten Zugriff auf die Bluetooth-Schnittstelle.

Die grundlegende Implementierung dafür haben wir besprochen. Einen Faktor haben wir aber bislang nicht miteinbezogen: die Verbindungsstabilität. Sowohl die Netzwerk- als auch die Bluetooth-Verbindung kann jederzeit abbrechen. Unter Umständen ist das sogar erwünscht, um Strom zu sparen. Wir müssen damit also irgendwie umgehen.

Anzeige

Wir konzentrieren uns hier auf die Bluetooth-Verbindung, sie erwies sich zeitweise als relativ instabil. Außerdem kann der Server nicht einfach per F5 neu gestartet werden, die Webanwendung hingegen schon. Die folgenden Überlegungen sollten aber trotzdem bei eigenen Projekten auch auf die Websocket-Verbindung angewendet werden. In unserem Skript versucht die Webanwendung einfach, die Websocket-Verbindung bei einem Abbruch wieder herzustellen, ohne dem Nutzer dies zu signalisieren.

Auf der Seite des Musikplayers können wir bei einem Verbindungsabbruch recht wenig tun, als Bluetooth-Peripheral ist es ein reiner Befehlsempfänger und kann keine Verbindung von selbst (wieder-) aufnehmen. Bleiben der Server und die Webanwendung übrig.

Und da gilt es, eine grundlegende Entscheidung zu treffen: Soll sich der Server als Vermittlungsstelle zwischen Websocket und Bluetooth um Verbindungsabbrüche kümmern oder die Webanwendung?

Variante 1: Der Server verfügt über keine Eigenintelligenz und ist vollständig von den Befehlen des Clients abhängig. Das schließt auch den Zustand der Bluetooth-Verbindung selbst ein. Der Server muss um entsprechende Befehle ergänzt werden, die BT-Verbindung zu öffnen und zu schließen. Außerdem muss er den Client über den erfolgreichen Aufbau der Verbindung wie auch einen Abbruch informieren. Vorteil ist, dass dadurch der Benutzer maximale Wahlfreiheit hat. Der Nachteil ist: Der Client beziehungsweise der Benutzer muss sich tatsächlich um alles kümmern.

Variante 2: Der Server kümmert sich um die BT-Verbindung und gaukelt dem Client stets eine existierende Bluetooth-Verbindung vor. Vorteil: Ein Client benötigt kaum eigene Logik und ist schnell implementiert. Der Server kann optimale Stromsparstrategien umsetzen. Nachteil: Der Client und der Benutzer sind in ihrer Flexibilität eingeschränkt. Der Aufwand, den Server zu implementieren, ist höher.

Variante 3: Der Server unterstützt beide Varianten, durch die über einen Serverbefehl umgeschaltet werden kann. Vorteil: maximale Flexibilität. Nachteil: hoher Programmieraufwand und Fehleranfälligkeit.

 Das Henne-Ei-ProblemDummer Client - cleverer Server 

eye home zur Startseite
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...



Anzeige

Stellenmarkt
  1. DIEBOLD NIXDORF, Paderborn
  2. Zweckverband Kommunale Datenverarbeitung Region Stuttgart, Stuttgart
  3. Dentsply Sirona, The Dental Solutions Company, Bens­heim
  4. über Hanseatisches Personalkontor Berlin, Berlin


Anzeige
Blu-ray-Angebote
  1. 29,99€ (Vorbesteller-Preisgarantie)
  2. Einzelne Folge für 2,99€ oder ganze Staffel für 19,99€ kaufen (Amazon Video)

Folgen Sie uns
       


  1. Computermuseum Stuttgart

    Als Computer noch ganze Räume füllten

  2. ZX-E

    Zhaoxin entwickelt x86-Chip mit 16-nm-Technik

  3. Microsoft

    Windows 10 Redstone 3 streicht einige Funktionen

  4. Smartphone

    LG stellt Q8 mit zweitem Display vor

  5. Francois Piednoël

    Principal Engineer verlässt Intel

  6. Surface Laptop im Test

    Microsofts Next Topmodel hat zu sehr abgespeckt

  7. Light L16

    Kamera mit 16 Kameramodulen soll DSLRs ersetzen

  8. Yara Birkeland

    Autonomes Containerschiff soll elektrisch fahren

  9. Airport Guide Robot

    LG lässt den Flughafenroboter los

  10. Biometrische Erkennung

    Delta lässt Passagiere mit Fingerabdruck boarden



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Razer Lancehead im Test: Drahtlose Symmetrie mit Laser
Razer Lancehead im Test
Drahtlose Symmetrie mit Laser
  1. Mobile Razer soll Smartphone für Gamer planen
  2. Razer Core im Test Grafikbox + Ultrabook = Gaming-System
  3. Razer Lancehead Symmetrische 16.000-dpi-Maus läuft ohne Cloud-Zwang

Ikea Trådfri im Test: Drahtlos (und sicher) auf Schwedisch
Ikea Trådfri im Test
Drahtlos (und sicher) auf Schwedisch
  1. Die Woche im Video Kündigungen, Kernaussagen und KI-Fahrer
  2. Augmented Reality Ikea will mit iOS 11 Wohnungen virtuell einrichten
  3. Space10 Ikea-Forschungslab untersucht Umgang mit KI

Neuer A8 vorgestellt: Audis Staupilot steckt noch im Zulassungsstau
Neuer A8 vorgestellt
Audis Staupilot steckt noch im Zulassungsstau
  1. Autonomes Fahren Continental will beim Kartendienst Here einsteigen
  2. Verbrenner Porsche denkt über Dieselausstieg nach
  3. Autonomes Fahren Audi lässt Kunden selbstfahrenden A7 testen

  1. Re: syskey.exe

    ArcherV | 12:26

  2. Re: NOOOOO!

    Jesterfox | 12:25

  3. Re: Paint wird vorerst NICHT entfernt

    ArcherV | 12:25

  4. Re: Hyperloop lockt Pseudowissenschaftler an

    Dwalinn | 12:24

  5. Re: Wer bisher nicht zufrieden mit Ue4 games war...

    Avarion | 12:24


  1. 11:59

  2. 11:58

  3. 10:51

  4. 10:30

  5. 10:02

  6. 09:10

  7. 07:25

  8. 07:14


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel