唤醒后发送厂商更新数据包

⚠️
大家好. .感谢来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台的过程中,它将提供更好的功能,并包含在主对话网站。所有的帖子和账号已经迁移。我们现在只接受新论坛的流量-请发布任何新的帖子在//www.xmece.com/support.我们会在接下来的几天修复bug /优化搜索和标记。
10个帖子/ 0个新帖子
最后发表
Rajapurerohit
离线
最后看到:8个月3个星期前
加入:2017-04-20 09:17
唤醒后发送厂商更新数据包

你好,

我正在DA14583睡眠配置上工作。

对于我的自定义代码开发,我使用了ble_app_peripheral SDK示例,并根据我的需求进行了必要的更改。没有睡眠配置和持续的广告,我的功能是被证明的。

我已经将设备配置为扩展睡眠模式,并使用传感器引脚信号低中断唤醒。为此,我遵循ble_app_sleepmode SDK示例进行睡眠配置。

在广告期间,我以延长睡眠模式发送设备。(即,在函数user_app_adv_start())和唤醒使用传感器引脚低检测和开始再次广告。

下面的细节,

1)广告间隔为2秒。

2) # define APP_PARAM_UPDATE_REQUEST_TO (50)

/*广告数据更新定时器*/
#定义APP_ADV_DATA_UPDATE_TO (50)

要求,

-我必须连接设备并分配一些设置。

-我想发送控制数据包到另一个设备(几乎我有50个数据包,我需要发送到另一个设备)。我正在使用更新制造商功能来做到这一点。

在代码中加入睡眠模式之前,我使用了设备的连续广告,在那里我可以发送所有的数据包,使缓慢的广告间隔。

但现在,我已经合并了睡眠和唤醒回叫使用中断的逻辑变化。有了以上的细节配置,我试图发送数据,但只有一个包被发送到另一个设备,并坚持广告期间。我无法向设备发送其他数据包,请帮助我如何在设备从睡眠中醒来时发送50个数据包。

请尽早帮助我。

感谢和问候

罗希特R

设备:
PM_Dialog
离线
最后看到:3天17小时前
工作人员
加入:2018-02-08 11:03
嗨罗希特,

嗨罗希特,

你说50包是什么意思?请澄清并提供BLE嗅探捕获,以便我们能了解空中发生了什么。请检查设备是否正在发布广告,并提供来自SmartSnippets工具箱的Power Profiler的截图。

您提到,只有在使用扩展睡眠模式时才会发生此问题。您是否使用任何外围块(I2C, SPI ec) ?如果是,所有外围域在任何睡眠模式下都将关闭。

谢谢,PM_Dialog

Rajapurerohit
离线
最后看到:8个月3个星期前
加入:2017-04-20 09:17
嗨PM_Dialog,

嗨PM_Dialog,

50个数据包意味着我一个接一个地发送数据包到另一个设备,这些数据包包含了其他设备的BDA,它除了这个之外没有其他的控制值。[例如在mnf_data_update()函数中我正在发送- "80EACA0101017F"包到另一个设备]。

是的,我有使用I2C的外围模块,定时器,我很清楚外围在睡眠时不工作,我知道我管理的所有事情。

我告诉关于睡眠配置,我已经在我的自定义代码中引用了ble_app_sleepmode示例,它工作得很好,没有问题。

我的问题是,从睡眠中醒来后如何发送数据包到另一个设备?当我连接到设备时如何保持清醒?(意味着我想当设备POR做它应该保持清醒一段时间,去睡觉,除非有中断)-我在等待这个答复。

谢谢你的理解

罗希特R

Rajapurerohit
离线
最后看到:8个月3个星期前
加入:2017-04-20 09:17
嗨PM_Dialog,

嗨PM_Dialog,

上一个问题有什么进展吗?

感谢和问候

罗希特R

PM_Dialog
离线
最后看到:3天17小时前
工作人员
加入:2018-02-08 11:03
嗨罗希特,

嗨罗希特,

>>>我的问题是,从睡眠中醒来后,如何发送数据包到另一个设备?

你能说明一下你的目标是什么吗?它是可连接的,还是不可连接的应用程序?您可以将数据放入广告或扫描响应数据,或通过通知/指示将它们发送给对等设备。

>>>当我连接到一个设备时如何保持清醒?

如果您正在使用任何睡眠配置设置,设备将通过BLE定时器在连接间隔之间自动唤醒。如果不使用休眠模式,设备将始终唤醒。

>>>意味着当设备POR完成时,它应该保持清醒一段时间并进入睡眠,除非有中断

当芯片在做广告或连接时?

谢谢,PM_Dialog

Rajapurerohit
离线
最后看到:8个月3个星期前
加入:2017-04-20 09:17
嗨PM_Dialog,

嗨PM_Dialog,

谢谢你的回复,

你能说明一下你的目标是什么吗?它是可连接的,还是不可连接的应用程序?您可以将数据放入广告或扫描响应数据,或通过通知/指示将它们发送给对等设备。

-我的设备是一个基于传感器的光控制设备,这个设备是电池运行的,应该以最小的功耗工作。我的设备应该是一个连接库,它应该通过广告包发送数据。我想通过一个特征连接和分配一些设置,并使用mnf_data_update()发布控制数据(将数据包发送到另一个设备)。

>>如果您正在使用任何睡眠配置设置,设备将通过BLE定时器在连接间隔之间自动唤醒。如果不使用休眠模式,设备将始终唤醒。

-我引用了ble_app_sleepmode()示例来进行睡眠配置。在发布user_app_adv_start()函数时,调用arch_set_extended_sleep()。并利用传感器引脚信号进行唤醒,检测低中断并开始广告

>>>意味着我想当设备POR时,它应该保持清醒一段时间并进入睡眠,除非有中断,当芯片正在广告或当它连接?

-当POR完成时保持清醒几秒钟,然后进入睡眠。如果用户试图连接,那么保持清醒,并保持清醒状态,直到和除非设备从App断开。而且它应该在中断(传感器引脚信号低中断检测和开始广告)发送所有数据包,一旦数据包再次返回睡眠。

感谢和问候

罗希特R

Rajapurerohit
离线
最后看到:8个月3个星期前
加入:2017-04-20 09:17
嗨PM_Dialog,

嗨PM_Dialog,

我之前的问题有什么进展吗?

感谢和问候

罗希特R

PM_Dialog
离线
最后看到:3天17小时前
工作人员
加入:2018-02-08 11:03
嗨罗希特,

嗨罗希特,

在我们所有的SDK示例中,设备开始发布默认值。如果芯片在休眠或活动模式下运行,则由用户决定。如果配置为睡眠模式,那么它将在发布或连接间隔之间休眠,并通过BLE定时器唤醒。

您提到:当POR完成时,保持清醒几秒钟,然后进入睡眠。

你的意思是,这款设备会在一段时间内不睡觉就开始做广告吗?如果是,应该修改app_default_sleep_mode变量。当它进入睡眠状态时,你的意思是你想停止广告并进入延长睡眠模式吗?

谢谢,PM_Dialog

Rajapurerohit
离线
最后看到:8个月3个星期前
加入:2017-04-20 09:17
嗨PM_Dialog,

嗨PM_Dialog,

请先试着了解我的申请,然后你可以在这方面更好地帮助我。

我的应用程序为我的设备:我想要一个BLE外设为基础的应用程序与睡眠模式启用。我的设备是一种基于事件的传感器主机,传感器被编程成这样一种方式,它中断(这个中断就是事件)对话MCU,无论何时有一些数据对MCU可用。

请注意,传感器是基于I2C的。

当MCU被中断时,它应该从休眠状态中醒来,并从传感器检查I2C上的任何数据。如果是,则通过广告发送控制报文。

这些广告包中的节点收集的范围(网络)和反应分别我也为用户提供连接设备用户提供改变传感器参数/读取设备状态,这是由用户通过交换数据连接模式的特点。

就像我之前说的,我的服务器主机是用电池运行的,它必须以尽可能低的功耗工作,所以我使用睡眠模式。而且,我知道睡觉时所有的外围设备都关闭了。

现在,对于这个应用程序设计,我引用了“ble_app_sleepmode”示例来在中断时进入睡眠和醒来。我的应用程序在广告期间设置设备处于睡眠状态,在中断时唤醒。醒来后,我再次启用了外围设备(I2C和我在项目中使用的Timer)。

简而言之,我的设备应该像下面提到的那样工作,

1)当供电upstart广告几秒后(例如15秒或30秒),然后停止广告和发送设备在睡眠模式。

2)现在设备只有在传感器中断时才会醒来,

3)如果MCU中断,唤醒,然后检查I2C数据,并重新开始广告几秒(15 - 30秒)。如果I2C数据是有效的,则在发布时更新发布包中的用户字节。

4)现在只要有这样的唤醒周期,用户就可以连接到设备。此外,如果连接建立,那么设备应该保持唤醒状态,直到断开连接。

5)如果没有连接请求,则进入休眠(延长休眠意味着停止广告)

6)如果没有中断,那么设备应该始终处于睡眠状态(没有广告)。

但是,我正面临以下问题,所以我请求您帮助我诊断这些问题并解决它们。

1)当我在广告期间将设备设置为延长睡眠模式(因为我正在使用DA14583),我无法连接到设备。
-关于这个,我的问题是我如何能得到最大的时间连接我的应用程序到设备?

2)我醒来后,如前面所说,我想以广告字符串的形式发送控制节点包。我只能发送一个数据包,但不是所有的数据包(正如我在之前的帖子中解释的)
-对此,我的问题是,在唤醒后,我如何能一次发送我的所有节点包,完成后,包设备应该再次进入扩展睡眠?

感谢和问候

罗希特R

PM_Dialog
离线
最后看到:3天17小时前
工作人员
加入:2018-02-08 11:03
嗨罗希特,

嗨罗希特,

  1. 你能通过无线电探测到那个装置吗?我建议使用SmartSnippets工具箱中的Power Profiler来检查它是否在发布广告。
  2. 您的意思是希望将数据放入广告字符串中,还是通过通知将数据发送到对等设备?你能不能分享一份嗅探日志以便了解空中情况?应该通过BLE发送的数据量是多少?

谢谢,PM_Dialog