Je voulais utiliser de nouveaux exemples de codes, qui ont été récemment mis à jour sur BitBucket (plippo/c85e1ba - Mis à jour Movesense Core Lib à la version 0.3.1.105 - Mise à jour des exemples d'applications Movesense vers la version 0.3.1.105).Movesense ne peut pas être mis en mode DFU car il ne se connecte pas via l'application Android Movesense
Le nouveau code compilé et construit correctement. Après avoir mis avec succès le movesense en mode DFU et en téléchargeant ce firmware, je ne pouvais pas lire les caractéristiques avec l'application Android Movesense. La Movesense est détectée par l'application Android ainsi que par d'autres outils BLE (par exemple, l'application nRF connect). L'application Movesense reste bloquée lors de la connexion à l'appareil. Par conséquent, je ne peux rien lire, ou mettre l'appareil en mode DFU pour le reprogrammer. Cependant, avec l'application nRF connect, je suis capable de me connecter.
En comparant les versions précédentes et actuelles du code intégré, j'ai remarqué que les exemples d'applications ont été scindés. Cependant, dans le fichier app_root.yaml, la section
apis:
AccelerometerSample.*:
apiId: 100
defaultExecutionContext: PrimaryServices
HelloWorld.*:
apiId: 101
defaultExecutionContext: PrimaryServices
est restée la même. J'ai téléchargé l'exemple d'application "accelerometer_app" où le service HelloWorld n'est plus disponible (par rapport à l'ancien code). Mais est toujours répertorié dans le fichier yaml. Je me demande si c'est la raison pour laquelle je ne peux plus me connecter avec l'application Movesense.
Les dernières lignes enregistrées dans le Moniteur Android sont les suivantes
Dans le cas de l'ancien code, qui travaille:
05-24 15:52:05.350 29854-29854/com.movesense.android.sample_A_G_H.debug D/BluetoothGatt: connect() - device: C2:4B:A6:1E:73:AE, auto: false
05-24 15:52:05.350 29854-29854/com.movesense.android.sample_A_G_H.debug D/BluetoothGatt: registerApp()
05-24 15:52:05.350 29854-29854/com.movesense.android.sample_A_G_H.debug D/BluetoothGatt: registerApp() - UUID=7eec028c-3252-434f-9dcf-cc5ced36dd30
05-24 15:52:05.352 29854-29866/com.movesense.android.sample_A_G_H.debug D/BluetoothGatt: onClientRegistered() - status=0 clientIf=5
05-24 15:52:05.414 29854-29854/com.movesense.android.sample_A_G_H.debug V/ViewRootImpl: Contents drawing finished : com.movesense.android.sample_A_G_H.debug/com.movesense.android.sample_A_G_H.MainActivity
05-24 15:52:07.548 29854-29881/com.movesense.android.sample_A_G_H.debug D/BluetoothGatt: onClientConnectionState() - status=0 clientIf=5 device=C2:4B:A6:1E:73:AE
05-24 15:52:07.548 29854-29881/com.movesense.android.sample_A_G_H.debug D/BluetoothGatt: discoverServices() - device: C2:4B:A6:1E:73:AE
05-24 15:52:08.531 29854-29881/com.movesense.android.sample_A_G_H.debug D/BluetoothGatt: onSearchComplete() = Device=C2:4B:A6:1E:73:AE Status=0
05-24 15:52:08.531 29854-29881/com.movesense.android.sample_A_G_H.debug D/BluetoothGatt: setCharacteristicNotification() - uuid: 34802252-7185-4d5d-b431-630e7050e8f0 enable: true
05-24 15:52:08.563 29854-29928/com.movesense.android.sample_A_G_H.debug D/MovesenseAndroidWrapper: Connected device! serial ECKI5ABE47F3 address 10000001
05-24 15:52:08.563 29854-29928/com.movesense.android.sample_A_G_H.debug D/BleEnumeratorImpl: adding device 10000001
05-24 15:52:08.563 29854-29928/com.movesense.android.sample_A_G_H.debug D/BleEnumeratorImpl: getDevices 1
05-24 15:52:08.698 29854-30184/com.movesense.android.sample_A_G_H.debug D/RouteObserver: onNotify {"Serial": "ECKI5ABE47F3", "Type": "New"}
05-24 15:52:12.937 29854-30184/com.movesense.android.sample_A_G_H.debug D/addWhiteboardDevice: {"manufacturerName": "Suunto", "productName": "Movesense", "variant": "Unknown", "hwCompatibilityId": "C", "serial": "ECKI5ABE47F3", "pcbaSerial": "UNKNOWN", "sw": "0.3.0", "hw": "UNKNOW", "additionalVersionInfo": "UNKNOW", "addressInfo": "UNKNOW"}
05-24 15:52:13.022 29854-29854/com.movesense.android.sample_A_G_H.debug D/MainActivity: Connected to device: Peripheral [address: C2:4B:A6:1E:73:AE, name: Movesense ECKI5ABE47F3, RSSI: -43]
05-24 15:52:13.064 29854-29854/com.movesense.android.sample_A_G_H.debug I/Timeline: Timeline: Activity_launch_request id:com.movesense.android.sample_A_G_H.debug time:47413961
Dans le cas du nouveau code, ce qui est travail:
05-24 15:39:23.643 18160-18160/com.movesense.android.sample_A_G_H.debug D/BluetoothGatt: connect() - device: E8:E6:77:21:D1:45, auto: false
05-24 15:39:23.643 18160-18160/com.movesense.android.sample_A_G_H.debug D/BluetoothGatt: registerApp()
05-24 15:39:23.643 18160-18160/com.movesense.android.sample_A_G_H.debug D/BluetoothGatt: registerApp() - UUID=6c391ed2-8e59-42e5-9700-99758e9e8877
05-24 15:39:23.647 18160-18207/com.movesense.android.sample_A_G_H.debug D/BluetoothGatt: onClientRegistered() - status=0 clientIf=5
05-24 15:39:23.771 18160-18160/com.movesense.android.sample_A_G_H.debug V/ViewRootImpl: Contents drawing finished : com.movesense.android.sample_A_G_H.debug/com.movesense.android.sample_A_G_H.MainActivity
05-24 15:39:27.577 18160-18171/com.movesense.android.sample_A_G_H.debug D/BluetoothGatt: onClientConnectionState() - status=0 clientIf=5 device=E8:E6:77:21:D1:45
05-24 15:39:27.577 18160-18171/com.movesense.android.sample_A_G_H.debug D/BluetoothGatt: discoverServices() - device: E8:E6:77:21:D1:45
05-24 15:39:28.647 18160-18190/com.movesense.android.sample_A_G_H.debug D/BluetoothGatt: onSearchComplete() = Device=E8:E6:77:21:D1:45 Status=0
05-24 15:39:28.647 18160-18190/com.movesense.android.sample_A_G_H.debug D/BluetoothGatt: setCharacteristicNotification() - uuid: 34802252-7185-4d5d-b431-630e7050e8f0 enable: true
05-24 15:39:28.688 18160-18171/com.movesense.android.sample_A_G_H.debug D/MovesenseAndroidWrapper: Connected device! serial ECKID9F62D52 address 10000001
05-24 15:39:28.688 18160-18171/com.movesense.android.sample_A_G_H.debug D/BleEnumeratorImpl: adding device 10000001
05-24 15:39:28.688 18160-18171/com.movesense.android.sample_A_G_H.debug D/BleEnumeratorImpl: getDevices 1
Il arrête à la ligne D/BleEnumeratorImpl: getDevices 1
.
Ceci est un problème car je ne peux pas mettre le moveense en mode DFU et le reprogrammer, donc fondamentalement "il est cassé";).
Question 1: Les services décrits dans le fichier yaml sont-ils à l'origine de ce problème?
Question 2: Comme je suis capable de voir et de s'y connecter via nRF connect App et être capable d'écrire des données manuellement à la caractéristique d'écriture, existe-t-il un moyen (commande) qui peut être envoyé à la movesense, à mettez-le en mode DFU.
Question 3: Je ne trouve pas où le code est bloqué car je ne peux pas suivre/suivre BleEnumeratorImpl
(voir les lignes de journal). Où, dans le projet android entier est le BleEnumeratorImpl situé?
Je vous remercie de votre aide))