唤醒后发送制造商更新数据报文

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
10个帖子/ 0新
最后一篇
Rajapurerohit.
离线
最后一次露面:8个月2周前
加入:2017-04-20 09:17
唤醒后发送制造商更新数据报文

Hi All,

I am working on the DA14583 sleep configuration.

For my custom code development, I have used a ble_app_peripheral SDK example and made required changes as per my requirement. Without sleep configuration and continuous advertising, my functionalities are prooven.

I have configured the device in extended sleep mode and wakeup using sensor pin signal low interrupt. For this, I have followed the ble_app_sleepmode SDK example for sleep configuration.

During advertising, I sent devices in extended sleep mode. (i.e., in function user_app_adv_start()) and wake up using sensor pin low detection and start advertising again.

详情如下,

1)广告间隔是2SEC。

2)#define APP_PARAM_UPDATE_REQUEST_TO (50)

/ *广告数据更新计时器* /
#define APP_ADV_DATA_UPDATE_TO (50)

要求,

- I have to connect to device and assign some settings.

- I want to send controlling packets to another device (almost I have 50 packets that I need to send to another device). I am using an update manufacturer function to do so.

在睡眠模式之前在代码中结合,我使用了持续的设备广告,我可以通过制作慢的广告间隔发送所有数据包。

但现在我已经睡眠并使用中断逻辑变化唤醒回电话。使用上述详细信息配置,我试图发送数据,但只发送1个数据包,并将其发送到另一个设备,并将其粘在广告时段。我无法将其他数据包到设备,所以请帮助我如何在设备从睡眠中唤醒时,如何实现这50个数据包。

请尽早帮助我。

Thanks and Regards

Rohit R

Device:
PM_DIALOG.
离线
最后一次露面:1天21小时前
职员
加入:2018-02-08 11:03
嗨rohit,

嗨rohit,

What do you mean with 50 packets? Please clarify it and provide a BLE sniffer capture, so that we can understand what is happening over the air. Can you please check if the device is adverting and provide a screenshot from the Power Profiler of SmartSnippets toolbox?

You mentioned that this issue is occurred only if you are using extended sleep mode. Are you using any peripheral block ( I2C , SPI ec) ? If yes, all the peripheral domains are shut down in any of the sleep modes.

谢谢,PM_DIALOG.

Rajapurerohit.
离线
最后一次露面:8个月2周前
加入:2017-04-20 09:17
Hi PM_Dialog,

Hi PM_Dialog,

50 packets mean I am sending one by one packet to another device, the packets contain the BDA of other device and it's controlling value other than this nothing else.[for example in mnf_data_update() function I am sending - "80EACA0101017F" packets to another device].

并且,是的,我使用i2c,计时器的外围设备块,我知道,外围设备不适用于睡眠,我知道我已经管理的一部分。

And I told for sleep configuration I have referred ble_app_sleepmode example in my custom code that is working fine without issue.

My question is after wake up from sleep how to send packets to another device? And How can stay awake when I am connecting to a device? (means I want when device POR did it should stay awake for some time and go to sleep unless until there is interrupt)-我在等待这个回复。

Thanks for understanding

Rohit R

Rajapurerohit.
离线
最后一次露面:8个月2周前
加入:2017-04-20 09:17
Hi PM_Dialog,

Hi PM_Dialog,

关于上一个问题的任何更新?

Thanks and Regards

Rohit R

PM_DIALOG.
离线
最后一次露面:1天21小时前
职员
加入:2018-02-08 11:03
嗨rohit,

嗨rohit,

>>>My question is after wake up from sleep how to send packets to another device?

Could you please clarify what you are trying to accomplish? Is it connectable, or not connectable application? You can place data into the advertising or scan response data, or send them through notifications/indication to the peer device.

>>>在连接设备时如何保持清醒?

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

>>>意味着我想要当设备POR完成时应该保持清醒一段时间并睡觉,除非直到有中断

当芯片广告或连接时?

谢谢,PM_DIALOG.

Rajapurerohit.
离线
最后一次露面:8个月2周前
加入:2017-04-20 09:17
Hi PM_Dialog,

Hi PM_Dialog,

Thanks for the response,

> >你能明确你想什么accomplish? Is it connectable, or not connectable application? You can place data into the advertising or scan response data, or send them through notifications/indication to the peer device.

- My device is a sensor-based light controlling device, this device is battery operated and should work with minimum possible power consumption. My device should be a connection base and it should send data through advertising packets. I want to connect and assigns some settings through one of the Characteristics and advertise controlling data (send packets to another device) using mnf_data_update().

>> If you are using any of the sleep configuration setups, the device will wake up automatically via the BLE timer between connection intervals. If no sleep mode is used, the device will always wake up.

- i引用BLE_APP_SLEEPMODE()示例以获取睡眠配置。在广告user_app_adv_start()函数期间名为arch_set_extended_sleep()。并使用传感器引脚信号唤醒低中断检测并启动广告

>>>意味着我想要当设备POR完成时应该保持清醒一段时间并睡觉,除非直到有中断当芯片广告或连接时?

- 当Por完成时保持醒来几秒钟,然后去睡觉。如果用户尝试连接,则保持清醒并保持唤醒状态,除非设备断开从应用程序的连接。而且它也应该唤醒中断(传感器引脚信号低中断检测并启动广告)发送所有数据包,并再次重新返回睡眠状态。

Thanks and Regards

Rohit R

Rajapurerohit.
离线
最后一次露面:8个月2周前
加入:2017-04-20 09:17
Hi PM_Dialog,

Hi PM_Dialog,

对我以前的问题有任何更新。

Thanks and Regards

Rohit R

PM_DIALOG.
离线
最后一次露面:1天21小时前
职员
加入:2018-02-08 11:03
嗨rohit,

嗨rohit,

In all our SDK example, the device starts adverting be default. The it is up to the user if the chip operates either in sleep or active mode. If is configured in sleep mode, then it will sleep between advertising or connection intervals and it will wake up via the BLE timer.

You mentioned that : when POR is done stay awake for a few seconds and then go to sleep.

你的意思是该设备将在不睡觉的情况下开始广告一段时间吗?如果是,则应更改app_default_sleep_mode变量。当它进入睡眠时,你的意思是你想停止广告并进入延长的睡眠模式吗?

谢谢,PM_DIALOG.

Rajapurerohit.
离线
最后一次露面:8个月2周前
加入:2017-04-20 09:17
Hi PM_Dialog,

Hi PM_Dialog,

Please try to understand my application first and then you can help me better with regards to this,

我对我的设备的应用程序:我希望BLE基于外围的应用程序启用了睡眠模式。我的设备是一种基于事件的传感器主机,其中传感器以这样的方式编程,即它中断(此中断除了事件中而不是事件),只要有一些可用于MCU的数据即可。

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

只要MCU中断,它应该从睡眠中唤醒并从传感器中检查I2C上的任何数据。如果是,则通过广告发送控制数据包。

These advertising packets are collected by the nodes in the range(network) and react respectively I also have to provide the user with connection facility where a user has provision to change sensor parameter/read device status, this is done by the user by exchanging data over the characteristics in connection mode.

现在正如我之前告诉我的服务器主机就是电池,它必须使用最少的功耗,因此我正在使用睡眠模式。此外,我知道在睡眠中,所有的外围都会关闭。

Now, for this application design, I have referred the "ble_app_sleepmode" example to go to sleep and wakeup on interrupt. My application I set the device in sleep during advertising and wakeup on interrupt. After wakeup, I have again enabled my peripherals (I2C and Timer which I am using in the project).

简而言之,我的设备应该如下所述,

1)When powered upstart advertising for a few secs (example 15sec or 30sec) after few secs then stop advertising and send the device in sleep mode.

2)现在设备只唤醒传感器中断时,

3)如果MCU被中断,请唤醒,然后检查I2C数据并再次启动广告几秒钟(15到30秒)。如果I2C数据有效更新广告数据包中的用户字节,则在此处进行广告。

4) Now users can connect to the device whenever there such wakeup cycles. Also if the connection is established then the device should remain in the wake-up state until its disconnected.

5)If no connection request then goes to sleep (extended sleep means stop advertising)

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

但是,我面临以下问题,所以我要求您帮助我诊断这些问题并修复它们。

1) when I set the device in extended sleep mode during advertising(as I am using DA14583), I am not able to connect to the device.
- - - this, my question is how I can get maximum time to connect my App to the device?

2) After wakeup, I as said I want to send controlling node packets in advertising string. I am able to send only 1 packet but not all packets( as I explained about my packet in an earlier post)
- 为此,我的问题是,在唤醒后我如何在一次拍摄中发送我的所有节点报文,并在完成数据包设备后应该再次延长睡眠?

Thanks and Regards

Rohit R

PM_DIALOG.
离线
最后一次露面:1天21小时前
职员
加入:2018-02-08 11:03
嗨rohit,

嗨rohit,

  1. 你能在空中检测装置吗?我建议使用来自SmartSnippets Toolbox的电源分析器,以检查它是否是广告。
  2. Do you mean that you would like to place your data into the advertising string, or send the data over notifications to the peer device? Could you please share a sniffer log in order to understand what is happening over the air? What is the amount of data should be sent over BLE?

谢谢,PM_DIALOG.