你好,
我想实现不同的广告类型与DA14695 USB板。在我的应用程序中,DA14695是外围设备,而智能手机应用程序是扫描仪。我试着运行SDK中提供的“ble\u adv\u demo”。很好用。我对这个例子有一些疑问。
- 对于广告数据,示例使用了本地名称“Dailog Adv Demo”。当我运行应用程序时,我可以在BLE扫描程序中看到数据类型为“Complete local name”。adv\u data[]变量的内容只指定“GAP\u data\u TYPE\u LOCAL\u NAME”,而不指定缩写或complete?代码中提到的数据类型(如缩写的(0x08)或完整的本地名称(0x09))在哪里?
- 在sorce代码中定义我们自己的数据类型(如服务UUID、标志、制造商特定数据、TX电源等)的过程是什么?
- 据我所知,DA14695是客户端,扫描应用程序是服务器。但是,一旦两个设备都连接好了,设备名就会在客户端显示为“Dialog TTT Demo”?另外,这个设备名到底是什么意思,因为我们已经给出了用于识别的本地名称?
- 设备名(0x2A00)、外观(0x2A01)等都有一些UUID,它们是客户端的特征。默认情况下是否显示这些特征?如果我们想在源代码中定义新的服务/特性?
- 对于外设/从机的连接参数更新请求,有一个定时器(在“handle\u evt\u gap\u connected(ble\u evt\u gap\u connected\u t*evt)函数中)设置为连接后5秒建立了。为什么我们到底需要这个计时器?
提前谢谢
设备:


你好,普拉桑纳,
数组的第一个元素是要发送的数据的大小加上一个额外的字符。在给定的示例中,该值应为19+1=20个元素或十六进制格式的0x14。如果给出了错误的值,则蓝牙低能耗设备很可能根本不会发布广告。因此,在计算这个值时必须小心。
蓝牙核心4.2规范定义的GAP广告数据类型可以在ble\u GAP.h的GAP\u Data\u type\t结构中找到。
谢谢,下午好
嗨,PM\U对话,
请找到我的第三和第四个问题的截图。
第三个问题
在屏幕截图中,我们可以看到,一旦连接了外围设备和扫描仪,我们就可以看到他们的各种服务,包括客户端(智能手机)和服务器(DA14695)。所以,这里我不明白的是:有一个属性设备名的值为“Dialog TTT Perm”,正如我们在客户端的屏幕截图中看到的那样。因此,设备名称应该显示在服务器端。在本例中,DA14695作为服务器/外围设备,智能手机应用程序作为客户端/中心设备,我的假设是否正确。
第四个问题
在所附的同一屏幕截图中,我们可以看到GAP的特性,例如0x 2A00、0x2A01和0x2A04。那么,这些特性在SDK中定义在哪里呢?
提前谢谢
你好,
这是由目标应用程序创建的通用访问服务。具体的UUID由蓝牙LE规范定义。请看一下ATT\ U CHAR\ U DEVICE\ U NAME。这是一个特征(ATT\u CHAR\u DEVICE\u NAME=0x2A00),是通用访问服务中的必需项(ATT\u SVC\u generic\u access=0x1800)。我希望你先检查一下蓝牙设备的规格。
谢谢,下午好