Hi JRs:
请问个问题,CC2640R2F 作为 Beacon 设备发出来的信息一共包含哪些?
目前我知道的有 advertData[]、scanRspData[],此外还有其它的哪些信息呢?
谢谢
Viki Shi:
就这些,但是里面具体的东西是可以自己定义的。比如说设备名称,可以放在advertData里,也可以不放
user6198971:
回复 Viki Shi:
Hi Viki:
谢谢~~
再请教个问题,软件下载到 板子后,有什么工具能修改 advertData[]、scanRspData[] 里的值吗?
其实我的目的是为了更方便的区分单个 Beacon 设备,我的理解是 advertData[]、scanRspData[] 里的信息都会在广播信息里,所以如果每个 Beacon 设备的 advertData[] 或者 scanRspData[] 里的信息是唯一且有差异,那应该就能很方便的区分出是哪个 Beacon 设备、谢谢
Viki Shi:
回复 user6198971:
据我所知没有,正是因为修改 advertData[]、scanRspData[]比较麻烦,所以才建议通过mac 地址区分设备
user6198971:
回复 Viki Shi:
Hi ViKi:
可是广播信息里是没有 Mac 地址的,请看下图,我该怎样获得到 Mac Addr 呢?
下面这个图是通过 eBeacon APK 搜索到的附件 Beacon 设备。
谢谢
Viki Shi:
回复 user6198971:
在例程simple peripheral里,是获取并打印出自身的设备地址的:
获取:
uint8_t ownAddress[B_ADDR_LEN];uint8_t systemId[DEVINFO_SYSTEM_ID_LEN];GAPRole_GetParameter(GAPROLE_BD_ADDR, ownAddress);显示:
// Display device addressDisplay_print0(dispHandle, 1, 0, Util_convertBdAddr2Str(ownAddress));Display_print0(dispHandle, 2, 0, "Initialized");
user6198971:
回复 Viki Shi:
Hi ViKai:
谢谢~~~
GAPRole_GetParameter(GAPROLE_BD_ADDR, ownAddress),然后 Display_print0(dispHandle, 1, 0, Util_convertBdAddr2Str(ownAddress)); ,也就是说把 BD Addr 打印到了串口去了。
我们现在的需求是:要开发一个手机端 APK,这个 APK 可以获取每个 Beacon 设备发来的信号,那这样 APK 就要区分是哪个 Beacon 设备,据我所知,APK 收到的是 Beacon 设备发送来的广播消息,而这个消息里是没有 Mac 地址的,那你建议我们 APK 怎么区分是哪个 Beacon 设备呢?谢谢
user6198971:
回复 Viki Shi:
Hi ViKai:
GAP_ADTYPE_LE_BD_ADDR是 BD ADDR 的广播消息的类型吗?谢谢
Viki Shi:
回复 user6198971:
这个是BLE设备地址
user6198971:
回复 Viki Shi:
Hi ViKai:
那如果我想把 BD ADDR 增加到广播消息里,那在 scanRspData 和 advertData 结构体里是不是需要一个 GAP_ADTYPE_XX ?
如果是这样,那我该用哪个 GAP_ADTYPE_XX呢?谢谢