蓝牙SPP介绍:
略(以后补充)
在ubuntu上实现方法:
方法1 :主要工具 bluemn minicom 安卓手机(上面安装蓝牙串口工具)
1.1 安卓手机打开手机蓝牙,允许周围设备可见;
1.2 打开手机上的蓝牙串口工具(为了增加spp服务)
1.3 ubuntu环境下插入蓝牙适配器,(如果是虚拟机,请在虚拟机设置那边禁止蓝牙共享)。
1.4 命令# lsusb 查看蓝牙设备是否已经接入。
1.5 命令#hciconfig hci0 up (激活蓝牙设备)
1.6 开启blueman(未安装的 #apt-get install blueman),搜索到你的手机-配对,选择你已配对好的蓝牙设备,右击鼠标,选择串口服务。
1.7 在blueman的搜索框下面就会有已连接/dev/rfomm0的字样。(划重点,会考!)
1.8 使用minicom(安装方式 apt-get minicom) 配置端口为/dev/rfcomm0 波特率不用修改
1.9 再次打开minicom 往其中写入数据就会出现在你的手机,你手机通过蓝牙串口助手发送数据,数据就会出现在minicom界面。
1.8-1 读取接收数据:不使用minicom的可以再次打开一个终端 #cat /dev/rfcomm0 可以读取接收到的蓝牙数据
1.8-2 发送数据:#echo " hello world" > /dev/rfcomm0 即可将数据发送到蓝牙手机上的蓝牙串口助手。
方法2:要求Linux内核2.6以上(也就是说内核中有bluez)(顺便说一下:方法二不止可以用于SPP,自己领悟 哈哈)
2.1 #hcitool scan 扫描蓝牙设备
2.2 #sdptool add SP 为本地设备增加SPP服务
2.3 打开手机上的蓝牙串口工具(为了增加spp服务)
2.4 #sdptool browse 蓝牙mac地址 查看手机蓝牙spp服务在哪个信道(例如我的蓝牙手机spp服务在信道4)
2.5 #mknod /dev/rfcomm0 c 216 0 创建设备节点
2.6 #chmod 666 /dev/rfcomm0 设置权限
2.7 #rfcomm --help 学习一下rfcomm怎么使用
2.8 #rfcomm bind 0 蓝牙设备mac地址 4 (信道4 之前搜索到spp服务的信道别忘了)
2.9#rfcomm connect 0 蓝牙设备mac地址 4(连接蓝牙设备)
如果此时出现Can't create RFCOMM TTY: Address already in use
2.10 #rfcomm release 0 (释放已使用的蓝牙rfcomm tty)
2.11 再次连接即可 #rfcomm connect 0 蓝牙设备mac地址 4(连接蓝牙设备)
2.12此时就会出现按ctrl+c结束连接的英文。
2.13 开启一个新的终端,要么使用minicom来和手机蓝牙串口助手通讯,要么使用1.8-*的方式来实现通讯。
(注:连接的时候可以尝试使用rfcomm -A connect 0 蓝牙设备mac地址 4)
ps:谢谢各位的阅读,如果有哪个地方写的不对,请指出。