当前文档版本为 v0.4.1,您可以访问当前页面的 开发中 版本以获取最近可能的更新。

Solution: BLE Panchip-CTE Beacon

1 功能概述

此项目演示磐启蓝牙定位标签的功能,通过发送特定的广播数据,实现蓝牙定位功能。

这是磐启蓝牙定位方案中的一部分,有关定位方案的更多信息请参考**[待补充]**。

2 环境要求

  • board: pan1080a_afld_evb

  • uart (option): 显示串口log

3 编译和烧录

项目位置:zephyr\samples_panchip\solutions\ble_pcte_beacon

目前可使用ZAL工具或quick build脚本进行编译和下载。

脚本位置:quick_build_samples\solutions\ble_pcte_beacon.bat

打开脚本后默认会编译项目,编译完成时,可输入字符进行后续下载等操作:

Input the keyword to continue:
  'b' build                         编译项目
  'r' make clean and rebuild        重新编译项目
  'f' flash download                下载
  'e' erase chip                    擦除芯片
  'o' open project by VS Code       打开 `VS Code`,可查看源码,执行编译下载等
  others exit                       退出
wait input:

4 演示说明

烧录完成后,设备自动启动蓝牙广播,可以在手机nRF Connect或抓包工具上获取如下信息:

  • Advertising Type: ADV_SCAN_IND

  • Advertising Interval Time: 250ms

  • Company ID: (Shanghai Panchip Microelectronics Co., Ltd (0x07D1)

  • Device Name: PANCHIP-CTE Beacon

下图是 nRF Connect(Android) 扫描到设备后显示的信息。

image

PANCHIP-CTE Beacon 手机端信息显示界面

5 广播数据

广播数据包含两个 AD Element,如下表。

Index (Byte)

Data

Name

Description

0

0x02

Length

Length of this AD Element 1

1

0x01

AD Type

Flags

2

0x06

Data

BT_LE_AD_GENERAL, BT_LE_AD_GENERAL

3

0x1B

Length

Length of this AD Element 2

4

0xFF

AD Type

Manufacturer Specific Data

5:6

0x07D1

Company ID

Shanghai Panchip Microelectronics Co., Ltd
厂商ID可由用户自定义用于区分设备厂家,标签和基站需要保持一致。

7

0x01

Packet ID

定位包ID,用于区分同一厂家的不同设备,如标签、手环、IOS微信小程序和安卓微信小程序等,标签使用0x01。
该部分可由用户自定义,标签和基站需保持一致。

8

0x20

Device Type

设备类型

9

0x15

Header

Carries information of Tag’s TX rate, TX power and ID type

10:16

0xD2, 0x12, 0x03, 0x00, 0x02, 0x23,

Tag ID

用于区分不同的标签

17

0xC9

Checksum

CRC-8 [Device Type, Header, Tag ID]

18:31

0x67, 0xF7, 0xDB, 0x34, 0xC4, 0x03, 0x8E, 0x5C, 0x0B, 0xAA, 0x97, 0x30, 0x56, 0xE6

DF Field

该字段为辅助定位使用的固定字节。该段内容需保证空中抓取到的是固定频率的电磁波。根据2402MHz广播通道的白化算法规则和蓝牙先发送低字节的低比特的特性。
修改信道时,需要对此进行调整。