FAQ有些蓝牙client为什么无法正常查找到nRF52系列芯片的服务?

当nRF52系列芯片使用“nRF5 SDK”开发,server端使用softdevice提供的API创建自定义服务并将UUID设置为SIG标准UUID格式(注册时完整128位UUID都输入了),有些蓝牙client为什么无法正常查找到nRF52系列芯片的服务?
更新时间:2022.06.09 浏览量:0

Nordic的“nRF5 SDK”软件开发包的蓝牙协议栈对SIG标准UUID和厂商指定UUID有明确的区分和识别,当用户基于“nRF5 SDK”开发nRF52系列芯片时,使用SIG标准UUID格式给server服务设置了UUID,芯片协议栈会识别出服务UUID的格式为SIG标准UUID,并只允许在使用与此UUID有关的动作时必须使用2个字节16bit的UUID的格式,所以当client发现服务的时候,使用的是“Attribute Protocol Find By Type Value Request”的方式根据UUID查找服务,此时该查找请求里的UUID值需要使用2个字节保存16bitUUID,不可以使用16个字节填充完整SIG标准UUID格式的服务UUID进行查找,因为“nRF5 SDK”对SIG标准UUID格式的UUID只做2个字节16bit的格式进行识别,不做16字节128bit格式的识别。

举例说明:如果client想要根据UUID查找server的16bit格式UUID为0xFFF0的服务,在“Attribute Protocol Find By Type Value Request”请求中需要把UUID内容设置为0xFFF0的而不能是0000FFF0-0000-1000-8000-00805F9B34FB。

  • 上一篇:没有了
  • 下一篇:nRF5 SDK的区别