首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Movesense无法进入DFU模式,因为它不是通过Movesense Android应用连接的

Movesense无法进入DFU模式,因为它不是通过Movesense Android应用连接的
EN

Stack Overflow用户
提问于 2017-05-24 22:11:02
回答 2查看 577关注 0票数 0

我想使用最近在BitBucket上更新的示例代码(plippo/c85e1ba -更新Movesense Core Lib到0.3.1.105版-更新Movesense示例应用到0.3.1.105版)。

新代码被正确编译和构建。在成功地将movesense设置为DFU模式并上传此固件后,我无法使用Movesense android应用程序读取特征。

移动感知被安卓应用程序和其他BLE工具(例如nRF连接应用程序)检测到。Movesense应用程序在连接到设备时卡住。因此,我无法读取任何内容,或将设备置于DFU模式,以便对其进行重新编程。但是,有了nRF connect应用程序,我就可以连接它了。

比较以前和当前版本的嵌入式代码,我注意到示例应用程序已经被拆分了。但是,在app_root.yaml文件中,部分

代码语言:javascript
复制
apis:
  AccelerometerSample.*:
    apiId: 100
    defaultExecutionContext: PrimaryServices
  HelloWorld.*:
    apiId: 101
    defaultExecutionContext: PrimaryServices

一如既往。我上传了示例应用程序"accelerometer_app“,其中HelloWorld服务不再可用(与旧代码相比)。但是仍然列在yaml文件中。我想知道这是不是我无法再连接Movesense应用程序的原因。

Android监视器中最后记录的线路如下

在旧代码的情况下,它是有效的:

代码语言:javascript
复制
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

在新代码不起作用的情况下:

代码语言:javascript
复制
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

这是一个问题,因为我不能将movesense置于DFU模式并对其重新编程,因此基本上“它坏了”;)。

问题1: yaml文件中描述的服务是这个问题的问题所在吗?

问题2:由于我能够通过nRF连接应用程序看到并连接到它,并且能够手动将数据写入写入特征,有没有一种方法(命令)可以发送到移动传感器,将其置于DFU模式。

问题3:我找不到代码卡住的地方,因为我不能跟踪/跟踪BleEnumeratorImpl (参见日志行)。在整个安卓项目中,BleEnumeratorImpl位于何处?

EN

回答 2

Stack Overflow用户

发布于 2017-06-06 16:51:38

编辑:新的movesense-device-lib修复了这个BLE连接问题

这是一个已知的问题,导致随机构建在BLE连接阶段卡住。这个问题将在今天或明天发布的下一个版本中得到解决。由于该错误阻止启动进入DFU固件更新模式,因此只能使用编程夹具(J-TAG电缆)保存传感器。对于那些没有夹具的客户,请通过电子邮件(info (at) movesense.com)联系Movesense支持人员,您将获得新的传感器来替换砖砌的传感器。

对于给您带来的不便,我真的很抱歉。

全面披露:我在Movesense团队工作

票数 0
EN

Stack Overflow用户

发布于 2017-07-14 18:58:42

请使用新的Android应用程序。有一个运行DFU模式的工作选项(从工具栏菜单)。

很快,所有的DFU操作都将包含在这个新的示例应用程序中。

现在,在运行DFU模式后,您需要使用北欧DFU应用程序。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44160903

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档