你好,
我的客户正在使用Murata的DA14580模块。
It is connected it to their micro via uart.
They want to transfer data from their system to a tablet which contains their own application via ble.
它们的系统通过将数据发送到BLE(设置为设备)到平板电脑作为数据接收器。
问题是,平板电脑无法使用以下错误连接到DA14580设备:“无法连接到设备”
请注意,当试图连接到DA14580EVKIT与中央模式的设置工作良好。
Please explain the problem and how they can solve it.
问候
丹
Tritech公司
Device:
你好本达,
我看不出发生这种情况的任何明显原因,因为dsp是一个完全托管的代码,外部micro只是通过UART发送数据——如果我正确理解系统的实现的话。因此,我假设580建立的连接已经就绪,并且我假设当外部micro开始发送数据时会发生断开。因此,首先,尽量不要通过UART发送数据,并检查系统的行为。在断开连接之后,580还能再做广告吗?如果是,请尝试在断开连接处理程序中检查断开连接的原因。
谢谢你的对话
你好
我是本达的顾客。
我们拥有580,它通过UART连接到我们的Micro。
我们希望通过BLE将数据转移到平板电脑中的应用程序,但它似乎可以在附加的照片中看到
请告知将580连接到平板电脑应用程序需要做什么
请注意,使用dsps应用程序,580可以连接,我们可以在dsps应用程序控制台中从micro看到数据。
你好roinovi,
这是一个更准确的问题描述,自定义Android应用程序似乎要求与580键合,因此它启动剖视过程,DSPS应用程序不实现安全性,而DSPS anroid应用程序不需要580的任何安全性为了连接。所以我想,自定义Android应用程序启动安全过程,但580永远不会给出响应,链接被删除。
谢谢你的对话
你好
The pic attached is from our attempt to connect the 580 to the android tablet in :settings-bluetooth
Its before we activated the app
We even tried to connect it to a regular android phone, in the bluetooth devices, just like you connect your phone to a regular bl device, like an earset for example
为了使dsps\U设备连接起来,我们需要对其进行哪些更改?
你好roinovi,
同样的道理也适用于android,它需要安全性才能与你的设备配对。通过在da1458x\u confg\u basic.h文件中定义CFG\u APP\u安全性,您可以在DSPS参考设计中添加安全性,您将能够连接并与设备配对,但无法与android保持连接。一旦设备配对,android就会与设备断开连接,因为它没有理由保持连接。但是如果你尝试连接到任何一个普通的android应用程序,比如BLE Scanner,你将能够正常连接、绑定和交换数据。
谢谢你的对话
你好
你说过
"but you are not going to be able to stay connected to the android. The android disconnects from the device as soon as the device gets paired, since it has no reason to stay connected."
为什么它会断开连接?
你是什么意思“它没有理由保持联系”?
你好roinovi,
The android default application will stay connected with a predefined limited subset of devices like HID since it waits data from those specific devices, in the DSPS case, the android will issue a disconnection since the DSPS doesn't belong to that kind of devices. You will be able to stay connected with a DSPS on an android phone only via a custom or a generic android application.
谢谢你的对话
你好
我已经定义了CFG\u APP\u SEC,但是在所附的pdf中看到了8个错误
我在手册/参考指南中没有看到任何关于安全性的内容
我该怎么做/在哪里搜索?
我需要自己实施安全吗?(我看到“void app_sec_init(void);”但没有看到它的实施)
b、 t.w.公司
我目前使用的是dsps_设备v3.150.2,因为当我尝试使用v5.150.2时,我遇到了一些问题
1)the advertising is not stable: mostly the dsps doesnt find the device when i search for it, but sometimes if i wait a long time it does appear for a few secconds and disapears.
2)如果我能够以某种方式连接,当我的微型开始通过UART开始发送数据时,该设备从DSPS应用程序发现
我能解决这些问题吗?
你好roinovi,
由于您在SDK3上使用DSPS,因此您必须自行实现安全功能,因为DSPS SDK3版本没有安全实现。您可以检查实现安全性的智能标记,或者您可以查看SDK5 DSP上的安全实现。此外,您可以查看“教程”部分中的“软件和工具”选项卡,教程6解释了安全功能,也许您会发现它有用。
关于您在DSPS SDK5上看到的问题,我们没有任何报告提到此类问题,如果您使用连接到pc的580,而不是在您的控制器上,会出现相同的问题吗?您使用的是DSP使用的默认管脚还是更改了管脚?
谢谢你的对话
如果UUID是不同的,则无法连接!
你好jitian,
Its not a matter of UUID but a matter of security, the android requires security in order to connect, if there isn't any response to the security request, the android central will not establish a connection with the peripheral.
谢谢你的对话
你好
我跟随教程6并改变了所需要的(使用SDK5)。
我遇到的一个问题是,当我构建时,我得到一个错误
“\out580\sps\u device580.axf:错误:L6218E:未定义的符号app\u advertive\u complete(从app\u task.o引用)。”
语法正确吗?->(。app\u on\u adv\u undirect\u complete=应用程序广告\u complete,)
为什么“app\u adversed\u complete”会有“Undefined symbol”?
roi
你好roinovi,
在included.h文件中是否有一个声明,用于指定给app\u on \u adv\u undirect\u complete指针的回调?此外,分配的回调必须返回void并具有uint8\t参数。
谢谢你的对话
存在于同一user_callback_config.h中存在“.app_od_adv_undirect_complete = app_advertise_complete”的声明
就是这个:
void app_advertise_complete(const uint8_t);
/**
****************************************************************************************
*@brief SPOTAR会话启动或停止事件处理程序。
*@param[in] spotar_event SPOTAR_START/SPOTAR_STOP
*@返回无效
****************************************************************************************
* /
但是,我没有找到任何其他次函数在项目中。
its strange because its the sps_device project supplied by dialog.
and in the tutorial on how to add security, it says ti change the callback
从
.app_on_adv_undirect_complete = default_app_on_add_undirect_complete,
到
.app_on_adv_undirect_complete = app_advertise_complete,
which i did
how come there is no implementation of the "void app_advertise_complete(const uint8_t);" ?
我在哪里可以呢?
你好roinovi,
我看到你的意思是什么,据我所知,没有任何实现App_Advertise完成。DSPS项目使用在广告操作完成时执行default_app_on_add_undirect_complete()函数。我想app_advertising_complete只是一个占位符,用于在完成广告后要执行的任何替代用户指定的功能。
谢谢你的对话
基本上,我可以离开“.app_on_adv_undirect_complete = default_app_on_add_undirect_complete," when i implement security according to the Tutorial 6 : Pairing , Bonding & Security
btw what does the dsps default_app_on_adv_undirect_complete do?
TNX.
roi
你好roinovi,
是的,您可以留下默认的回调。在DSP示例中,default_app_on_add_undirect_complete()没有做任何事情,只是一个空函数,因为DSP停止广告的唯一原因是他接受来自中央的连接。其他应用程序雷竞技安卓下载,例如改变广告字符串的应用程序将重新启动广告。
谢谢你的对话
ok
i left it like " .app_on_adv_undirect_complete = default_app_on_adv_undirect_complete," and flashed it to the da14580.
现在我可以看到DA广告,但我无法连接到它,我已经尝试将它连接到我的电脑并向LightBlue应用程序连接,而是我正在获得连接错误
在计算机上,我获得了身份验证错误(它不会弹出PINCODE屏幕),并在LightBlue应用程序中只是超时。
有什么问题?
你好roinovi,
由于您应用了安全性(您是否从外围设备向中心设备发送了安全性请求?),我想您是这样做的)如果中心设备没有响应请求,则外围设备将超时并断开连接。如果从中心发送安全响应,则中心可能不满足外围设备设置的要求。如果中心发送配对请求,而您没有嗅探器来检查整个安全过程,您可以检查是否出现了安全处理程序,例如,当从中心发送配对请求时,将出现默认的\u app \u on \u pairing \u request(),因此请尝试检查该函数以及是否从外围设备发送了响应消息。您还可以查看sdk5.0.4中的安全示例(ble\u app\u security)。
谢谢你的对话
我所做的就是按照教程6:配对,绑定和安全的指示开立DSPS_DEVICE项目,并实施安全性。
它是否向中心发送安全请求?
我之所以实现了安全性,是因为我正在尝试使用电话配对机制将我的设备连接到android应用程序(这是可以在“设置”->“蓝牙”上找到的常规过程,就像连接耳机一样)
however it couldnt connect, so i asked in this forum and i was replied that the android cant connect to the device because the android expects a security procedure (unlike the dsps app)
这就是为什么我实施了安全性
你好roinovi,
是的,如果你跟随本教程设备发送a security request to the central device, in order to indicate that the pairing procedure should be started. But the DSPS can't send this kind of request just by having this kind of definition. The DSPS uses a custom function on the .app_on_connection callback so when connected it doesn't send a security instruction to the central. The default_app_on_connection() does that by using the app_easy_security_request() function. So if you dont have this function you dont send a security indication to the central.
在SDK5的DSP中,如果您只是在da1458x_config_basic中定义CFG_APP_Security.h,则可以与上面提到的,如果您尝试连接到您的Android应用程序(Android具有的应用程序),则能够与Android应用程序配对它要求其他设备具有安全性才能绑定,但不会保持联系,它只连接到短时间内才能配对和断开连接,android将发出disconnect命令(检查我的#6评论)。
If you try to connect to a BLE android application like BLE scanner (a generic BLE application) etc, they dont demand security, so your device will have either to explictly say upon connection that it demands security or set a security level to the characteristics and when the central tries to access them it will see that they are protected and start the pairing procedure.
谢谢你的对话