你好,
我的客户正在使用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设备:“无法连接到设备”
Please note that when trying to connect to DA14580EVKIT with central mode the setup works fine.
Please explain the problem and how they can solve it.
问候
Dan
Tritech
Device:
你好Bendaa,
我看不出任何明显的原因since DSPS its a fully hosted code and the external micro just sends data over the UART - if i understand correctly the implementation of the system. So i suppose that the connection is allready established by the 580 and i assume that a disconnection happens when the external micro starts sending data. So to start with, try to not to send data over the UART and check how the system behaves. Also after the disconnection happens is the 580 able to advertise again ? If yes try to check the disconnection reason in the disconnection handler.
Thanks MT_dialog
你好
i am bendaa's customer.
我们拥有580,它通过UART连接到我们的Micro。
我们希望通过BLE将数据转移到平板电脑中的应用程序,但它似乎可以在附加的照片中看到
please advise on what need to be done in order to connect the 580 to the tablet app
please note that with the dsps app, the 580 is abe to connect and we see our data from the micro, in the dsps app console.
你好roinovi,
这是一个更准确的问题描述,自定义Android应用程序似乎要求与580键合,因此它启动剖视过程,DSPS应用程序不实现安全性,而DSPS anroid应用程序不需要580的任何安全性为了连接。所以我想,自定义Android应用程序启动安全过程,但580永远不会给出响应,链接被删除。
Thanks MT_dialog
你好
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
What do we need to change in the dsps_device in order for it to connect ?
你好roinovi,
The same applies to the android, it requires security in order to pair to your device. You can add security in the DSPS reference design by defining the CFG_APP_SECURITY in the da1458x_confg_basic.h file, you are going to be able to connect and pair with the device, 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. But if you try to connect to any generic android application, BLE Scanner for example you are going to be able to connect and bond and exchange data normally.
Thanks MT_dialog
你好
you said
"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.
Thanks MT_dialog
你好
i have defined CFG_APP_SEC but got 8 errors as seen in the pdf attached
i did not see anything about security in the manuals/reference guides
what should i do/where should i search?
我需要自己实施安全吗?(我看到“void app_sec_init(void);”但没有看到它的实施)
b.t.w
i am currently using the dsps_device v3.150.2 because when i try to use the v5.150.2i have some problems
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应用程序发现
can i fix these problems?
你好roinovi,
由于您在SDK3上使用DSPS,因此您必须自行实现安全功能,因为DSPS SDK3版本没有安全实现。您可以检查实现安全性的智能标记,或者您可以查看SDK5 DSP上的安全实现。此外,您可以查看“教程”部分中的“软件和工具”选项卡,教程6解释了安全功能,也许您会发现它有用。
Regarding the problems you see on DSPS SDK5 we dont have any reports mentioning these kind of problems, if you use the 580 connected to your pc and not on your controller the same issues appear ? Also are you using the default pins that the DSPS uses or you have changed the pins ?
Thanks MT_dialog
如果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.
Thanks MT_dialog
你好
我跟随教程6并改变了所需要的(使用SDK5)。
1 problem i encountered is when i build i get 1 error
" .\out_580\sps_device_580.axf: Error: L6218E: Undefined symbol app_advertise_complete (referred from app_task.o). "
is the syntax correct? -> ( .app_on_adv_undirect_complete = app_advertise_complete,)
how come i get "Undefined symbol" for "app_advertise_complete," ?
roi
你好roinovi,
Is there a declaration on an included .h file for the callback that you ve assigned to the app_on_adv_undirect_complete pointer ? Also the callback assigned has to return void and have a uint8_t parameter.
Thanks MT_dialog
存在于同一user_callback_config.h中存在“.app_od_adv_undirect_complete = app_advertise_complete”的声明
就是这个:
void app_advertise_complete(const uint8_t);
/**
****************************************************************************************
*@brief SPOTAR session start or stop event handler.
*@param[in] spotar_event SPOTAR_START/SPOTAR_STOP
*@return void
****************************************************************************************
* /
但是,我没有找到任何其他次函数在项目中。
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
from
.app_on_adv_undirect_complete = default_app_on_add_undirect_complete,
to
.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只是一个占位符,用于在完成广告后要执行的任何替代用户指定的功能。
Thanks MT_dialog
基本上,我可以离开“.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停止广告的唯一原因是他接受来自中央的连接。其他应用程序雷竞技安卓下载,例如改变广告字符串的应用程序将重新启动广告。
Thanks MT_dialog
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,
Since you applied security (are you sending from your peripheral a security request to the central ?, i suppose that you do ) if the central does respond to the request the peripheral will time out and drop the connection. If a security response is send from the central perhaps the central doesn't meet the requirements that peripheral sets. If the central sends a pairing request and you dont hava a sniffer to check the whole security procedure, you can check if the security handlers occur, for example, when the pairing request is send from the central the default_app_on_pairing_request() will occur, so try to check that function and if a reponse message is sent from the peripheral. Also you can have a look at the SDK 5.0.4 for a security example (ble_app_security).
Thanks MT_dialog
我所做的就是按照教程6:配对,绑定和安全的指示开立DSPS_DEVICE项目,并实施安全性。
does it sends a security request to the central?
i implemented security because i am trying to connect my device to an android app using the phones pairing mechanism (the regular procedure that can be found on the settings->bluetooth, just like connecting an earphone)
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.
Thanks MT_dialog