da14580初学者:需要帮助来开始开发

18个职位/ 0个新职位
最后发表
DV
离线
最后看到:5年2个月前
加入:2015-10-09十七13
da14580初学者:需要帮助来开始开发

你好,

我对DA14580和它的环境是新的。我已经购买了BASIC开发工具包。谁能告诉我应该从哪里开始,以便我在短时间内拥有良好的实践经验?像- - - - - -
1.代码流 - 执行序列I.E如何在main_func()中执行system_init()函数后执行的代码?
2.如果各种BLE参数初始化,如广告间隔,广告类型,广告数据,扫描响应数据等?
3.如何将设备持续宣传并在断开连接后开始通告?
4.如何从外围设备转换到中心设备,反之亦然?

此外,如果有人可以让我知道我需要按顺序引用的文档列表以了解开发环境。

感谢您的快速回复。

谢谢,
DV

设备:
MT_dialog
离线
最后看到:两个月三个星期前
工作人员
加入:2015-06-08 34
嗨dv,

嗨dv,

您可以从SDK中的示例开始。您可以先看一下接近性示例,然后再看基本示例(只实现了diss配置文件,只发布了字符串操作),然后再看自定义配置文件示例(ble_app_peripheral和ble app_profile)。您还可以查看新的SDK UM-B-050和UM-B-051的文档。最后,你可以搜索论坛,你的大多数问题都已经在网站上得到了回答。

由于MT_dialog

DV
离线
最后看到:5年2个月前
加入:2015-10-09十七13
谢谢MT_Dialog

感谢MT_Dialog的回复!

事实上,我目前正在遵循UM-B-015 Software Architecture 7.0文档。在这里的第6节中,系统启动和系统初始化序列将用Proximity Reporter的例子进行说明。但是我认为它没有更新,因为他们在文档中提到的许多函数在应用程序代码中不存在!!所以我仍然在努力找出从哪里开始设备广告和广告参数是定义。你能帮我一下吗?

如果您可以快速使用来自main_func()的代码执行序列可以快速帮助我会很棒。

此外,我有BASIC开发工具包,我编写了接近报告项目。所以我可以在我的Nexus 5手机的BT设置屏幕中发现对话框- prxr设备,但我不能使用BLE Scanner应用程序发现它。为什么会这样?

谢谢,
达瓦

MT_dialog
离线
最后看到:两个月三个星期前
工作人员
加入:2015-06-08 34
嗨dv,

嗨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来了解一下。关于发布的发现可能是一个应用程序或设备的问题,供我使用BLE扫描仪追踪近距离记者,你试过其他应用程序吗?

由于MT_dialog

DV
离线
最后看到:5年2个月前
加入:2015-10-09十七13
嗨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

MT_dialog
离线
最后看到:两个月三个星期前
工作人员
加入:2015-06-08 34
嗨dv,

嗨dv,

就文档而言,是的,这两个文档是SDK5的唯一文档,但由于它是基于SDK3的,所以基本功能或多或少是相同的。例如,为了理解睡眠的概念,应该阅读描述睡眠功能的UM-B-006文档。关于应用程序,你试过雷竞技安卓下载其他手机或设备吗?

由于MT_dialog

DV
离线
最后看到:5年2个月前
加入:2015-10-09十七13
嗨mt_dialog,

嗨mt_dialog,

感谢您的回复。

我在我的手机上安装了BLE Checker应用程序,它说我的手机上支持BLE。另一件事是,我可以连接其他BLE启用的设备在我的手机上使用BLE扫描应用程序,但我甚至不能发现设备有接近报告固件。我也尝试过其他应用程序,比如Smart雷竞技安卓下载 Nudge,但结果是一样的。

除此之外,我用BLE嗅探器嗅出了设备发送的数据。广告数据显示该软件与user_config.h文件中定义的'USER_ADVERTISE_DATA'不匹配。为什么会这样?

谢谢,
达瓦

MT_dialog
离线
最后看到:两个月三个星期前
工作人员
加入:2015-06-08 34
嗨dv,

嗨dv,

你可以用嗅探器看到广告串,但你不能用你的手机?我检查了BLE扫描器它发现并连接到附近的记者。你在你的嗅探器中看到的和广告数据不匹配的是什么?你是否尝试过其他的例子ble_app_peripheral ?您应该能够在广告字符串中看到强制标志02 01 06,然后是在USER_ADVERTISE_DATA中定义的十六进制值。

由于MT_dialog

DV
离线
最后看到:5年2个月前
加入:2015-10-09十七13
嗨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 -未定义

所以你能告诉我“未定义”的广告数据来自哪里吗?

谢谢,
达瓦

MT_dialog
离线
最后看到:两个月三个星期前
工作人员
加入:2015-06-08 34
嗨dv,

嗨dv,

前三个字节是必须的标志,表示发布消息的类型02 -紧跟在01后面的数据的长度-紧跟在后面的数据的AD标签和06 -标志的值(LE Discoverable模式和BR/EDR不支持)。其他未定义的字节是您在代码中指定的设备名称0C是长度,09是完整本地名称DIALOG-PRXR的标记。至于断开,请尝试用你的嗅探器检查断开的原因,即主机可能正在终止连接。

由于MT_dialog

DV
离线
最后看到:5年2个月前
加入:2015-10-09十七13
嗨mt_dialog,

嗨mt_dialog,

感谢您的回复,很抱歉我迟了回复这篇文章。

现在我可以理解广告数据了。但是如果我想改变前三个字节的值呢?我的意思是,不是保持它'LE_GENERAL_DISCOVERABL(02)',我想使它'LE_LIMITED_DISCOVERABLE(01)'。我该怎么做呢?我试图找出各自的宏在整个代码的使用,但没有找到它。

此外,可以对可以作为广告数据发送的字节的长度有什么限制?如果是的话,它多少钱?我可以在此广告数据中添加一些自定义详细信息吗?

等待您的回复。

谢谢,
DV

MT_dialog
离线
最后看到:两个月三个星期前
工作人员
加入:2015-06-08 34
嗨dv,

嗨dv,

为了改变AD标志,你必须在你的发布命令中设置正确的配置。您必须在gapm_adv_host结构中设置GAP_LIM_DISCOVERABLE中的mode成员。这将在你的广告数据中设置标志。广告长度的限制是31字节,但如果BR/EDR被支持(这是yes,因为它不被支持),你必须减去3个指示长度的强制AD标志和广告模式标志。

由于MT_dialog

DV
离线
最后看到:5年2个月前
加入:2015-10-09十七13
嗨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

MT_dialog
离线
最后看到:两个月三个星期前
工作人员
加入:2015-06-08 34
嗨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

DV
离线
最后看到:5年2个月前
加入:2015-10-09十七13
嗨MT_dialog,

嗨MT_dialog,

非常感谢您的回复,很抱歉我的回复晚了。

作为初学者,我如何知道哪个函数用于启动广告并创建广告数据字符串?它记录在某个地方吗?我如何知道广告是可连接的或不可连接的,是指向还是未定向的?在代码中定义的所有这些?

随着在广告数据中增加几个字节,在user_config.h中定义,我相应地更新了第一个字节,这表明了数据的大小,但它仍然不起作用,改变了广告数据后没有发现设备。

谢谢,
DV

MT_dialog
离线
最后看到:两个月三个星期前
工作人员
加入:2015-06-08 34
嗨dv,

嗨dv,

唯一关于SDK文档5的帖子我已经建议秒更具体的你可以去8.2.3.2段和检查所有的回调每个操作使用SDK,可以检查这些函数的定义,看看广告执行。

例如,如果您想检查它执行的广告类型,请检查user_callback_config.h文件中的.default_operation_adv,该文件将引导您到指示设备发布广告的函数。对于你想要执行的每一种广告都有一个不同的函数,大多数函数都位于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

nicky.whtsang
离线
最后看到:4年9个月前
加入:2016-03-14 14:11

如果可以修改user_device_name,您可以建议吗?

问候
尼基

MT_dialog
离线
最后看到:两个月三个星期前
工作人员
加入:2015-06-08 34
嗨Nicky.Whtsang,

嗨Nicky.Whtsang,

是的,您可以在USER_DEVICE_NAME定义的user_config.h文件中修改设备名称。

由于MT_dialog