如果直接连接的话总是立马连上就断开
编辑这个文件
sudo nano /etc/systemd/system/dbus-org.bluez.service
在“ExecStart=”行的末尾添加“-C”,以在“兼容性”模式下启动蓝牙守护程序。在该行之后立即添加新的“ExecStartPost=”,以添加 SP 配置文件。
ExecStart=/usr/lib/bluetooth/bluetoothd -C
ExecStartPost=/usr/bin/sdptool add SP
重启树莓派
运行 sudo rfcomm watch hci0
用于监听指定的蓝牙hci0上的RFCOMM连接请求
用手机蓝牙调试助手连接后会变成这样
随意发送一串字符
(我这里手机端是十六进制编码 树莓派为ascii编码,根据ascii值表16进制的字符从20-7E是字符信息,随意输入的字符只能从这区间里选择,不然是没有显示的)
ASCII码一览表,ASCII码对照表 (biancheng.net)
另起一个终端,运行cat /dev/rfcomm0,就可以实时看见传输的信息
手机端发送 48 49,对应ascii值为HI ,树莓派收到 HI,显示成功啦
树莓派给手机传数据:
双引号内输入想要发送的字符
echo "Hello, Bluetooth!" | sudo tee /dev/rfcomm0
手机端收到 48 65 6C 6C 6F 2C 20 42 6C 75 65 74 6F 6F 74 68 21
解码出来为Hello, Bluetooth!(我用的这个转换器需要把空格都删掉,不然会显示成框)
hex16进制转换字符串——开发者在线工具,工具猫 (toolscat.com)
参考