蓝牙调试

bluetooth 测试:
 
注意
    1.出错,第一反应是查看出错信息
    2.对某个命令和函数产生怀疑或不懂,请先运行和不运行它进行比较
 
1.检测硬件是否启动
#ifconfig 
……
wlan0     Link encap:Ethernet  HWaddr 00:0E:09:A0:01:0A  
          inet addr:192.168.10.148  Bcast:192.168.10.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:14884 errors:0 dropped:17697 overruns:0 frame:0
          TX packets:14 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2005719 (1.9 MiB)  TX bytes:2051 (2.0 KiB)
注:本测试用串口通信的wifi-bt模块。如果是usb,直接用lsusb查看。

2.查看有无启动蓝牙
# hciconfig 
查看假如有了,可以直接跳转到第12步。

3.建立用户(一次性工作)
 错误信息:Failed to start message bus: Could not get UID and GID for username “messagebus”
启动dbus需要一个名为“messagebus”的用户
使用root用户,在虚拟机中的linux中输入 # adduser  messagebus  
查看/etc/passwd
拷贝messagebus:x:501:501::/home/messagebus:/bin/bash到测试板对应位置。
可以用userdel -r messagebus 删除用户

4.设置共享库的环境变量 LD_LIBRARY_PATH
默认是在“/usr/local/lib  /usr/lib”。而我编译的bluez在新建路径下,所以要设置。
比如:export LD_LIBRARY_PATH=/usr/local/bluetooth/lib:$LD_LIBRARY_PATH
可以再输入:export 查看是否设置成功

5.安装模块,假如不用内核里的模块,用自己编译的模块
比如:insmod bnep.ko

6.清除残余信息
比如,/var/run/messagebus.pid
否则,Failed to open connection to system message bus。

7.启动dbus
#dbus-daemon --system --print-pid --print-address    启动dbus守护进程  消息中转枢纽
#dbus-launch --sh-syntax --exit-with-session    启动dbus-daemon
#dbus-monitor --system&     监视总线上流动的消息
#dbus-uuidgen >安装目录/var/lib/dbus/machine-id    需要一个id,否则failed to read machine uuid: Failed to open

8.设置dbus的环境变量
export DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-5HoCudykgE,guid=877fad8fbfd93feb5dd6831d0000002a
export DBUS_SESSION_BUS_PID=346

9.配置bluez
修改安装目录下/etc/bluetooth/hcid.conf 文件
比如安全方式,密码,用户名等
例如:
security auto
passkey "1234"
name "William(%d)"

10.启动蓝牙
#hciconfig hci0 up  或者有些总和到hcid工具 即#hcid&

11.初始化蓝牙
#hciattach -h 查看用法
 hciattach [-n] [-p] [-b] [-t timeout] [-s initial_speed] <tty> <type | id> [speed] [flow|noflow]
例如: #hciattach -s 115200 /dev/ttyS1 ok2500 115200  其中ok2500 是蓝牙芯片
当然 供应商应该都会有自己的hciattach。
是否成功启动  可以使用hciconfig 命令查看

12.扫描设备(记得提前打开自己的蓝牙)
# hcitool scan
可以得到
Scanning ...
        00:15:83:0B:14:C0       zhzhli
        ……

13.添加通道
sdptool add --channel=CHANNEL_ID OPUSH
比如:#sdptool add --channel=12 OPUSH

14.查看端口和通道信息
#sdptool browse 00:15:83:0B:14:C0 (用上面扫描到的mac地址)
获得将要挂载设备的通道号

15.挂载设备
# rfcomm bind /dev/rfcomm0 MACaddress channelid
例如:#rfcomm bind /dev/rfcomm0 00:15:83:0B:14:C0 12

16.主动连接
hcitool cc 00:15:83:0B:14:C0(手机的地址)
当然也可以被动连接

17.接收文件
# obexd
例如:#./obexd -n -d -a -o -f&

18.发送文件
#   ussp-push  /dev/rfcomm0 SOURCE_file要发送的文件 DESTINATION_file接收文件名
Example:./ussp-push /dev/rfcomm0 /tmp/IMG_20120911_113618.jpg test.jpg


注意:各工具可能有些细微差别,请使用 -h 查看详细用法


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Delphi是一种强大的编程语言和集成开发环境(IDE),它可用于开发各种类型的应用程序,包括Windows、移动设备和嵌入式系统。在Delphi中进行蓝牙调试需要使用一些特定的库和组件来实现。 首先,您需要使用Delphi的系统蓝牙库来与蓝牙设备进行通信。这些库包括Bluetooth和BluetoothLE单元,它们提供了与蓝牙设备进行配对、连接和传输数据的功能。您可以使用这些库来搜索附近的蓝牙设备,建立连接并发送/接收数据。 在进行蓝牙调试时,您可能会遇到一些常见问题,例如连接失败、数据传输错误或设备不可用等。为了解决这些问题,您可以使用Delphi的调试工具和技术。 首先,您应该确保蓝牙设备和计算机之间的连接是正常的。您可以检查蓝牙设备的配对状态、连接状态和信号强度等信息。如果发现连接问题,您可以尝试重新启动设备或计算机,重新配对设备,并确保设备处于适当的范围内。 其次,您应该检查您的代码逻辑和蓝牙通信协议。确保您正确地使用了Delphi的蓝牙库函数和事件,并按照蓝牙设备的要求进行数据传输。您还可以使用调试输出和断点来跟踪代码执行情况,并查看是否存在错误或异常。 在调试过程中,您还可以使用一些辅助工具和设备来帮助调试。例如,您可以使用蓝牙调试器来监视和分析蓝牙数据包的传输情况。您还可以使用模拟器或虚拟设备来模拟蓝牙设备和环境,以便更方便地进行调试。 总之,Delphi提供了丰富的功能和工具来进行蓝牙调试。通过合理使用Delphi的蓝牙库、调试工具和技巧,您可以轻松解决蓝牙调试中遇到的各种问题,并成功开发出功能强大的蓝牙应用程序。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值