嗨,对话框中,
我正在开发一种设备和应用程序,并使用DSP进行通信。
一切都在工作相对良好,但我们的设备不连接到一些Android平板电脑,我们没有多个平板电脑检查,但“联想标签4 10”(TB X704L)无法连接到我们的设备。大多数平板电脑和手机都很好。
试着调试它,我正在使用您的DSPS应用程序。
我看到连接立即建立和断开。
使用Android的蓝牙设置时,尝试将设备连接到错误弹出窗口:“由于PIN或密码不正确,无法与BLE配对” - 我的设备配置是“只是工作”,没有身份验证,没有密码,没有安全性所以这条消息是令人费解的....
我做了一些研究:向设备添加身份验证没有改变行为,也没有其他配置更改我尝试过任何更改。
有一次,与平板电脑成功连接,DSPS应用程序暂时运行良好。我无法复制它。
我的问题:
你有没有遇到这样的问题?
它似乎是设备和平板电脑之间的初始“握手”失败了一些洁具。我应该在哪里看任何建议?
谢谢,
拉兹
设备:
嗨razp:
能否清除平板电脑上外设的任何现有条目,然后再试一次。
否则,我们需要一个蓝牙嗅探器日志。
谢谢,
TR_DIALOG
嗨,TR。
请详细说明。
1.什么是“清除平板电脑上的任何现有条目”
2.我怎么得到蓝牙嗅探器日志?
拉兹
嗨razp:
1.什么是“清除平板电脑上的任何现有条目”
[tr_dialog]这应该是平板电脑的蓝牙设置下的某个位置。我没有和我有一个Android设备,因此没有关于特定的Android设置的信息。
2.我怎么得到蓝牙嗅探器日志?
[TR_DIALOG]通过使用一个商业蓝牙嗅探器,如一个来自前线或其他供应商。
谢谢,
TR_DIALOG
嗨TR,
谢谢你的帮助。
这台平板电脑或任何其他Android平板电脑/手机都没有这样的设置,但我做了一个“网络设置重置”。这并没有改变连接行为。
不幸的是,我们没有一个“商业蓝牙嗅探器”。
我可以从对话框SDK中记录通信吗?
亲切的问候,
拉兹
如果您的平板电脑与设备与设备与设备配对有机会,请转到设置/连接/蓝牙并清除配对(齿轮图标应显示在每个配对设备的右侧。通过单击清除配对/绑定“unipair”)
/ mhv.
它从未成功连接到设备。
我正在尝试调试设备端问题。看看事件序列这是我看到的。
好的
t:14 m: 1
设备连接
T:13 M:0 GAPM_CMP_EVT
SPS_SERVER_CREATE_DB_CFM . t:54 m: 3
SPS_SERVER_CREATE_DB_CFM . t:54 m: 3
简介已启用
t:14 m: 0
t:12 m: 0 GATTC_CMP_EVT
t:12 m: 0 GATTC_CMP_EVT
T:14 M:17 Gapc_param_updated_ind
T:14 M:17 Gapc_param_updated_ind
T:14米:23 Gapc_encrypt_req_ind
T:14米:23 Gapc_encrypt_req_ind
不太好
t:14 m: 1
设备连接
T:13 M:0 GAPM_CMP_EVT
SPS_SERVER_CREATE_DB_CFM . t:54 m: 3
SPS_SERVER_CREATE_DB_CFM . t:54 m: 3
简介已启用
T:14 M:3 Gapc_disconnect_ind
设备断开连接
t:14 m: 0
的日志
t: num task_num m:消息
消息名称是我基于代码的解释。
这些日志我还不明白,也许你会明白。
如果这是一个设备问题,平板电脑问题,或者也许,可以说,我尚未相信,对BLE协议的不同解释。
希望你能帮忙
拉兹
平板电脑显然出于某种原因决定断开连接。dsp将尝试协商更多可选的连接参数,这可能会让平板电脑窒息。我建议我们后退一步,让您构建并将empty_peripheral_template加载到您的目标上。该项目100%与硬件无关,可以在任何具有DA14580功能的硬件上运行。请使用通用的蓝牙应用程序(BlueLoupe或BLE Scanner),并验证平板电脑连接并保持与目标设备连接。
另外,请提供平板电脑上的android版本。
/ mhv.
嗨MHv,
好主意,平板电脑已经连接到目标了。
平板电脑的Android版本是7.1.1
我的下一步应该是什么?
我正在尝试确定在设备上查看通信Rx / Tx的问题。在代码中为RX和TX通信放置Loggers的良好位置将在哪里?
亲切的问候,
拉兹
让我们从删除连接启动时发生的MTU交换开始。尝试在DSPS的user_on_connection()回调函数中注释对user_gattc_exc_mtu_cmd()的函数调用。如果这“修复”了问题,我们就能很好地指明下一步该往哪里看。
/ mhv.
谢谢mhv.
我如此建议,结果不确定:制定了成功的联系,但不是每次。
为了获得一个成功的连接,我需要做多次尝试(点击列表中的项目),大多数时候我得到“连接失败”错误,偶尔我有一个成功。此外,我似乎需要在成功之间重置设备。
在android的蓝牙设置中,我不再得到错误的弹出框:“无法与BLE配对,因为一个错误的PIN或密钥”
亲切的问候,
拉兹
这仍然是很好的数据。接下来,尝试注释对app_easy_gap_param_update_start()的调用——相同的函数。这将允许平板电脑完全指定连接参数而无需任何协商。这也将极大地限制吞吐量,但它将告诉我们在哪里调整连接参数。
/ mhv.
通过此更改,将设备连接到平板电脑和传输数据没有问题。
拉兹
我们肯定在这方面有所进展……
我建议我们(嗯; o)执行以下操作:
/ mhv.
嗨MHv,
谢谢你的病人。
第三点起作用了。我将对user_gattc_exc_mtu_cmd()和app_easy_gap_param_update_start()的调用延迟了10ms,似乎在平板电脑上一切正常。
您建议延迟1-2秒。10毫秒是不是太短了?
任何想法如何如何发生与原始实施方式正常工作的大多数Android / IOS设备?
亲切的问候,
拉兹
这是个好消息。我认为延迟的时间并不那么重要。平板电脑似乎无法处理之前的活动时间,任何分离的事件将会有所帮助。
Android和iOS都以神秘的方式工作; o),但保存您的代码更改使DSP更加安全,并且将与原始代码的更多设备一起使用。我将向我们的应用团队建议他们将您的修复视为他亚博国际官网平台网址们应该滚动到任何未来的DSP更新。
/ mhv.