Einzelnen Beitrag anzeigen

knaeuel

Registriert seit: 2. Jul 2007
110 Beiträge
 
Delphi 10.3 Rio
 
#1

BluetoothLE-Subscription über App-Neustart hinaus aktiv halten

  Alt 30. Jan 2018, 14:38
Hallo zusammen,

ich bin mir nicht sicher, ob es sich nur um ein Verständnisproblem handelt oder ob es wirklich ein (programmier-)technisches Problem ist.

Ich habe eine App programmiert, die BluetoothLE-Geräte sucht, Services und Characteristics abruft sowie zugehörige Descriptors und Properties. Anschließend werden Werte gesendet und empfangen bzw. Subscriptions für bestimmte Characteristics eingetragen.

Zum Problem:
Ich habe hier ein Blutdruckmessgerät. Die App liest die Informationen über die angebotenen Dienste ein, schreibt ein Konfigurationsbyte und empfängt anschließend Blutdruckmesswerte sowie ein paar zusätzliche Daten wie mögliche Messfehler oder andere Unregelmäßigkeiten während der Messung.

Das Messgerät schaltet sein Bluetooth erst nach der Messung an, macht etwa 10 Sekunden irgendetwas geheimnisvolles oder auch gar nichts (ich weiß es nicht) und überträgt dann die Messergebnisse. Weitere 10 Sekunden später schaltet sich das Gerät bereits ab.

Die App empfängt durch die Subscription die Messergebnisse und "dekodiert" sie.

Für eine weitere Messung wird das Messgerät wieder neu eingeschaltet. Die App dagegen läuft einfach weiter. Der Datentransfer funktioniert, ohne dass ich erneut eine Verbindung aufbauen, Services etc. abrufen oder die Subscription neu eintragen müsste.

Starte ich aber die App neu, dann komme ich nicht darum herum, innerhalb der kurzen Zeitspanne, in der das Messgerät über BluetoothLE erreichbar ist, das Gerät zu discovern, alle Dienste etc. neu einzulesen und eine erneute Subscription zu hinterlegen. Einzig das Schreiben des Konfigurationsbytes kann ich mir sparen.

Da das Messgerät in der Lage ist, die Subscription zu speichern, müsste ich doch auch in der App vergleichbares schaffen können...

Wo liegt der (Denk-)Fehler? Ich bin dankbar für jede Hilfe!
Danke schon vorab fürs Lesen!
Wolfgang

Geändert von knaeuel (30. Jan 2018 um 15:09 Uhr) Grund: Konkretisierung
  Mit Zitat antworten Zitat