我是新来的BLE和我需要帮助电池服务通知。我使用的是nrf52840dk,NRFSDK17.1.0,我使用的是已经使用电池服务的近距离示例。我需要发送一个弹出通知从设备到nRF连接移动应用程序时,电池水平达到40%。当电池电量达到40%时,应该在nRF连接应用程序中弹出通知,告诉我们电池水平已经达到40%,请充电。
有人能帮我吗?
我已经测试了ble_app_proximity代码,它只显示当我阅读它的电池水平,但我需要它显示弹出通知在nRF连接应用程序时,电池水平达到40%。
谢谢,Kanthi Deep。
发布于 2022-11-25 07:35:00
要达到你想要的目标,需要两个步骤:-
让我们详细研究每一个细节:-
启用来自nRF连接应用程序的通知
考虑到您的手机是GATT客户端,它需要订阅电池特性通知。这样,当nRF52840dk发出新的电池通知时,nRF连接应用程序就会收到它。为了做到这一点,使用nRF连接应用程序连接到devkit,浏览服务,然后点击电池服务来揭示特征。当你这样做时,你会看到电池的水平特征向下(读),向上(我不确定是否存在,但也许它不存在)和多向下(启用通知)箭头。向下箭头用于读取电池值,向上箭头(如果存在)用于写入电池值,多个向下箭头用于订阅通知。在这种情况下,您需要单击多个向下箭头。我在下面附了一张箭头应该是什么样子的图片:

请注意,在您的情况下,这应该是电池的价值特征,而不是未知的特点。
从nRF52840dk (关贸总协定服务器)发送通知
在代码中,您应该持续监视电池的值,以检查电池是否达到了40%。如果您正在使用SDK的库,您可以查看这一功能,它在调用时将电池值作为通知发送给您所需的功能。北欧DevZone上有几篇关于如何读取电池电压的文章,下面是一些例子(link1和link2)。
https://stackoverflow.com/questions/74516891
复制相似问题