BLE iBeacon广播示例

源码路径:example/ble/iBeacon

支持的平台

  • eh-lb52x

  • eh-lb56x

  • eh-lb58x

概述

本例程演示iBeacon广播的使用方式.

例程的使用

  1. 开机后会开启iBeacon广播, 可以参考ble_app_ibeacon_advertising_start()的实现. 默认iBeacon广播的内容为UUID: 95d0b422-a4bd-45d4-9920-576bc6632372, Major: 256, Minor: 258, RSSI at 1m: -50dBm.

  2. 通过finsh命令”cmd_diss adv_update [UUID] [Major] [Minor] [RSSI_at_1m]“改变广播内容. 其中UUID的格式示例为”12345678-1234-1234-1234-123456789abc”; Major取值范围是0~65535; Minor取值范围是0~65535; RSSI_at_1m取值范围是-128~127.

  3. 通过finsh命令”cmd_diss adv_start”和”cmd_diss adv_stop”使能和停止iBeacon广播.

硬件需求

运行该例程前,需要准备:

编译和烧录

切换到例程project目录,运行scons命令执行编译:

> scons --board=eh-lb525 -j32

切换到例程project/build_xx目录,运行uart_download.bat,按提示选择端口即可进行下载:

$ ./uart_download.bat

     Uart Download

please input the serial port num:5

关于编译、下载的详细步骤,请参考快速入门的相关介绍。

例程的预期结果

例程启动后:

  1. 能够产生iBeacon广播,无法被手机连接

  2. 修改广播内容:在串口终端输入cmd_diss adv_update <UUID> <Major> <Minor> <RSSI_at_1m>,四个参数必须全部填写。例如:

    msh />cmd_diss adv_update 12345678-1234-1234-1234-123456789abc 1 2 -60
    

    终端打印UUID的16字节内容以及解析出的数值,update adv 0表示广播数据更新成功: alt text

  3. 停止广播:在串口终端输入cmd_diss adv_stop,终端打印停止广播的原因和广播模式(mode 2即广播模式),手机端APP将扫描不到该设备:

    msh />cmd_diss adv_stop
    ADV stopped reason 0, mode 2
    
  4. 开启广播:在串口终端输入cmd_diss adv_start,终端打印开启广播的结果,result 0表示成功,手机端APP可再次扫描到该设备。 alt text

异常诊断

参考文档

更新记录

版本

日期

发布说明

0.0.1

09/2025

初始版本