2017-05-24 2 views
0

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 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))

Répondre

0

EDIT: Le nouveau movesense-device-lib est que fixe cette connectivité BLE question

Ceci est un problème connu qui a été à l'origine aléatoire construit pour se coincer en phase de connexion BLE. Le problème est résolu dans la prochaine version qui devrait être disponible aujourd'hui ou demain. Comme le bogue empêche le démarrage en mode de mise à jour du micrologiciel DFU, les capteurs peuvent uniquement être sauvegardés à l'aide d'un gabarit de programmation (câble J-TAG). Pour les clients qui n'ont pas le gabarit, veuillez contacter le support Movesense par e-mail (info (at) movesense.com) et vous aurez de nouveaux capteurs pour remplacer les briques.

Je suis vraiment désolé de la gêne occasionnée.

divulgation complète: Je travaille pour l'équipe Movesense

0

S'il vous plaît utiliser de nouvelles applications Android. Il existe une option de fonctionnement pour exécuter le mode DFU (à partir du menu de la barre d'outils).

Bientôt toutes les opérations DFU seront incluses dans ce nouvel exemple d'application.

Maintenant après avoir exécuté le mode DFU, vous devez utiliser l'application Nordic DFU.