我们正在建造一个信标每211毫秒发送10字节的有效载荷。不需要连接。我们需要持续的广播。根据电池寿命评估器,我们的CR2016 (90mAh)的电池寿命应该超过200天。
但实际上,我们的电池寿命只有7天左右。
我们从ble_app_barebone示例应用程序开始,并使用它作为我们的起点。没有其他的i2c, spi, uart等(或至少不应该有)。我的问题是,我们应该着眼于什么来提高能源消耗?
我查看了ble_eddystone_beacon_with_hibernation_or_deep_sleep_mode,看看我们是否可以使用deep_sleep模式,但如果我正确理解了代码,这似乎完全停止了广播。我能每隔211毫秒就进入深度睡眠吗?
设备:
嗨dirjud,
由于您的需求是持续发布不可连接的广告事件,因此您应该使用延长睡眠模式,以便设备可以在不可连接的间隔时间之间休眠。
在你提到的SW例子中,一旦不可连接的广告停止,设备将进入深度睡眠或休眠状态。请检查user_app_on_adv_nonconn_complete()。
广告中的睡眠模式是延长睡眠模式。
静态const sleep_state_t app_default_sleep_mode = ARCH_EXT_SLEEP_ON;
在广告时段之间,不可能将设备设置为休眠或深度睡眠模式。
我建议检查一下DA14531睡眠模式教程(HTML)文档。
谢谢,PM_Dialog
所以我要做的就是设置
现在它会在广告之间睡觉?我有一个新的电池寿命测试来看看有多大帮助。
谢谢。
嗨dirjud,
是的-你可以使用来自SmartSnippets工具箱的Power Profiler来验证它-设备在广告间隔之间休眠。
http://lpccs-docs.dialog-semiconductor.com/UM-B-083/power_profiler/powerProfiler.html
谢谢,PM_Dialog