你好,
我对DA14580和它的环境是新的。我已经购买了BASIC开发工具包。谁能告诉我应该从哪里开始,以便我在短时间内拥有良好的实践经验?像- - - - - -
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 Software Architecture 7.0文档。在这里的第6节中,系统启动和系统初始化序列将用Proximity Reporter的例子进行说明。但是我认为它没有更新,因为他们在文档中提到的许多函数在应用程序代码中不存在!!所以我仍然在努力找出从哪里开始设备广告和广告参数是定义。你能帮我一下吗?
如果您可以快速使用来自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来了解一下。关于发布的发现可能是一个应用程序或设备的问题,供我使用BLE扫描仪追踪近距离记者,你试过其他应用程序吗?
由于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扫描应用程序,但我甚至不能发现设备有接近报告固件。我也尝试过其他应用程序,比如Smart雷竞技安卓下载 Nudge,但结果是一样的。
除此之外,我将使用BLE Sniffer嗅探设备发送的数据。该软件的广告数据显示与user_config.h文件中定义的'user_advertise_data'不匹配。为什么会这样?
谢谢,
达瓦
嗨dv,
你可以用嗅探器看到广告串,但你不能用你的手机?我检查了BLE扫描器它发现并连接到附近的记者。你在你的嗅探器中看到的和广告数据不匹配的是什么?你是否尝试过其他的例子ble_app_peripheral ?您应该能够在广告字符串中看到强制标志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_DISCOVERABL(02)',我想使它'LE_LIMITED_DISCOVERABLE(01)'。我该怎么做呢?我试图找出各自的宏在整个代码的使用,但没有找到它。
此外,可以对可以作为广告数据发送的字节的长度有什么限制?如果是的话,它多少钱?我可以在此广告数据中添加一些自定义详细信息吗?
等待您的回复。
谢谢,
DV.
嗨dv,
为了改变AD标志,你必须在你的发布命令中设置正确的配置。您必须在gapm_adv_host结构中设置GAP_LIM_DISCOVERABLE中的mode成员。这将在你的广告数据中设置标志。广告长度的限制是31字节,但如果BR/EDR被支持(这是yes,因为它不被支持),你必须减去3个指示长度的强制AD标志和广告模式标志。
由于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,该文件将引导您到指示设备发布广告的函数。对于你想要执行的每一种广告都有一个不同的函数,大多数函数都位于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