你好,
我想用DA14695 USB板实现不同的广告类型。在我的应用程序中,DA14695是外设,智能手机应用程序是扫描仪。我试图在SDK中提供“ble_adv_demo”。它可以很好。我对这个例子有一些疑问。
- 对于广告数据,该示例使用了本地名称“Dailog Adv Demo”。运行应用程序时,我可以将数据类型视为BLE扫描仪中的“完整本地名称”。adv_data []变量的内容仅指定“GAP_DATA_TYPE_LOCAL_NAME”但不是缩短或完整的?代码中提到的数据类型在哪里,如缩短(0x08)或完整的本地名称(0x09)?
- 定义自己的数据类型,如服务UUID,标志,制造商特定数据,TX功率等的程序如何定义自己的数据类型?
- 根据我的理解,DA14695是客户端,扫描应用程序是服务器。但是,一旦连接两个设备,设备名称就在客户端上显示为“对话框TTT演示”?此外,此设备名称与我们已经给出了本地名称进行识别时的内容是什么?
- 有一些UUID用于设备名称(0x2a00),外观(0x2a01)等,这是客户端的特性。默认情况下显示这些特征吗?如果我们想要提供新的服务/特征,我们必须在源代码中定义?
- 对于外设/从属设备的连接参数更新请求,有一个定时器(在“handle_evt_gap_connected(ble_evt_gap_connected_t *evt)函数”中)在连接建立后设置为5秒。为什么我们需要这个计时器?
提前致谢
设备:
嗨普拉斯坦尼亚,
阵列的第一个元素是要发送的数据的大小加上额外的字符。在给定的示例中,此值应为十六进制格式的19 + 1 = 20个元素或0x14。如果给出了错误的值,则蓝牙低能量设备可能不会宣传。因此,计算此值时必须注意。
由蓝牙核心4.2规范定义的差距广告数据类型可以在ble_gap.h中的gap_data_type_t结构中找到。
谢谢,PM_DIALOG.
嗨pm_dialog,
请找到第3和第4次查询的屏幕截图。
第三个问题
在屏幕截图中,我们可以看到一旦连接外设和扫描仪,我们可以看到他们的各种服务(智能手机)和服务器(DA14695)。所以,在这里我不明白的是:有一个属性设备名称有值“Dialog TTT Perm”,因为我们可以在客户端的屏幕截图中看到。因此,应在服务器端显示设备名称。在此示例中,我的假设是DA14695作为服务器/外设和智能手机应用程序作为客户端/中央设备。
第四个问题
在连接的相同屏幕截图中,我们可以看到间隙的特性,例如0x 2a00,0x2a01和0x2a04。那么,SDK中定义的这些特征在哪里?
提前致谢
你好呀,
这是由目标应用程序创建的通用访问服务。特定的UUID由蓝牙LE规范定义。请查看ATT_CHAR_DEVICE_NAME。这是一个特征(ATT_CHAR_DEVICE_NAME = 0x2A00),并且是通用访问服务中的必需项(ATT_SVC_GENERIC_ACCESS = 0x1800)。我会先检查蓝牙LE规格。
谢谢,PM_DIALOG.