[经验分享] [家庭智慧照明控制与室内环境监测系统]--7. 修改蓝牙设备名字和地址

传媒学子   2021-6-27 21:20 楼主

问题描述:假设你有三个RSL10设备,如果三个名字一样,地址一样,会出现什么问题?

当然,你可能只能连接到1个设备,而且,每次扫描结果可能不一样.  因为BLE设备在同一个通信中,必须只能有一个独立的地址;

在开发中,你可能是一套程序,下载到了多个设备中,但如果不修改设备地址和设备名字,你可能无法扫描到多个设备,只能扫描到一个设备。

 

这里以peripheral_server的例子来讲:

修改蓝牙设备地址:

image.png 找到include/ble_std.h 65~71行

/* Length of Bluetooth address (in octets) */
#define BDADDR_LENGTH                   6

/* Static private Bluetooth device address */
#ifndef PRIVATE_BDADDR
#define PRIVATE_BDADDR                  { 0x95, 0x11, 0x22, 0xff, 0xbb, 0xD5 }
#endif

修改PRIVATE_BDADDR ,{ 0x95, 0x11, 0x22, 0xff, 0xbb, 0xD5 } ->{ 0x95, 0x12, 0x22, 0xff, 0xbb, 0xD5 } 

修改名字:

找到include/ble_std.h 85~90行

/* Set the device name */
#define APP_DEVICE_NAME_LENGTH_MAX      20
//#define APP_DFLT_DEVICE_NAME            "Living_Room_Lamp"
#define APP_DFLT_DEVICE_NAME            "Bed_Room2_Lamp"
#define APP_DEVICE_NAME_FLAG            '\x09'

 

修改完后,就能在手机上扫描到多个BLE蓝牙设备了。

 

回复评论 (1)

小技巧,不错

加油!在电子行业默默贡献自己的力量!:)
点赞  2021-6-28 09:10
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复