Einzelnen Beitrag anzeigen

mensch72

Registriert seit: 6. Feb 2008
838 Beiträge
 
#2

AW: BluetoothLE-Subscription über App-Neustart hinaus aktiv halten

  Alt 30. Jan 2018, 16:51
..."Wo liegt der (Denk-)Fehler?"...
-> in der Annahme, man könnte eine BLE Verbindung über PowerOn/Off eines der Teilnehmer "halten"... dafür gibt es "bonden" für die Einrichtung einer quasi permanenten Verbindung, aber das macht für diesen Anwendungsfall NULL Sinn.

Saubere Lösung als StateMaschiene("Sleep"-"RasterScan"-"Connect&DiscoverServices&NotifyEnable"-WaitForData(max 15sec)-"NotifyDisable&Disconnect"-"Sleep"):
- scannen bis Messgerät zu finden... in der APP nicht 1x 10sec oder gar endlos, besser 3sec-Scan, 1sec-Pause, 3sec-Scan,1sec-Pause... der BLE-Stack wird es dir Danken und Android/IOS können die APP in Pausen sauber in den Hintergrund schicken wenn es sein soll
- wenn Messgerät gefunden, dann Connect&DiscoverServices
- wenn verbunden "NotifyEnable" auf das was interessiert
- bis jetzt was kommt, kann es 10sec dauern, weil das ist die Zeit die das Messgerät der APP für obige 2 Schritte gibt
- wenn alle Daten da oder ~15sec TimeOut, dann "NotifyDisable" aus alles war angefordert wurde und dann vollen "Disconnect"
- !!! alles was mit den Scanresults und Connect/Services zu tun hat verwerfen !!!
- noch 1sec-Pause und dann die Statemaschiene der APP auf Anfang zurücksetzen... jetzt kann APP sich beenden, schlafen und/oder neu starten
- denn der Ablauf beginnt nun deterministisch wie immer wieder mit "RasterScan"...
  Mit Zitat antworten Zitat