xlla 发表于 2014-5-30 18:38:42

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

本帖最后由 xlla 于 2014-5-30 19:17 编辑

本地
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)
这俩名字类似的参数是设置啥的?一个管发送,一个管接受么?目前都是默认。


齐天大妖孽 发表于 2014-6-5 15:28:42

从机模式下,你对ble-link的dfb1写入数据,将被发送到com口,而不是usb口

齐天大妖孽 发表于 2014-6-5 15:31:17

那两个DEBUG是用于调试的,如果不太清楚,你都弄成ON,那么USB上就可以显示你写入的数据了。

xlla 发表于 2014-6-6 01:12:14

齐天大妖孽 发表于 2014-6-5 15:28
从机模式下,你对ble-link的dfb1写入数据,将被发送到com口,而不是usb口

你好!
终于有高手来解答了。

从机模式下,相当于“无线 串口”吧,串口应该是双向端, 既然 能在手机端收到 来自电脑串口调试软件发送的信息,为何反向不能收到。

其次,为何在 dfb1 的 读操作,无法读取到数据呢?看起来 dfb1是支持 write,read,notification 的。

xlla 发表于 2014-6-6 01:13:10

齐天大妖孽 发表于 2014-6-5 15:31
那两个DEBUG是用于调试的,如果不太清楚,你都弄成ON,那么USB上就可以显示你写入的数据了。 ...

好吧,我都改成 ON,再试试,谢谢你的指导。

齐天大妖孽 发表于 2014-6-6 09:28:22

xlla 发表于 2014-6-6 01:12
你好!
终于有高手来解答了。



从机模式,com和usb接收到的数据都会发送到蓝牙dfb1。而ble-link接收到的数据只会发送到com,默认不会发送到usb,如果你没有打开调试开关的话。所以,你会看到一个usb只能发送不能接收的假象。

第二个问题,dfb1虽然允许读操作,但是那个是内部测试用的,不对外开放。手机需要通过接收notification来获得ble-link的数据。所以,手机使用write 和 notification

齐天大妖孽 发表于 2014-6-6 09:30:53

DFB2的问题:
DFB2是发送AT指令用的,参考wiki。比如你用dfb2发个AT\r\n试试,看是否能收到OK\r\n。

xlla 发表于 2014-6-6 22:44:00

齐天大妖孽 发表于 2014-6-6 09:28
从机模式,com和usb接收到的数据都会发送到蓝牙dfb1。而ble-link接收到的数据只会发送到com,默认不会发 ...

高手点拨,豁然开朗,虽然未试,理应不假。
页: [1]
查看完整版本: 请教:Ble-link 只能收到通知,无法写出数据。