你好,
我是da14580的新的,它的环境。我购买了基本的开发套件开始。有人可以让我知道我需要从哪里开始,以便我在短时间内掌握经验?喜欢 -
1.代码流 - 执行序列I.E如何在main_func()中执行system_init()函数后执行的代码?
2.如果各种BLE参数初始化,如广告间隔,广告类型,广告数据,扫描响应数据等?
3.如何将设备持续宣传并在断开连接后开始通告?
4.如何将外围设备转换为中央的角色,反之亦然?
此外,如果有人可以让我知道我需要按顺序引用的文档列表以了解开发环境。
感谢您的快速回复。
谢谢,
DV
设备:
嗨dv,
您可以从SDK中的示例开始。您可以先看一下接近性示例,然后再看基本示例(只实现了diss配置文件,只发布了字符串操作),然后再看自定义配置文件示例(ble_app_peripheral和ble app_profile)。您还可以查看新的SDK UM-B-050和UM-B-051的文档。最后,你可以搜索论坛,你的大多数问题都已经在网站上得到了回答。
谢谢mt_dialog.
谢谢mt_dialog为您的回复!
实际上我目前关注UM-B-015软件架构7.0文档。这里,在第6节中,系统启动和系统初始化序列是用邻近记者的示例来解释的。但我认为它没有更新,因为应用程序代码中未存在他们在文档中提到的许多功能!因此,我仍然在努力从设备广告开始以及定义广告参数的位置。你能帮我吗?
如果您可以快速使用来自main_func()的代码执行序列可以快速帮助我会很棒。
此外,我有BASIC开发工具包,我编写了接近报告项目。所以我可以在我的Nexus 5手机的BT设置屏幕中发现对话框- prxr设备,但我不能使用BLE Scanner应用程序发现它。为什么会这样?
谢谢,
达伐
嗨dv,
因为你使用的是SDK 5,唯一可用的文档是我在我之前的帖子中提到的,你正在阅读的文档是基于SDK 3的。另外,为了理解执行流和睡眠机制,我建议您检查UM-B-006睡眠模式配置。在邻近报告中,您可以在user_config.h文件的第~98行中配置您的广告。创建数据库后立即开始发布,这意味着default_app_on_db_ini_complete()将调用默认的发布操作。默认的发布操作可以在user_callback_config,h中配置。对于main_func,请检查UM-B-006有一些洞察力。关于发现的发现可能是一个应用程序或设备问题,Fyi我能够用BLE扫描仪跟踪Proximity Reporter,您是否尝试过任何其他应用程序?
谢谢mt_dialog.
嗨mt_dialog,
感谢您的回复!
所以,除了UM-B-050和051之外,没有SDK 5的其他文档,我应该只遵循那些文档来理解环境,对吗?
是的,我试图使用NRF主控制面板(BLE)应用程序发现该设备,但它也无法发现该设备。让我解释你的设置:
1.我与ME有DA14580DEVKT-B套件,它由连接到我的笔记本电脑的USB电缆供电。
2.我在我的android设备上安装了BLE Scanner应用程序,它支持BLE,我可以发现并连接到其他BLE启用的设备,如健身跟踪器。奇怪的是设备'DIALOG-PRXR'是在BT设置中发现的,但它不是在应用程序中发现的。雷竞技安卓下载
3.我也尝试了'ble_app_peripheral'应用程序,但相同的结果。
谢谢,
DV
嗨dv,
就文档而言,是的,这两个文档是SDK5的唯一文档,但由于它是基于SDK3的,所以基本功能或多或少是相同的。例如,为了理解睡眠的概念,应该阅读描述睡眠功能的UM-B-006文档。关于应用程序,你试过雷竞技安卓下载其他手机或设备吗?
谢谢mt_dialog.
嗨mt_dialog,
谢谢你的回复。
我在手机上安装了BLE Checker应用程序,它表示我的手机支持BLE。另一件事是我能够使用BLE扫描仪应用程序在手机上连接其他BLE支持的设备,但我甚至无法发现具有邻近报告的固件的设备。我尝试过其他应用程序,智能轻推,但结果雷竞技安卓下载是相同的。
除此之外,我用BLE嗅探器嗅出了设备发送的数据。广告数据显示该软件与user_config.h文件中定义的'USER_ADVERTISE_DATA'不匹配。为什么会这样?
谢谢,
达伐
嗨dv,
您可以看到具有嗅探器的广告字符串,但您不能使用手机?使用BLE扫描仪检查它,它发现并连接到邻近记者。您在嗅探器中看到的是什么,不符合广告数据?您是否尝试过任何其他示例BLE_APP_PERITWAL可能?您应该能够在广告字符串中看到强制标志02 01 06,然后在user_advertise_data中定义的十六进制值。
谢谢mt_dialog.
嗨mt_dialog,
谢谢你的回复。现在,我可以发现我的手机上的BLE扫描器应用程序,但当我试图连接的设备,它立即断开连接后。这里出了什么问题?
以下是我使用BLE Sniffer看到的字符串:
02 01 06 - 未定义
09 03 03 18 02 18 04 18 F5在user_config.h文件中定义为“USER_ADVERTISE_DATA”
0C 09 44 49 41 4C 4F 47 2D 50 52 58 52 - 未定义
那么你能告诉我'未定义'广告数据来自哪里?
谢谢,
达伐
嗨dv,
前三个字节是必须的标志,表示发布消息的类型02 -紧跟在01后面的数据的长度-紧跟在后面的数据的AD标签和06 -标志的值(LE Discoverable模式和BR/EDR不支持)。其他未定义的字节是您在代码中指定的设备名称0C是长度,09是完整本地名称DIALOG-PRXR的标记。至于断开,请尝试用你的嗅探器检查断开的原因,即主机可能正在终止连接。
谢谢mt_dialog.
嗨mt_dialog,
感谢您的回复,抱歉我对这篇文章的延迟回复。
现在我能够了解广告数据。但是,如果我想改变前三个字节值,呢?我的意思是不是保持它'le_general_discoverablaplapl(02)',我想使它成为'le_limited_discoverable(01)'。我怎样才能做到这一点?我试图在整个代码中找到各个宏的用法,但没有找到它。
此外,可以对可以作为广告数据发送的字节的长度有什么限制?如果是的话,它多少钱?我可以在此广告数据中添加一些自定义详细信息吗?
等待您的回复。
谢谢,
DV
嗨dv,
为了更改广告标志,您必须在广告命令中设置正确的配置。您必须在GAPM_ADV_HOST结构中设置GAP_LIM_DISCOVERABLE中的模式成员。这将在广告数据中设置标志。广告长度的限制为31个字节,但如果支持BR / EDR(由于不支持的是是的)和广告模式标志,则必须减去指示长度的3个强制性广告标志。
谢谢mt_dialog.
嗨MT_dialog,
谢谢你的回复。
我发现'gapm_adv_host'结构是'gapm_start_advertise_cmd'结构的一部分。在Proximity Reporter项目的app.c文件中定义了多个结构变量。我需要遵循和修改哪些来更新AD标志?
我有很少的疑问,如下所示:
1.在此项目中使用'user_advertise_data'的位置?
2.我想发送两个字节的制造商特定数据以及广告数据。所以我相应地更改了user_advertise_data,但在此之后我无法发现该设备。为什么会这样?如何添加那些额外的数据?
3.在Proximity Reporter项目中,广告间隔定义在哪里?我也想改变。
谢谢,
DV
嗨dv,
发布字符串中的大部分数据是由SDK在user_config.h文件中配置的。你想更新什么?如果检查app_easy_gap_undirected_advertise_start_create_msg()函数,您将看到结构体gapm_start_advertise_cmd由user_undirected_advertise_conf结构体填充。
1. user_advertise_data填充了NVDS结构,在该功能中我提到的代码将获取数据并填充广告字符串。
2.广告字符串的广告数据空间有限,您必须检查广告数据中是否有足够的可用空间。现在,我想你有足够的空间来放置你的数据,你还必须在广告字符串中设置广告数据的大小,如果你想放置几个Etxra,那么近距离记者的当前长度是“0x09”字节(“0x55,0x55”)您必须将长度从“0x09”设置为“0x0b”
3.广告间隔位于.Intv成员中的User_undired_advertise_conf结构中的User_config.h文件中。
谢谢mt_dialog.
嗨MT_dialog,
感谢您的回复,抱歉我的延迟回复。
作为初学者,我如何知道哪个函数用于启动广告并创建广告数据字符串?它记录在某个地方吗?我如何知道广告是可连接的或不可连接的,是指向还是未定向的?在代码中定义的所有这些?
随着在广告数据中增加几个字节,在user_config.h中定义,我相应地更新了第一个字节,这表明了数据的大小,但它仍然不起作用,改变了广告数据后没有发现设备。
谢谢,
DV
嗨dv,
关于SDK 5的唯一文件是我在秒表上建议的那些,您可以更具体地查看8.2.3.2段并检查每个操作SDK正在使用的每个操作的回调,您可以检查这些功能的定义和看看如何执行广告。
如果例如,请检查它执行的示例的广告的类型,请查看user_callback_config.h文件中的.default_operation_adv.h文件,该文件将导致您指示设备通告的功能。对于要执行的大多数函数,都有一个不同的函数,所以所有类型的函数都位于app.c文件中。例如:
- app_easy_gap_undirected_advertise_start() -通过调用这个函数,你会得到一个无定向的广告。
- app_easy_gap_directed_advertise_start()定向广告
- app_easy_gap_non_connectable_advertise_start() - 不可连接的广告
您可以在user_config.h文件中修改发布过程的参数。
据更新广告串,鞍骨牌榜样正在做同样的事情请用它作为参考。
谢谢mt_dialog.
你好
如果可以修改user_device_name,您可以建议吗?
问候
尼基
嗨Nicky.Whtsang,
是的,您可以在User_device_name定义中更改user_config.h文件中的设备名称。
谢谢mt_dialog.