聊聊蓝牙广播包

一、蓝牙广播包的分类:

BEL蓝牙广播,有四种基本类型的广播包(也有扩展的),总结如下

(1)可连接、非定向的广播

       这种广播,可以接受对方的扫描请求(如果对方是主动扫描),可以接受对方的连接请求。

       简单说,只要收到广播包,谁都可以发送扫描请求和连接请求。

(2)可连接、定向广播

      这种广播,不接受对方的扫描请求,只接受对方的连接请求。通常这种广播包报文仅含广播者的地址和连接发起者的地址,对方收到地址后,可以快速建立连接。

      简单说,这种广播只针对特定地址的设备。

(3)不可连接、非定向的广播

      这种广播,不接受对方的扫描请求、不接受对方的连接请求。这个与原始的含义相近。

(4)可扫描、非定向广播

     这种广播,可以接受对方的扫描请求,以便对方能够通过扫描请求获取到更多的信息。但是也仅此而已,不接受对方的连接请求。

 

ps: 什么是主动扫描,什么是被动扫描,两者区别?

      主动扫描,指的是打开扫描窗口,接收到广播包之后, 会再发起一个扫描请求。而被动扫描,则不会发起扫描请求。

      设备受到扫描请求之后,会回复scan_response。当广播包不足以表示完整信息时,可以通过scan_response来进行补充。

      对方可以通过scan_request来进一步获取更多信息。

二、蓝牙广播包的结构

      蓝牙广播包的结构:<len>  <type>  <data>,

      len:占1个字节,是后面type和data的长度之和

      type:占1个字节,数据的类型。见下图,常用的有0x01(发现标记),0x03(16位服务UUID),0x16(服务数据,16位UUID), 0xFF(厂家指定数据,苹果的ibeacon用的就是0xFF)

      

      data:具体的数据

      总长31个字节,可以包含多个 (len + type + data)

      !!!注意:

   (1)如果广播包是可连接的,包结构里面一定要包含type为1的标记数据,不然APP会连接不上

   (2)扫描响应包里面不要加type为1的标记数据

      

     

 

    

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值