赞
踩
目录
如下图所示,bluetoothctl可进行蓝牙扫描、信任、配对等功能
在命令行输入hciconfig后可显示设备信息
常用命令:
打开/关闭/重置hci设备:hciconfig hci0 up/down/reset
认证打开/关闭:hciconfig hci0 auth/noauth,直接体现在进行蓝牙连接时,是否输入连接PIN密码,用于PIN配对
查看/改变蓝牙主从状态:hciconfig hci0 lm master(改为主模式)、hciconfig hci0 lm slave(改为从模式)
查看/设置蓝牙名称:hciconfig hci0 name 、hciconfig hci0 name LPA3588
查看HCI设备信息:hcitool dev
发现周围蓝牙设备:hcitool -i hci0 inq
蓝牙扫描:hcitool -i hci0 inq
查看探查到的蓝牙信息:hcitool -i hci0 name 88:A9:B7:E6:F1:8F
发送CMD蓝牙命令:hcitool cmd --help
关闭蓝牙
sudo hciconfig hci0 down
重置蓝牙
sudo hciconfig hci0 reset
打开蓝牙
sudo hciconfig hci0 up
让蓝牙可连接可发现
sudo hciconfig hci0 piscan
配置好以后,需要手动添加SPP服务
sudo sdptool add SP
添加成功会有如下返回结果:
Serial Port service registered
sudo sdptool browse local
问题:
运行后报错:Failed to connect to SDP server on FF:FF:FF:00:00:00: No such file or directory
解决:修改系统中蓝牙服务的启动选项,-C的意思就是compat,兼容性模式运行蓝牙服务
sudo vim /lib/systemd/system/bluetooth.service
ExecStart=/usr/lib/bluez5/bluetooth/bluetoothd -C
重启蓝牙服务:
sudo systemctl daemon-reload
sudo systemctl restart bluetooth.service
再次查看
sudo sdptool browse local
找到上述服务,串口服务SPP开启成功
hcitool scan 扫描蓝牙设备
sdptool add SP 为本地设备增加SPP服务(在上一小节中着重介绍)
打开手机上的蓝牙串口工具(为了增加spp服务)
sdptool browse 蓝牙mac地址 查看手机蓝牙spp服务在哪个信道(例如我的蓝牙手机spp服务在信道4)
mknod /dev/rfcomm0 c 216 0 创建设备节点
chmod 666 /dev/rfcomm0 设置权限
rfcomm bind 0 蓝牙设备mac地址 4 (信道4 之前搜索到spp服务的信道别忘了)
rfcomm connect 0 蓝牙设备mac地址 4(连接蓝牙设备)
如果此时出现Can't create RFCOMM TTY: Address already in use
rfcomm release 0 (释放已使用的蓝牙rfcomm tty)
再次连接即可 #rfcomm connect 0 蓝牙设备mac地址 4(连接蓝牙设备)
执行rfcomm时报错:RFCOMM TTY support not available
问题原因:内核中rfcomm tty选项没有打开
解决方法:
在sdk的内核目录找到该选项并使能
CONFIG_BT_RFCOMM=y
修改后重新编译内核并烧录进板子即可
No package 'glib-2.0' found
解决方法:sudo apt-get install libglib2.0-dev
No package 'dbus-1' found
解决方法:sudo apt-get install libdbus-1-dev
Ubuntu上实现蓝牙串口通讯(SPP)_ubuntu 蓝牙串口_Chuck_lin的博客-CSDN博客
linux蓝牙建立spp服务连接_蓝牙spp_白小溪via的博客-CSDN博客
Ubuntu蓝牙Bluetooth命令行连接发送文件完整流程_ubuntu 蓝牙发送指令_新潮技术研究社的博客-CSDN博客
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。