10、树莓派 蓝牙连接和调试

蓝牙连接和调试

参考文章

安装蓝牙

sudo apt-get install bluez
详见上一篇。

蓝牙调试(主机)
  • 命令行进入: sudo bluetoothctl
  • 查看:default-agent
  • 注册anget:agent on
  • 扫描: scan on
  • 停止扫描:scan off
  • 找到要配对的蓝牙配对:pair xx:xx...xx:xx
  • 添加信任:trust xx:xx...xx:xx
  • 连接:connect xx:xx...xx:xx
  • 设置蓝牙可被发现状态:
    discoverable yes
    上面的操作,虽然可以配对并连接蓝牙,但是无法进行调试。
    需要在树莓派上设置SPP。
开启蓝牙设备

参考原文

  • 编辑文件:sudo vi /etc/systemd/system/dbus-org.bluez.service
  • 找到ExecStart=/usr/lib/bluetooth/bluetoothd,更改并添加为:
ExecStart=/usr/lib/bluetooth/bluetoothd -C
ExecStartPost=/usr/bin/sdptool add SP
  • 查看蓝牙服务:hciconfig
hci0:   Type: BR/EDR  Bus: USB
        BD Address: 00:11:67:00:00:00  ACL MTU: 510:8  SCO MTU: 48:10
        UP RUNNING PSCAN
        RX bytes:27177 acl:504 sco:0 events:1654 errors:0
        TX bytes:56051 acl:1309 sco:0 commands:194 errors:0

  • 查看适配器提供的各种功能
    sudo sdptool browse local
  • 等待连接:sudo rfcomm watch hci0会自动进行连接,测试时没有成功。
  • 开启蓝牙可被发现功能:
    sudo hciconfig hci0 piscan
  • 查看rfcomm0串口
    连接成功后,ls /dev 会看到rfcomm0端口。
  • 连接成功后,可通过minicom进行蓝牙串口通信。
蓝牙自动化设置
  • 添加rfcomm服务文件
    sudo vi /etc/systemd/system/rfcomm.service

文件内容为:

[Unit]
Description=RFCOMM service
After=bluetooth.service
Requires=bluetooth.service
 
[Service]
ExecStart=/usr/bin/rfcomm watch hci0
 
[Install]
WantedBy=multi-user.target

设置自启动:
sudo systemctl enable rfcomm

重启树莓派,会重启蓝牙:sudo systemctl start rfcomm
打开手机蓝牙调试程序进行连接。

其他

sudo bciconfig hci0 piscan
sudo bluetooth-agent 1234

sdptool add --channel=3 SP

sdptool browse local

sudo rfcomm watch /dev/rfcomm0 3 /sbin/agetty rfcomm0 linux 115200

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值