大家好,
我工作的DA14583睡眠配置。
对于我的自定义代码开发,我使用了一个ble_app_peripheral SDK例子并提出要求的变化按我的要求。无眠的配置和持续的广告,我的功能被prooven。
我已经配置在延长的睡眠模式的装置和使用传感器销信号低的中断唤醒。对于这一点,我也跟着睡觉配置ble_app_sleepmode SDK例子。
在广告,我送设备的扩展睡眠模式。(即,在功能user_app_adv_start())和唤醒使用传感器销低的检测和再次开始的广告。
下面详细,
1)发布时间间隔是2秒。
2)的#define APP_PARAM_UPDATE_REQUEST_TO(50)
/ *广告数据更新计时器* /
的#define APP_ADV_DATA_UPDATE_TO(50)
需求,
- 我需要连接到设备,并指定一些设置。
- 我要发送的数据包控制到另一个设备(几乎我有50个包,我需要发送到另一台设备)。我使用的是更新生产函数来进行。
在代码睡眠模式引入之前,我所使用的设备的连续的广告,有我可以用做缓慢的广告间隔发送的所有数据包我。
但现在我已经把睡眠和使用中断逻辑变化叫醒了。通过以上的详细配置,我试图发送数据,但只有1个包被发送到另一台设备和棍棒的广告时段。我无法给其他数据包发送到设备,请帮助我,当设备从睡眠中醒来,我如何能做到这一点发送50个数据包。
请帮我尽快。
感谢致敬
罗希特 - [R
设备:
嗨罗希特,
你是什么意思与50个包?请澄清,并提供一个BLE嗅探器捕获,这样我们就可以明白发生了什么在空中。能否请您检查设备adverting并提供从SmartSnippets工具箱的电力探查截图?
你提到的只有在使用扩展睡眠模式发生了此问题。您是否使用任何外围块(I2C,SPI EC)?如果是的话,所有的外围域在任何睡眠模式下关闭。
谢谢,PM_Dialog
嗨PM_Dialog,
50个数据包的意思是我送一个一个包到另一个设备,包包含其他设备的BDA和它的控制等价值比这没什么[例如mnf_data_update()函数我送 - “80EACA0101017F”包到另一个设备]。
而且,是的,我一直在使用I2C,定时器外设块,我心里很清楚,周边也不会在休眠工作,我什么都知道我成功的一部分。
我告诉睡眠配置我已经在我的自定义代码简称ble_app_sleepmode的例子,是工作的罚款没有问题。
我的问题是从睡眠中醒来后,如何将数据包发送到另一台设备?而当我连接到设备如何能保持清醒?(意味着我要当设备POR也应该保持清醒一段时间,去睡觉,除非直到有中断) -我等待这个响应。
感谢您的理解
罗希特 - [R
嗨PM_Dialog,
关于前一个问题的任何更新?
感谢致敬
罗希特 - [R
嗨罗希特,
>>>我的问题是从睡眠中醒来后,如何将数据包发送到另一台设备?
能否请你澄清你试图完成什么?它是连接或不连接的应用程序?您可以将数据在广告或扫描响应数据,或通过通知/指示到对端设备发送。
>>>当我连接到设备如何能保持清醒?
如果使用的是任何睡眠配置设置的,该设备将通过连接间隔之间的BLE定时器自动唤醒。如果不使用睡眠模式下,设备将始终唤醒。
>>>意味着我要当设备POR也应该保持清醒一段时间,去睡觉,除非直到有中断
当芯片广告或在连接时?
谢谢,PM_Dialog
嗨PM_Dialog,
感谢您的答复,
>>能否请你澄清你试图完成什么?它是连接或不连接的应用程序?您可以将数据在广告或扫描响应数据,或通过通知/指示到对端设备发送。
- 我的设备是基于传感器的光控制装置,该装置是电池供电的,并应具有最小可能的功率消耗工作。我的设备应该是一个连接的基础,它应该通过广告数据包发送数据。我想连接,并通过特色之一指定一些设置和使用mnf_data_update()控制数据通告(数据包发送给其他设备)。
>>如果你使用任何睡眠配置设置,设备会自动唤醒通过连接间隔之间的BLE计时器。如果不使用睡眠模式下,设备将始终唤醒。
- I称为ble_app_sleepmode()的例子为睡眠配置。在广告user_app_adv_start()函数调用arch_set_extended_sleep()。而使用唤醒引脚传感器信号为低电平中断检测并开始投放广告
>>>意味着我要当设备POR也应该保持清醒一段时间,去睡觉,除非直到有中断当芯片广告或当它连接?
- 当POR是几秒钟完成入住醒,然后去睡觉。如果用户试图进行连接,然后保持清醒,并保持为唤醒状态,直到和除非应用设备断开连接。而且还应该在唤醒中断(传感器引脚信号为低中断检测并开始投放广告)发送的所有数据包,一旦数据包重新回去睡觉。
感谢致敬
罗希特 - [R
嗨PM_Dialog,
任何更新我刚才的问题。
感谢致敬
罗希特 - [R
嗨罗希特,
在我们所有的SDK例如,设备开始adverting为DEFAULT。在它是由用户如果芯片在睡眠或活动模式或者操作。如果在睡眠模式下被配置,那么它将广告或连接间隔之间休眠,它将经由BLE计时器唤醒。
你提到:当POR是几秒钟完成入住醒,然后去睡觉。
你的意思是,该装置将开始做广告了一阵不睡觉?如果是的话,你应该改变app_default_sleep_mode变量。当它进入睡眠,你的意思是要停止广告投放在延长休眠模式?
谢谢,PM_Dialog
嗨PM_Dialog,
请尽量先了解我的应用程序,然后你能帮助我更好地关于这一点,
我为我的设备应用程序:我想和睡眠模式BLE基于外围的应用程序启用。我的设备是一种基于事件的传感器主机的其中传感器以这样的方式编程,它的中断(这个中断不过是事件),只要有一些可供MCU数据对话框MCU。
请注意,传感器是基于I2C。
每当MCU中断它应该从睡眠中醒来,并检查从传感器I2C的任何数据。如果是,则发送控制通过广告数据包。
这些广告包由范围(网络)中的节点收集并分别反应我也有以提供与连接设备,在用户具有规定于变化传感器参数/读取装置的状态的用户,这是由用户通过交换数据进行过在连接模式中的特性。
现在,当我告诉早些时候,我的服务器主机的电池供电,所以我使用的睡眠模式,必须用尽可能少的功耗工作。另外,我知道,在睡眠所有外设关闭。
现在,这个应用程序设计中,我也提到了“ble_app_sleepmode”例如去睡觉和唤醒的中断。我的应用程序的广告和唤醒有关中断期间设置的睡眠设备。唤醒后,我再次启用我的外设(I2C和定时器我使用的项目,该项目)。
总之,正如下文提到我的设备应该工作,
1)当动力暴发户广告为几秒钟然后停止广告和在睡眠模式中发送的设备后数秒(15秒实例或30秒)。
2)现在设备仅被唤醒时,有从所述传感器是中断,
3)如果MCU被中断,醒来,然后检查I2C数据,并开始几秒钟(15〜30秒)再次刊登广告。而在这里,如果广告I2C数据是有效的更新用户在广告包字节。
4)现在,用户可以连接到该设备时出现这样的唤醒周期。此外,如果建立了连接,那么该设备应保持在唤醒状态,直到其断开。
5)如果没有连接请求,则进入睡眠(延长休眠装置停止广告)
6)如果没有中断,则设备应该始终处于睡眠(无广告)。
不过,我对着下面提及的问题,所以我请你,请你帮我诊断这些问题,解决这些问题。
1)当我设置广告期间延长休眠模式的装置(如我使用DA14583),我不能够连接到该设备。
- 对于这一点,我的问题是如何才能让我的应用程序连接到该设备的最大时间?
2)唤醒后,我因为说我要发送的广告串控制节点的数据包。我可以只发送1包而不是所有的数据包(因为我对我的包在解释先前的帖子)
- 对于这一点,我的问题是,唤醒后,我怎么能一个炮打响,并分组设备的完成应该再去延长休眠后,把我的所有节点的数据包?
感谢致敬
罗希特 - [R
嗨罗希特,
谢谢,PM_Dialog