嗨对话框支持,
我们正在开发一个基于物联网传感器SDK的项目(DA14585物联网多传感器开发,v6.160.4)
如果我们连上一个设备
1.开始流媒体数据(发送0x01到char uuid 2ea78970-7d44-44bb-b097-26183f402409)
只有在这之后
2.启用监听通知(char uuid 2ea78970-7d44-44bb-b097-26183f402410)
传感器没有发送任何数据。
在这之后,即使我们断开连接,重新连接并切换到
1.启用侦听通知和
2.开始流数据。
这是预期行为吗?如何让设备重新开始发送数据?
谢谢你!
凯瑟琳
设备:
嗨gme_johannes,
谢谢你的帖子。因为这是一个自定义代码,你能描述一下是什么问题吗?如果我没有弄错,根据标题,设备只有在被对端设备禁用通知时才不会发送数据。在这种情况下,应该从对端设备启用通知,以便开始通过空气发送数据。
谢谢,PM_Dialog
嗨PM_Dialog,
谢谢你回到我们这里。是的,我知道为了发送通知必须启用通知(有点明显:))。但只有启用通知功能,才不会开始通过无线传输数据。为了实现这一点,流媒体数据也必须启动。在这里,它取决于启用和启动的顺序:
—首先启动流数据,其次启用notification _does not_开始发送数据。
—首先启用通知,然后启动流数据_does_开始发送数据。
我们确实启用了通知:当通知被启用时,设备不会发送数据(通过空气)。
我们的代码基于IoT MSK v6.160.4。我们没有实现任何用于接收通知或发送命令以开始流数据的自定义代码。
我们尤其没有修改负责编写和发送传感器数据的代码。
这在以下文件和函数中实现:
- file user_dws_reports.c, function bool user_prepare_multi_sensor_report(…)
-文件user_dws_reports.c,函数void user_add_multi_sensor_report(…)
-文件user_dws_reports.c,函数void user_send_multi_sensor_report(…)
-文件user_dws_task.c,函数user_dws_val_ntf_cfm_handler(…)
当我连接到串行调试控制台(以查看任何archprintfs的结果)时,我可以看到以下错误消息
“错误:NTF下降——<柜台>优秀NTFs”在柜台(ntf_sent_cntr)是一个数字大于15(有一个阈值# define (d)开始印刷这个错误消息,而不是编写和发送数据报告,这也是预配置在上述物联网MSK v6.160.4并不是感动我们)。
每次流媒体数据停止(发送命令停止流媒体数据)和重新启动(发送命令开始流媒体数据)这个计数器增加两个(无论是否启用通知)
当设备与对端设备断开连接并重新连接时,此行为将持续。
通知发送计数器ntf_sent_cntr在函数中增加
user_send_multi_sensor_report(…)
以及
User_send_command_reply(…)(都在文件user_dws_reports.c中)
在函数中减小
User_dws_val_ntf_cfm_handler(在文件user_dws_task.c中)
流数据通过向dws_control_char发送0x01来启动(uuid 2ea78970-7d44-44bb-b097-26183f402410)
通过向dws_control_char发送0x00来停止流数据
我们没有改变上述中间行为。所以我的问题是:
设备无法从删除的通知中恢复的行为,是需要的吗
(a)即使设备断开并重新连接?
(b)当流媒体启动_before_通知启用(它不发生时,流媒体启动_after_通知启用)?
我希望这能更清楚地描述它。
谢谢你!
凯瑟琳
感谢您的更新和及时的回复.我会密切关注这条线索的。我在找同样的问题。我看到了你的帖子。谢谢你能来。
我在期待一个解决方案。
networthzone.com