怎么实现 随机生成蓝牙名字类型 LS-xxxx LS- 固定前缀 xxxx 随机生成字符串 , 我有尝试着 改app.c 里
app_easy_gap_non_connectable_advertise_start_create_msg
app_easy_gap_undirected_advertise_start_create_msg
两个函数里的 USER_DEVICE_NAME 改成 我自己的变量device_name
uint8_t device_name[8] = {'S','L','-'};
for(int i =0;i<12;i++)
sprintf(&c[i*2],"%02x",device_addr[i]);
c[12]=0;
device_name[3] = c[2];
device_name[4] = c[5];
device_name[5] = c[1];
device_name[6] = c[10];
蓝牙的xxxx随机字符串是我在蓝牙地址里取的,这样就能保证每个设备的蓝牙名字 不一样且固定不变
而获取蓝牙地址的api 我也没找到 又声明了一个全局变量 在app_default_handles.c函数
default_app_generate_unique_static_random_addr
memcpy(device_addr,addr,6);
里把生成的 蓝牙地址 拷贝到 device_addr里面
这样就出现个 问题 我在使用其他的 例程 的时候 编译就会报错,因为我声明了两个全局 变量 device_name 和 device_addr并且在 app_default_handles.c app.c里有调用。
请问有没有,其他的办法实现随机生成 蓝牙名字呀? 或者怎么在不修改 sdk文件的前提下实现上面的功能呀?
你好,
请确认下列几点是否是你的需求:
1. 实现运行过程中,更换蓝牙名字
2. 获取(还是改变?)设备的蓝牙地址
3. 将蓝牙地址(或其他字符)作为蓝牙名字的后缀
你好,
1.请问如何实时获取蓝牙地址,
2.如何实现运行过程中,更换蓝牙名字?
你好,
假设你运行的是蓝牙从机,则:
1. 系统的蓝牙地址保存在 bd_addr 变量中,将其 extern 到你的文件中,读取其地址即可
2. 需要先停掉广播 -> 更改名字 -> 重新广播