结束角色切换后,不存在BLE服务

⚠️
你好。。谢谢你来参加论坛。令人兴奋的消息!我们现在正在移动到我们的新论坛平台,将提供更好的功能,并包含在主对话网站的过程。所有帖子和账号都已迁移。我们现在只接受新论坛上的流量-请在//www.wsdof.com/support. 我们将在未来几天内修复bug/优化搜索和标记。
6个职位/0个新职位
最后一篇文章
保罗.德伯
离线
最后一次见到:1年5个月前
已加入:2014-06-03 10:57
结束角色切换后,不存在BLE服务

亲爱的Dialog,

我们已经创建了BLE软件的一个版本,我们从外围角色开始做广告。当我通过LightBlue连接到设备时,我可以看到电池服务器、suota服务器服务。

按下一个按钮,我会断断续续地将角色更改为观察者(通过GAPM\u RESET\u CMD和app\u configuration\u func)并扫描一段时间,然后返回到外围角色(通过GAPM\u RESET\u CMD和app\u configuration\u func)并再次开始广告。我只是简单地按照几个线程,你解释了应该如何做。

这一切都很好,除了我再次通过LightBlue连接到设备时,没有服务了。这种情况一直持续到我关闭设备电源,然后我再次看到服务。

在执行GAPM\u RESET\u CMD时,返回到外围角色时是否未执行初始化的某些部分?如果是这样,我需要改变什么或打电话,以便能够获得与最初相同的服务?

设备:
PM\U对话框
离线
最后一次见到:1周1天前
工作人员
已加入:2018-02-08 11:03
嗨,保罗。德伯,

嗨,保罗。德伯,

服务在系统初始化时初始化。请检查用户\u app \u init()回调函数,该函数在\u init()上调用默认的\u app。在这个函数中,当设备启动时,所有服务都被初始化。我假设GAPM\u RESET\u CMD可能不会对包含的服务造成任何问题,您应该能够在BLE通用移动应用程序中看到它们。您能在调试模式下运行固件并检查当您发送GAPM\u RESET\u CMD命令以重新启动广告时会发生什么吗?代码是否在某个地方卡住了或运行正常?

谢谢,下午好

保罗.德伯
离线
最后一次见到:1年5个月前
已加入:2014-06-03 10:57
我很确定应用程序启动了

我确信app\u init没有被调用,因此app\u init\u func没有被调用,我在那个方法上有断点,它们没有被命中。我已经注意到app\u env.next\u prf\u init=app\u prf\u LIST\u START+1;没有完成,所以app\u db\u init\u func什么都没做。我不认为代码被卡住,因为其他一切似乎工作,我可以连接和断开的外围设备,这证明了代码是工作的。

PM\U对话框
离线
最后一次见到:1周1天前
工作人员
已加入:2018-02-08 11:03
嗨,保罗。德伯,

嗨,保罗。德伯,

我无法在我身边复制它。我使用的是SDK5.0.4的一个修改过的ble\u app\u睡眠模式示例,我通过按下按钮(用于唤醒设备的SW3按钮)来切换角色。每次连接移动应用程序时,我都能看到所有的服务都在使用。为此,您能否分享一下您遵循的步骤,以及您正在使用哪个SDK示例来复制您的问题?

谢谢,下午好

保罗.德伯
离线
最后一次见到:1年5个月前
已加入:2014-06-03 10:57
我们使用的是sdk3.0.10.1,但是

我们使用的是sdk3.0.10.1,但是让我看看是否可以提供一个复制该行为的示例项目

PM\U对话框
离线
最后一次见到:1周1天前
工作人员
已加入:2018-02-08 11:03
嗨,保罗。德伯,

嗨,保罗。德伯,

SDK3目前不受支持,因此我建议您进入最新版本的SDK5.0.4,然后尝试实现“角色切换”功能。

谢谢,下午好