你好,
我是da14580的新的,它的环境。我购买了基本的开发套件开始。有人可以让我知道我需要从哪里开始,以便我在短时间内掌握经验?喜欢 -
1.代码流 - 执行序列I.E如何在main_func()中执行system_init()函数后执行的代码?
2.如果各种BLE参数初始化,如广告间隔,广告类型,广告数据,扫描响应数据等?
3.如何将设备持续宣传并在断开连接后开始通告?
4.如何将外围设备转换为中央的角色,反之亦然?
此外,如果有人可以让我知道我需要按顺序引用的文档列表以了解开发环境。
感谢您的快速回复。
谢谢,
DV.
设备:
嗨dv,
您可以从SDK中的示例开始。您可以查看邻近示例,然后查看鞍骨筒示例(仅限散布配置文件,只是广告字符串操作),那么您可以查看自定义配置文件示例(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()的代码执行序列可以快速帮助我会很棒。
此外,我还有基本的开发套件,我将它与Proximity Reporter项目进行编程。因此,我能够在我的Nexus 5手机的BT设置屏幕中发现对话框 - PRXR设备,但我无法使用BLE扫描仪应用程序发现它。为什么会这样?
谢谢,
达伐
嗨dv,
由于您使用的是SDK 5唯一可用的文档是我上一篇文章中提到的那个,您正在阅读的文档基于SDK 3.也是未能的执行流程和睡眠机制,我会推荐您检查UM-B-006睡眠模式配置。在Proximity Reporter中,您可以在Line〜98中的User_config.h文件中配置广告。创建数据库后,广告从vifult_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扫描仪应用程序,该设备具有支持,我能够发现并连接到适用于健身跟踪器等其他BLE的设备。奇怪的是在BT设置上发现了设备'Dialog-PRXR',但没有发现应用程序。雷竞技安卓下载
3.我也尝试过'BLE_APP_PERITELAL'应用程序,但结果相同。
谢谢,
DV.
嗨dv,
就文件而言,这两个是SDK5的唯一一个,但由于它基于SDK3,基本功能或多或少相同。例如,应该读取描述睡眠功能的UM-B-006 Doc以了解睡眠的概念。关于应用程序,您是否雷竞技安卓下载尝试过另一个电话,设备?
谢谢mt_dialog.
嗨mt_dialog,
感谢您的回复。
我在手机上安装了BLE Checker应用程序,它表示我的手机支持BLE。另一件事是我能够使用BLE扫描仪应用程序在手机上连接其他BLE支持的设备,但我甚至无法发现具有邻近报告的固件的设备。我尝试过其他应用程序,智能轻推,但结果雷竞技安卓下载是相同的。
除此之外,我将使用BLE Sniffer嗅探设备发送的数据。该软件的广告数据显示与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 FE - 定义为user_config.h文件中的“user_advertise_data”
0C 09 44 49 41 4C 4F 47 2D 50 52 58 52 - 未定义
那么你能告诉我'未定义'广告数据来自哪里?
谢谢,
达伐
嗨dv,
前三个字节是指示广告消息02的类型的强制标志 - 下面的数据的长度 - 遵循的数据的广告标记和标志的06值(LE可发现模式和BR / EDR不支持)。其他未定义的字节是您在代码0C中指定的设备的名称是长度,09是完整的本地名称对话框-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_ADVERTERS_CMD结构的一部分。并且在“App.c'文件”文件中定义了多个结构变量。我需要遵循和修改以更新广告标志?
我有很少的疑问,如下所示:
1.在此项目中使用'user_advertise_data'的位置?
2.我想发送两个字节的制造商特定数据以及广告数据。所以我相应地更改了user_advertise_data,但在此之后我无法发现该设备。为什么会这样?如何添加那些额外的数据?
3.在邻近记者项目中定义了广告间隔在哪里?我想改变同样的事情。
谢谢,
DV.
嗨dv,
广告字符串中的大多数数据由SDK配置在User_Config.h文件中。你想更新什么?如果检查app_easy_gap_undirected_advertise_start_create_msg()函数,则会看到struct gapm_start_advertise_cmd由user_undircted_advertise_conf struct填充。
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_undircated_advertise_start() - 通过调用此功能,您将获得一个无向广告。
- app_easy_gap_dircated_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.