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.

Stellenmarkt
  1. IT-Leiter m/w/d
    über KISSLING Personalberatung GmbH, Großraum Balingen/Oberndorf a.N./Schömberg/Rosenfeld
  2. Digital Analyst - Schwerpunkt Redaktion (d/m/w)
    RND RedaktionsNetzwerk Deutschland GmbH, Hannover
Detailsuche

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.

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.

Golem Akademie
  1. AZ-104 Microsoft Azure Administrator: virtueller Vier-Tage-Workshop
    13.–16. Dezember 2021, virtuell
  2. Penetration Testing Fundamentals: virtueller Zwei-Tage-Workshop
    17.–18. Januar 2022, Virtuell
Weitere IT-Trainings

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.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 Das Henne-Ei-ProblemDummer Client - cleverer Server 
  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
CoreELEC/LibreELEC
Smart-TV mal anders

Eine TV-Box Marke Eigenbau bringt Spaß und Gewissheit über unsere Daten. Die Linux-Distributionen CoreELEC und LibreELEC eignen sich da besonders.
Eine Anleitung von Sebastian Hammer

CoreELEC/LibreELEC: Smart-TV mal anders
Artikel
  1. Softwarepatent: Uraltpatent könnte Microsoft Millionen kosten
    Softwarepatent
    Uraltpatent könnte Microsoft Millionen kosten

    Microsoft hat eine Klage um ein Software-Patent vor dem BGH verloren. Das Patent beschreibt Grundlagentechnik und könnte zahlreiche weitere Cloud-Anbieter betreffen.
    Ein Bericht von Stefan Krempl

  2. Amazon: Fire TV Stick 4K Max erhält erweiterte Heimkinofunktion
    Amazon
    Fire TV Stick 4K Max erhält erweiterte Heimkinofunktion

    Mit einem geplanten Update kann der Fire TV Stick 4K Max den Klang anderer Zuspielgeräte auf Echo-Lautsprechern ausgeben.

  3. Krypto: Angeblicher Nakamoto darf 1,1 Millionen Bitcoin behalten
    Krypto
    Angeblicher Nakamoto darf 1,1 Millionen Bitcoin behalten

    Ein Gericht hat entschieden, dass Craig Wright der Familie seines Geschäftspartners keine Bitcoins schuldet - kommt jetzt der Beweis, dass er Satoshi Nakamoto ist?

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 • Kingston PCIe-SSD 1TB 69,90€ & 2TB 174,90€ • Samsung Smartphones & Watches günstiger • Saturn-Advent: Xiaomi Redmi Note 9 Pro 128GB 199€ • Alternate (u. a. Razer Opus Gaming-Headset 69,99€) • Release heute: Halo Infinite 68,99€ • MM-Aktion: 3 Spiele kaufen, nur 2 bezahlen [Werbung]
    •  /