嗨,对话框中,
我正在开发一种设备和应用程序,并使用DSP进行通信。
一切都在工作相对良好,但我们的设备不连接到一些Android平板电脑,我们没有多个平板电脑检查,但“联想标签4 10”(TB X704L)无法连接到我们的设备。大多数平板电脑和手机都很好。
试着调试它,我正在使用你的dsp应用程序。
我看到这种联系建立起来了,但立刻就断开了。
使用Android的蓝牙设置时,尝试将设备连接到错误弹出窗口:“由于PIN或密码不正确,无法与BLE配对” - 我的设备配置是“只是工作”,没有身份验证,没有密码,没有安全性所以这条消息是令人费解的....
我做了一些研究:向设备添加身份验证没有改变行为,也没有其他配置更改我尝试过任何更改。
有一次,我们成功地连接了平板电脑,dsp应用程序暂时还能正常工作。我无法复制它。
我的问题:
你有没有遇到这样的问题?
它似乎是设备和平板电脑之间的初始“握手”失败了一些洁具。我应该在哪里看任何建议?
谢谢,
拉兹
设备:
嗨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
t:54 m: 3 SPS_SERVER_CREATE_DB_CFM
t:54 m: 3 SPS_SERVER_CREATE_DB_CFM
简介已启用
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
t:54 m: 3 SPS_SERVER_CREATE_DB_CFM
t:54 m: 3 SPS_SERVER_CREATE_DB_CFM
简介已启用
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),并验证平板电脑连接和保持与目标连接。
另外,请提供平板电脑上的安卓版本。
/ mhv.
嗨MHv,
干得好,平板电脑和目标保持联系。
平板电脑的Android版本是7.1.1
我的下一步应该是什么?
我正在尝试确定在设备上查看通信Rx / Tx的问题。在代码中为RX和TX通信放置Loggers的良好位置将在哪里?
亲切的问候,
拉兹
让我们从删除连接启动时发生的MTU交换开始。尝试在DSPS的user_on_connection()回调函数中将函数调用注释到user_gattc_exc_mtu_cmd()。如果这“修复”了问题,我们就能很好地知道下一步该往哪里看。
/ mhv.
谢谢mhv.
我如此建议,结果不确定:制定了成功的联系,但不是每次。
为了获得一个成功的连接,我需要做多次尝试(点击列表中的项目),大多数时候我得到“连接失败”的错误,偶尔我有一个成功。此外,我似乎需要在两次成功之间重置设备。
在android的蓝牙设置中,我不再出现错误弹出:“Couldn't pair with BLE because an incorrect PIN or passkey”
亲切的问候,
拉兹
这仍然是很好的数据。接下来,尝试注释对app_easy_gap_param_update_start()的调用——相同的函数。这应该允许平板电脑完全指定连接参数,而不需要任何协商。这也将极大地限制吞吐量,但它将告诉我们在何处调整连接参数。
/ mhv.
通过此更改,将设备连接到平板电脑和传输数据没有问题。
拉兹
我们确实取得了一些进展……
我建议我们(嗯; o)执行以下操作:
/ mhv.
嗨MHv,
谢谢你的病人。
第三点是工作。我将对user_gattc_exc_mtu_cmd()和app_easy_gap_param_update_start()的调用延迟了10ms,似乎在平板电脑上一切正常。
你建议延迟1-2秒。10ms是不是太短了?
任何想法如何如何发生与原始实施方式正常工作的大多数Android / IOS设备?
亲切的问候,
拉兹
这是个好消息。我不认为延误的持续时间是那么重要。平板电脑似乎无法处理之前的活动时间,任何事件分离将有所帮助。
Android和iOS都以神秘的方式工作; o),但保存您的代码更改使DSP更加安全,并且将与原始代码的更多设备一起使用。我将向我们的应用团队建议他们将您的修复视为他雷竞技安卓下载们应该滚动到任何未来的DSP更新。
/ mhv.