在上一篇文章树莓派调用百度人脸识别API实现人脸识别,我们完成了树莓派人脸识别的基础环境配置,人脸识别功能也测试成功了,现在我们做一个小小的案例来实际应用一下,我们想树莓派人脸识别成功后,发送蓝牙串口数据给Arduino的HC-05模块,让Arduino控制舵机开门。
准备
设备材料
树莓派3b
Arduino UNO R3
HC-05
舵机SG90
杜邦线若干
连接图
一、树莓派发送的蓝牙串口数据
树莓派自带蓝牙功能,我们可以调用系统指令发送蓝牙信号, 创建一个bluetooth_test.py文件,分别定义初始化指令、开门指令、关门指令,分别发送字符串’1‘,’2’,‘3’;
import bluetooth
def servo_init():#初始化指令
bd_addr = "20:16:08:08:39:75" #arduino连接的蓝牙模块的地址
port = 1
sock=bluetooth.BluetoothSocket( bluetooth.RFCOMM )
sock.connect((bd_addr, port)) #创建连接
sock.send("1") #发送数据
sock.close() #关闭连接
def bt_open():#开门指令
bd_addr = "20:16:08:08:39:75"
port = 1
sock=bluetooth.BluetoothSocket( bluetooth.RFCOMM )
sock.connect((bd_addr, port))
sock.send("2")
sock.close()
def bt_close():关门指令
bd_addr = "20:16:08:08:39:75"
port = 1
sock=bluetooth.BluetoothSocket( bluetooth.RFCOMM )
sock.connect((bd_addr, port))
sock.send("3")
sock.close()
二、Arduino连接方式
2.1 Arduino与HC-05蓝牙模块的连接
由于我们用的是Arduino UNO R3没有蓝牙模块,要接收蓝牙数据,可以通过外接HC-05蓝牙模块解决。
HC-05=