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

    xiaoxiao2022-07-04  109

    蓝牙连接和调试

    参考文章

    安装蓝牙

    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

    最新回复(0)