你好,
我在我的项目中使用DA14580。
我希望从硬件上读取数据,但我不知道设备UUID,以区分设备与附近的其他硬件。
我认为每个BLE模块都有一个UUID来区分它们,但我唯一发现的是sps_server.c文件中包含的以下行:
#定义SPS_SERVER_TX_UUID {0xb8, 0x5c, 0x49, 0xd2, 0x04, 0xa3, 0x40, 0x71, 0xa0, 0xb5, 0x35, 0x85, 0x3e, 0xb0, 0x83, 0x07}
#定义SPS_SERVER_RX_UUID {0xba, 0x5c, 0x49, 0xd2, 0x04, 0xa3, 0x40, 0x71, 0xa0, 0xb5, 0x35, 0x85, 0x3e, 0xb0, 0x83, 0x07}
#定义SPS_FLOW_CTRL_UUID {0xb9, 0x5c, 0x49, 0xd2, 0x04, 0xa3, 0x40, 0x71, 0xa0, 0xb5, 0x35, 0x85, 0x3e, 0xb0, 0x83, 0x07}
提前感谢
关键词:
设备:
嗨Avouaill,
例如,你的手机发现的设备是通过它们拥有的蓝牙地址或它们的名称(如果它们有一个到它们的广告字符串)来区分的。我可以从您提到的UUID中看出您正在使用DSPS(顺便说一下,这些UUID是特征UUID,除非您与设备建立连接,否则它们是不可见的)。因此,在一个通用的电话扫描程序的DSPS中,如果你运行fw,你应该看到“DIALOG-SPS”,这是设备的名称和80:EA:CA:00:00:00,这是设备的默认bd地址。
由于MT_dialog
你好,
谢谢你的回答。
硬件正在传输数据,但我没有办法捕获数据,因为我不知道特征的UUID是什么。
我现在需要为我的设备创建一个Eddystone-UID包(10字节命名空间,6字节实例),然后使用BLE信标广告包传输数据吗?我必须在keil项目中做什么来实现这样的事情?
提前谢谢你,
嗨Avouaili,
我真的不明白的问题,DSPS和UUID的特征有什么与Eddystone的UID ?如果你想要有一个信标并改变广告字符串,有很多关于如何实现这一点的示例和文档,你可以看看ble_app_barebone示例来启动或检查信标参考设计。一个设备的广告字符串可以被一个通用的android/ios应用程序捕获,但为了看到服务的特征,你必须连接到设备。
由于MT_dialog
你好,
我正在寻找一种方法来了解发出的数据包的结构(广告,数据结构,..)。我使用的是参考设计部分提供的代码,它与DSPS应用程序一起工作。我使用的是sps_device中的keil5项目。
谢谢
嗨Avouaill,
你是说BLE的广告频道包的结构吗?你可以在BLE规范中找到。
由于MT_dialog
你好,
这就是我的意思,我在DA14580文档中搜索。文件很多,你能告诉我哪个是好的吗?
提前谢谢你
嗨Avouaill,
你无法在dialog的文档中找到这些信息,你必须检查BLE协议的规范。
由于MT_dialog
你好,
我在哪里可以找到BLE协议的规范?
我在你网站提供的Keil项目中搜索了一下,找到了一个名为“app_adv_data.h”的文件。
我假设将一些值连接起来以创建最终发送的字符串。我怎么知道最终的结构?
提前感谢你的帮助
嗨Avouaill,
在上一篇文章中提到,你可以在BLE规范中找到BLE广告字符串的结构,你提到的头文件只包括SDK中每个配置文件中所有可用AD标志和uuid的选项/定义。为了检查广告结构如何,您可以下载BLE规范(从SIG下载),您将能够在第3卷/ C部分/第11段广告和扫描响应数据格式中找到广告格式(至少在核心4.0上)。
由于MT_dialog