请教:Ble-link 只能收到通知,无法写出数据。

2014-05-309069
AI 快速预览详细 收起
本文讨论了在使用Ble-link时遇到的数据写入问题。用户在0xdfb0服务下,通过0xdfb1特性可以收到通知,但写入数据无效;0xdfb2特性也无法正常工作。文章提供了详细的故障排查步骤和解决方案,包括检查AT+BLUNODEBUG和AT+USBDEBUG参数的设置。


本地
OS,windows Xp
串口工具,Arduino serial monitor
连接,通过 usb 将 ble-link 连接到电脑
模式,ble-link 已经设置为正常模式

远程
os, io 7.0
自己改写的测试程序,
连接 ble-link 后,
在 0xdfb0 服务下,能检索到 0xdfb1 特性,通过此特性,监听 notification 事件,可以收到从本地 arduino serial monitor 发送的信息;但通过此特性写入数据,却无法在 本地 arduino serial monitor 里收到数据,请问哪里的问题?
在 0xdfb0 服务下,能检索到 0xdfb2 特性,通过此特性,监听 notification 事件,无法收到从本地 arduino serial monitor 发送的信息;也无法通过此特性写入数据,读取数据,请问哪里的问题?




同样的代码,更换 service, 特性后,可以正常发送接收数据与另一个 品牌的,bluetooth 4.0 模块。
补充提问,
AT+BLUNODEBUG=?<CR+LF>查询蓝牙已连接状态下,BLE芯片串口接收到的数据是否通过usb串口打印出来 (默认: ON)
AT+USBDEBUG=?<CR+LF>R查询当前蓝牙数据开关的状态 (默认: OFF)
[size=12.666666984558105px]这俩名字类似的参数是设置啥的?一个管发送,一个管接受么?目前都是默认。



创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(3)
齐天大妖孽
齐天大妖孽
DFB2的问题:
DFB2是发送AT指令用的,参考wiki。比如你用dfb2发个AT\r\n试试,看是否能收到OK\r\n。
齐天大妖孽
齐天大妖孽
那两个DEBUG是用于调试的,如果不太清楚,你都弄成ON,那么USB上就可以显示你写入的数据了。
xlla
xlla
作者
回复齐天大妖孽
好吧,我都改成 ON,再试试,谢谢你的指导。
齐天大妖孽
齐天大妖孽
从机模式下,你对ble-link的dfb1写入数据,将被发送到com口,而不是usb口
xlla
xlla
作者
回复齐天大妖孽
高手点拨,豁然开朗,虽然未试,理应不假。
齐天大妖孽
齐天大妖孽回复xlla
从机模式,com和usb接收到的数据都会发送到蓝牙dfb1。而ble-link接收到的数据只会发送到com,默认不会发送到usb,如果你没有打开调试开关的话。所以,你会看到一个usb只能发送不能接收的假象。
第二个问题,dfb1虽然允许读操作,但是那个是内部测试用的,不对外开放。手机需要通过接收notification来获得ble-link的数据。所以,手机使用write 和 notification
共3条回复,已加载2条,点击查看更多共3条回复,已加载全部
- 没有更多了 -