yan,你好
根据客户功能要求, 我设置了两个服务uuid,特征值。如下
1)1个uuid,1个特征值,只有写属性。
(1)通过它在配对的时候加密把定制功能锁死,只有验证对就激活。这个ok了。
(2)客户不希望硬件开关关机,怕放在包里压着关机,没连接出事。通过按app的按钮关机。就是按下app按钮就是写。我想知道固件这边是调哪个函数关机。
(3)用这一个uuid,我怕把配对与关机混淆,因此想置一个标志区分它。他们都已经连接。用什么状态标志区分它们最好。
2)1个uuid,2个特征值,
(1)1个特征值,当改变它的距离不同,读rssi的强度不同来报警。
(2)1个特征值,调距离报警功能开/关。
(3)如何设置这2个特征值的属性?rssi是我们固件这边得到自己的rssi发给app。还是app那边自己得到从机设备这边的rssi就可以?
谢谢!
祝好
lincoln
Yan:
林肯,
1)
(1) 很好。
(2) 没有直接关机的功能。其实,对于BLE 产品来说,以2541的产品为例,从软件上来讲,你只要从APP端和他们断开连接,很短的一段时间后,就会进入自动关闭状态,包括32M 和32K 晶振都会关闭,只有IO中断能再唤醒,再次进入广播。当然,你要是想通过硬件方式,做其他的事情,你就得想想其他办法了。
(3) 没有直接关机的功能,所以我觉得无从谈起。
2)
(3) 恩。。。。。。APP 能自己获取到你产品的 RSSI。 所以你完全可以根据得到的RSSI 值,写其中一个特征值,来改变警报强度,或开关。这个特征值设置成读写属性就行,可读可写,这样能保持和APP 上的状态同步。
lincoln guan:
回复 Yan:
谢了,yan,我问下,包括32M 和32K 晶振都会关闭,只有IO中断能再唤醒,再次进入广播。》》》》只指低功耗状态,还是其它的休眠状态?如果我再按开关是否能开机。谢谢
祝好
lincoln
Yan:
回复 lincoln guan:
林肯,
指的是PM3 的超低功耗模式,所有功能关闭。
这种模式下,一按开关,就能开机。
lincoln guan:
回复 lincoln guan:
哦,yan,是不是就是哪个pm3的状态。 halPwrMgtMode = (timeout == 0) ? HAL_SLEEP_DEEP : HAL_SLEEP_TIMER;是写这条指令就可以吗?。谢了
祝好
lincoln
Yan:
回复 lincoln guan:
林肯,
是PM3 状态。这个状态系统会在断开连接之后自己进去的,系统自动调度,你没必要自己去做。
强调一下,请不要自行去修改或者 拷贝 & 调用 power management 里面的代码。
这是系统自动调度的,你自己这样去操作会引起不必要的问题,我以前见过很多了,且行且珍惜。
lincoln guan:
回复 Yan:
好的。我理解了。就是当app按关机按钮是,固件这边强行断开连接就可以了。谢了。
lincoln
lincoln guan:
回复 lincoln guan:
yan,你好
我看了一下,进入pm3,除了断开,还要没任何定时任务。那是否在断开前要清除掉所有定时任务。是否有清除定时任务函数。从机有主动断开主机的函数吗?谢了。祝好
lincoln
Yan:
回复 lincoln guan:
林肯,
是的,必须要没有定时任务,你要确保定时任务都关闭了。