This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

如何设置标志与rssi



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

  • 林肯,

    1)

    (1) 很好。

    (2) 没有直接关机的功能。其实,对于BLE 产品来说,以2541的产品为例,从软件上来讲,你只要从APP端和他们断开连接,很短的一段时间后,就会进入自动关闭状态,包括32M 和32K 晶振都会关闭,只有IO中断能再唤醒,再次进入广播。当然,你要是想通过硬件方式,做其他的事情,你就得想想其他办法了。

    (3) 没有直接关机的功能,所以我觉得无从谈起。

    2)

    (3) 恩。。。。。。APP 能自己获取到你产品的 RSSI。 所以你完全可以根据得到的RSSI 值,写其中一个特征值,来改变警报强度,或开关。这个特征值设置成读写属性就行,可读可写,这样能保持和APP 上的状态同步。 

  • 谢了,yan,我问下,包括32M 和32K 晶振都会关闭,只有IO中断能再唤醒,再次进入广播。》》》》只指低功耗状态,还是其它的休眠状态?如果我再按开关是否能开机。谢谢

    祝好

    lincoln

  • 林肯,

    指的是PM3 的超低功耗模式,所有功能关闭。

    这种模式下,一按开关,就能开机。

  • 哦,yan,是不是就是哪个pm3的状态。 halPwrMgtMode = (timeout == 0) ? HAL_SLEEP_DEEP : HAL_SLEEP_TIMER;是写这条指令就可以吗?。谢了

    祝好

    lincoln

  • 林肯,

    是PM3 状态。这个状态系统会在断开连接之后自己进去的,系统自动调度,你没必要自己去做。

    强调一下,请不要自行去修改或者 拷贝 & 调用 power management 里面的代码。

    这是系统自动调度的,你自己这样去操作会引起不必要的问题,我以前见过很多了,且行且珍惜。

  • 好的。我理解了。就是当app按关机按钮是,固件这边强行断开连接就可以了。谢了。

    lincoln

  • yan,你好

          我看了一下,进入pm3,除了断开,还要没任何定时任务。那是否在断开前要清除掉所有定时任务。是否有清除定时任务函数。从机有主动断开主机的函数吗?谢了。祝好

    lincoln

  • 林肯,

    是的,必须要没有定时任务,你要确保定时任务都关闭了。