嗨,对话,
我正在开发一个基于DSPS-Host项目的遥控器。遥控器可以通过按钮按下从核心角色切换到外围角色以支持OTA。
我在DSPS-Device项目上做了一些修改,它可以成功成为OTA,因此我对主机项目进行了相同的更改。
现在,当按下按钮和Suota和riod应用程序可以检测到设备时,设备可以处于外设角色,但是当我连接到它时,会发生错误。如下:
发生错误。远程设备不支持Suota。
那是什么错的?如何调试此问题,我想我需要Android应用程序Souce代码,以便我可以调试,如果应用程序无法获得一些信息?
一些其他信息:当潜力切换到外围角色时,我刚刚开始广告并没有创建应用程序数据库,我可以使用其他BLE调试工具,如NRF主控制器,只有两个服务发现:通用访问和泛型属性。我需要做别的吗,让Android应用程序可以将设备识别为OTA支持的设备。
设备:
嗨Chris0409,
嗯,它取决于当设备从核心到外设的设备交换到外设时已正确应用于设备的拟议服务,当切换到外围角色时,外设是否具有拟议服务?您可以通过连接到通用BLE中央应用程序并检查外围设备曝光的服务来检查。Suota Android应用程序通过广告字符串跟踪Suota支持的设备,但这并不意味着服务可用,因此如果中央的发现开始但无法找到拟议特征,我怀疑这是错误应该发生的消息(也可能发生这种情况,因为您已更改了该特征的UUID)。因此,如果设备交换角色,请检查Suota服务是否可用。另外请查看软件实施部分的常见问题解答部分,并检查“如何将Suota配置文件添加到我的应用程序”中。
谢谢mt_dialog.
嗨,mt_dialog
你的指导真的帮助我了。当切换到外设角色时,我错过了DB创建过程,因此在连接后服务发现时,应用程序无法找到OTA服务。非常感谢你!