IPhone (iOS 5.0) Bluetooth Low Energy: non può ottenere dati dal dispositivo
-
13-12-2019 - |
Domanda
Ho ottenuto il monitor della frequenza cardiaca a basso consumo Bluetooth che funziona utilizzando CoreBluetooth.Framework su iOS 5.0.Ma alcune volte ottengo i seguenti problemi.
1) A volte quando avvio la scansione (con Scan Forraipheralswithservices metodo), non può scoprire dispositivi BLE (BLE (BLUETOOTH a bassa energia) fino a quando non spento e accendere il Bluetooth iPhone manualmente.Octicaly ho dovuto riavviare il telefono anche se il Bluetooth si spegne e si accendeva non funziona.
2) A volte quando provo a connettersi al dispositivo per il quale ho memorizzato l'UUID in precedenza, sono stato in grado di connettersi al dispositivo, IE, Didconnectperipheral metodo delegato è stato chiamato ma non scopre maiEventuali servizi anche se chiamo [Scarservices periferiche: NIL] IE, non sto ottenendo dati dal dispositivo nel metodo Delegate DidScoverservices .Per questo dovevo anche riavviare il telefono.
Soluzione
Prova a controllare gli archivi qui: http://lists.apple.com/archives/bluetooth-dev
E se non lo trovi, invia la domanda lì.Molti ingegneri di Apple Bluetooth rispondono alle domande su quella mailing list.
Altri suggerimenti
1) Ha qualcosa a che fare con la routine di accoppiamento su Bluetooth Low Energy e l'iPhone.L'iPhone cambia il suo ID ogni intervallo, non so quanto spesso, ma lo fa.Hai provato a reimpostare / riavviare il dispositivo slave?Questo spesso funziona per me. Il dispositivo slave ha anche un periodo di trasmissione limitato, E.G 20-30 secondi.
2) Di nuovo, verificare di aver ripristinato lo slave.Non so se hai costruito il dispositivo il tuo sé o comprato una cintura di frequenza cardiaca, ma questa è la soluzione più spesso la soluzione.
Oh e a proposito, ho avuto un problema in cui il didDiscoverServices
è in realtà saltato su una frase if, dove ho controllato un servizio specifico.Questo non lo aggiustava fino a quando non ho riavviato il telefono.Comportamento davvero strano, ma non ho ancora trovato altre soluzione a questo.