查看: 686|回复: 0

[应用笔记] S95主从一体扫描从机广播包内容不全问题分析

[复制链接]

108

主题

163

帖子

618

积分

利尔达员工

Rank: 9Rank: 9Rank: 9

积分
618
发表于 2023-1-4 10:08:41 | 显示全部楼层 |阅读模式
  背景

  用户反馈,S95主从一体扫描从机,目前存在2个问题,一是现在扫到的数据包只有scan_resp数据,没有connectable数据;二是缺少0x 0B 09 53 70 4F 32 31 31 30 34 38 35 字段。

  手机nRF connect APP扫描到从机完整广播包内容,见下图:
  而S95主从一体扫描到的广播包如下所示:
  ●04 FC 82 27 00 03 00 2E 6F 91 48 D0 C6 CE 1C 02 01 06 03 02 12 FF 05 12 50 00 20 03 02 0A 00     //客户S95主从一体扫描到从机2E 6F 91 48 D0 C6的广播事件上报,广播数据= 02 01 06 03 02 12 FF 05 12 50 00 20 03 02 0A 00 。

  分析

  ●问题1,分析S95主从一体扫描到的从机广播包:
  04 FC 82 27 00 03 00 2E 6F 91 48 D0 C6 CE 1C 02 01 06 03 02 12 FF 05 12 50 00 20 03 02 0A 00       //adv_props广播特性字段=0x03=0011,代表scanable(可扫描)、connectable(可连接)。
  所以客户反馈扫到的数据包只有scan_resp数据,没有connectable数据,应该是客户看错了。

  ●问题2,从客户手机APP扫描到广播包内容可看出,广播数据最后一行type=0x09,代表设备简称,而BLE协议规定scan rsp扫描响应的内容就是设备简称。客户只需将S95主从一体的扫描模式改为主动扫描,即可扫描时获取scan rsp。
  01 FC 34 02 02 01   //设置S95主从一体模组为主动扫描。
  01 FC 01 01 01    //开始扫描   
  04 FC 82 1B 00 E3 00 2E 6F 91 48 D0 C6 CA 10 02 01 06 03 02 12 FF 05 12 50 00 20 03 02 0A 00     //adv_props广播特性字段=0xE3=1110 0011,代表scanable(可扫描)、connectable(可连接)。
  04 FC 82 19 00 EB 00 2E 6F 91 48 D0 C6 CE 0E 0D 09 0B 09 53 70 4F 32 31 31 30 34 38 35      //adv_props广播特性字段=0xEB=1110 1011,代表scan_resp(是扫描响应包)、scanable(可扫描)、connectable(可连接)。

  结论

  如果需要在主机扫描时,获取从机广播名称,那么需要将主机的扫描模式修改为主动扫描。

  注:有关主动扫描详情,请参考此文蓝牙4.0BLE抓包(三) – 扫描请求和扫描响应

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表