BLE Address type是Random和Public的区别
时间: 2023-06-10 12:08:13 浏览: 150
BLE地址类型分为Random和Public两种。
Public地址是由设备厂商分配的唯一的地址,它可以用于广告和连接等操作,并且被用于所有的BLE设备。这种地址是固定的,可以被其他设备发现和连接。
而Random地址则是随机生成的地址,可以由设备自行生成,也可以由中央设备生成并发送给外围设备。这种地址在广告和连接时可以提供更高的安全性和隐私保护,因为它不会泄露设备的真实身份信息。但是,由于地址是随机生成的,所以其他设备可能无法预先知道这个地址,从而无法连接到设备。
因此,使用哪种地址类型取决于具体的应用场景和安全需求。如果需要更高的安全性和隐私保护,则可以使用Random地址。如果需要设备可被广告和连接,则需要使用Public地址。
相关问题
return bls_ll_setAdvParam( val, val, ADV_TYPE_CONNECTABLE_UNDIRECTED, app_own_address_type, 0, NULL, MY_APP_ADV_CHANNEL,ADV_FP_NONE);
这段代码是用于设置 BLE 广播参数的。具体来说,它调用了 `bls_ll_setAdvParam()` 函数,并传递了以下参数:
- `val`:广播间隔时间,以 0.625 毫秒为单位。这里传递了 `val`,表示广播间隔时间为 `val * 0.625ms`。
- `ADV_TYPE_CONNECTABLE_UNDIRECTED`:广播类型,表示是可连接的无定向广播。
- `app_own_address_type`:本地设备的地址类型,通常是 `PUBLIC_ADDR` 或 `RANDOM_ADDR`。
- `0`:广播信号的功率级别,通常是 0。
- `NULL`:用于传递广播数据的指针,这里传递了 `NULL` 表示不传递广播数据。
- `MY_APP_ADV_CHANNEL`:广播信道,通常是 37、38 或 39。
- `ADV_FP_NONE`:广播过滤策略,表示不进行广播过滤。
这段代码的作用是设置 BLE 广播参数,以便可以开始广播。
什么情况下ble广播会使用公共地址
在BLE(蓝牙低功耗)中,设备可以使用两种类型的地址进行广播:公共地址(Public Address)和随机地址(Random Address)。
公共地址是由设备的制造商分配的唯一标识符,通常用于长期标识设备。它是全球唯一的,并且在设备的生命周期内保持不变。因此,当设备在广播其存在时使用公共地址时,其他设备可以使用该地址来唯一标识和识别该设备。
以下是一些情况下,BLE广播可能使用公共地址:
1. 设备启动时:当BLE设备刚刚启动时,它可能使用其预先分配的公共地址进行广播,以通知其他设备其存在。
2. 系统标准广播:根据BLE规范,有一些预定义的广播包类型(例如,广告指示包)要求使用公共地址。
3. 长期广播:某些设备可能会选择在其生命周期内持续广播其存在,并使用公共地址作为标识符。
需要注意的是,BLE设备还可以使用随机地址进行广播。随机地址是动态生成的,并在每个广播间隔或特定时间段内更改。这种地址更难以被其他设备长期追踪和识别,提供了更高的隐私性。
最终,广播使用公共地址还是随机地址取决于设备的设计和应用需求。