ble_adv_demo(da14695)

学到更多常见问题解答教程

4个帖子/ 0新
最后一篇
普拉斯坦娜
离线
最后一次露面:2天11小时前
加入:2020-09-29 11:56
ble_adv_demo(da14695)

你好,

我想用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秒。为什么我们需要这个计时器?

提前致谢

设备:
PM_DIALOG.
离线
最后一次露面:5小时53分钟前
职员
加入:2018-02-08 11:03
嗨普拉斯坦尼亚,

嗨普拉斯坦尼亚,

  1. 请看看DA1469X教程广告概念恐惧部分2.您也会找到一个例子。
static const uint8_t adv_data [] = {0x14,gap_data_type_local_name,'h','o','w','','a','r','e','','y','o','y','o','y','o','你',','t','d','d','a','y',''',''''''''''''''};

阵列的第一个元素是要发送的数据的大小加上额外的字符。在给定的示例中,此值应为十六进制格式的19 + 1 = 20个元素或0x14。如果给出了错误的值,则蓝牙低能量设备可能不会宣传。因此,计算此值时必须注意。

由蓝牙核心4.2规范定义的差距广告数据类型可以在ble_gap.h中的gap_data_type_t结构中找到。

  1. GAP_DATA_TYPE_MANUFAFFER_SPEC应用于制造商特定数据。再次您应该遵循Gap_Data_type_local_name的概念。要创建自定义服务并定义自己的UUID,请参阅DA1469X教程广告概念
  2. 说实话,我无法理解你的问题,所以请澄清它。如果DA14695正在运行BLE_ADV示例,则它被配置为外围设备,因此它广告和作用中央设备的对等设备可以连接到它。
  3. 请澄清这个问题。你能在源代码中指出我吗?
  4. 答案可以在DA1469X教程广告概念。请从第2节读取步骤5。

谢谢,PM_DIALOG.

普拉斯坦娜
离线
最后一次露面:2天11小时前
加入:2020-09-29 11:56
嗨pm_dialog,

嗨pm_dialog,

请找到第3和第4次查询的屏幕截图。

第三个问题

在屏幕截图中,我们可以看到一旦连接外设和扫描仪,我们可以看到他们的各种服务(智能手机)和服务器(DA14695)。所以,在这里我不明白的是:有一个属性设备名称有值“Dialog TTT Perm”,因为我们可以在客户端的屏幕截图中看到。因此,应在服务器端显示设备名称。在此示例中,我的假设是DA14695作为服务器/外设和智能手机应用程序作为客户端/中央设备。

第四个问题

在连接的相同屏幕截图中,我们可以看到间隙的特性,例如0x 2a00,0x2a01和0x2a04。那么,SDK中定义的这些特征在哪里?

提前致谢

附件:
PM_DIALOG.
离线
最后一次露面:5小时53分钟前
职员
加入:2018-02-08 11:03
你好呀,

你好呀,

这是由目标应用程序创建的通用访问服务。特定的UUID由蓝牙LE规范定义。请查看ATT_CHAR_DEVICE_NAME。这是一个特征(ATT_CHAR_DEVICE_NAME = 0x2A00),并且是通用访问服务中的必需项(ATT_SVC_GENERIC_ACCESS = 0x1800)。我会先检查蓝牙LE规格。

谢谢,PM_DIALOG.