入坑树莓派(2)——树莓派4B与手机蓝牙通信

入坑树莓派(2)——树莓派4B与手机蓝牙通信

  • 1、引言
  • 2、步骤
    • 2.1、蓝牙配对
    • 2.2、蓝牙连接准备
    • 2.3、蓝牙连接
  • 3、参考网址

1、引言

在入坑树莓派(1)中已经搞掂了可视化问题。现在继续开展下一步,尝试与手机通信,一开始是想弄wifi连接的,但发现基于wifi的APP比较难弄,为了降低开发的难度,又因为树莓派板子自带蓝牙模块,所以直接选用蓝牙连接手机通信。

2、步骤

2.1、蓝牙配对

(1)直接打开VNC viewer登陆进树莓派系统,右上角图标打开蓝牙。
入坑树莓派(2)——树莓派4B与手机蓝牙通信_第1张图片
(2)点击“Make Discoverable”,使蓝牙处于可被搜索的状态。
入坑树莓派(2)——树莓派4B与手机蓝牙通信_第2张图片
(3)直接打开手机的蓝牙,找到树莓派的蓝牙名称,点击配对,即可。

2.2、蓝牙连接准备

(1)打开terminal,安装蓝牙相关包

sudo apt-get install pi-bluetooth bluez bluez-firmware blueman

(2)添加用户到蓝牙组(假设用户名为pi)

sudo usermod -G bluetooth -a pi 
sudo reboot 

(3)启动/增加SPP(Serial Port Profile)
打开蓝牙配置文件(nano/vi都行):

sudo nano /etc/systemd/system/dbus-org.bluez.service

入坑树莓派(2)——树莓派4B与手机蓝牙通信_第3张图片
框框中的两行,第一行增加 -C,第二行直接添加,如下面所示,

ExecStart=/usr/lib/bluetooth/bluetoothd -C
ExecStartPost=/usr/bin/sdptool add SP

(4)重启树莓派

sudo reboot 

2.3、蓝牙连接

(1)安卓手机(我的是实验专用老机子HONOR 6X)先下载一个蓝牙调试器(苹果的按道理也可以,但是没探索用什么软件)
入坑树莓派(2)——树莓派4B与手机蓝牙通信_第4张图片
(2)在树莓派的terminal中输入命令(作用:等待蓝牙设备连接)

sudo rfcomm watch hci0

tip:这里的hci0是默认的,如果不是的同学可以输入命令(hciconfig)来查看自己的蓝牙名称。释放端口占用代码:sudo rfcomm release hci0
(3)打开手机蓝牙调试器,搜索并连接树莓派,然后手机给树莓派发送文本数据,如下图,
入坑树莓派(2)——树莓派4B与手机蓝牙通信_第5张图片
(4)打开python,写代码给手机发送文本数据,

import serial
ser = serial.Serial("/dev/rfcomm0", 9600) //开启串口,波特率为9600
ser.write("1".encode()) //写入一个字符“1”
ser.write("10.111".encode())
ser.close() //关闭串口

到此就大功告成啦!
tips:按照这种方式,自己写的APP也是可以正常连接树莓派的

看到有博客说,可以下载xgcom这个软件来在树莓派上可视化接收数据,这个我下载了,但没捣鼓好怎么用,再慢慢摸索吧。

3、参考网址

(1)https://www.jianshu.com/p/f7999399b4a8
(2)https://blog.csdn.net/wanyeye/article/details/52909869
(3)https://www.arduino.cn/thread-45486-1-1.html
(4)https://blog.csdn.net/qq_25005909/article/details/77512903

你可能感兴趣的:(硬件,物联网,linux)