传感器数据如何嵌入TI SensorTag cc2650的广告包中?

时间:2016-08-17 11:57:43

标签: bluetooth bluetooth-lowenergy sensor

我试图让TI SensorTag(cc2650)无连接(只是不断宣传传感器,如加速度计,读数)。

在基础SensorTag项目的SensorTag.c文件中,我可以看到static uint8_t advertData[],但我不确定是否可以在其中放置动态传感器数据(或者如果有的话)正确的方法或在哪里找到GAP_ADTYPE_*列表(如果需要)。

2 个答案:

答案 0 :(得分:2)

我对此设备一无所知,所以我的回答非常一般。

是的,您可以通过广告广播您的传感器数据,这样就无需连接其他设备即可查看传感器的价值。

以下是广告数据格式,如BLE 4.2核心规范第3卷第C部分11.1所示。

BLE advertising data format

有趣的是,最后一个嵌套部分,AD类型和AD数据,当然还有它们的长度。

基本上你要做的是,如果你有4个字节的值,设置长度为5(字节),1为类型,4为数据。

类型本身必须是此处定义的GAP类型之一:Generic Access Profile。要宣传您自己的数据,您必须选择最后一个,制造商特定数据,即0xFF。

关于您使用的源代码和TI堆栈,我无法真正帮助您,但是如果它的工作方式与我使用的其他堆栈相同,则很可能是:

  1. 您可以将数据放入advertData []
  2. GAP类型看起来像GAP_ADTYPE_MANUFACTURER_SPECIFIC
  3. 当然,必须在某处指定AD结构的长度。无论您是指定整个数据包的长度,还是只是告诉堆栈数据的长度(在advertData中),它将计算(加1)AD结构的长度。

答案 1 :(得分:0)

由于您正在使用TI Stack,请找到Simple BLE Observer&简单的BLE Broadcaster示例。如果您不想创建与设备的连接,那么它应该是最佳选择。

如TI文档中所述

  

Observer基本上是一个扫描广告消息的设备   但无法启动连接。另一方面,广播公司是一个   发送广告信息但不可连接的设备。

您将在示例文档和源代码注释中找到所需的一切。