树莓派和HC-05蓝牙连接以及通过串口写入(Write)和读入(Read)数据

树莓派和HC-05蓝牙连接以及通过串口写入(Write)和读入(Read)数据

前言

本章讲解树莓派与蓝牙连接,以及如何实现树莓派和蓝牙通过串口互相收发数据。我使用的是HC-05蓝牙,实现树莓派给蓝牙写入字符数据‘, 通过上位机显示,同时蓝牙给树莓派发送数据,树莓派终端把读到的数据打印出来。

一、树莓派和hc-05 蓝牙连接

1.蓝牙HC05模块上电后,蓝牙灯进入慢闪状态,
2.启动树莓派
3.点击树莓派的蓝牙,
4.点击add device,找到HC05,点击pair,输入密码,默认密码1234
(但这样并不能成功连接,这样操作是为了让树莓派记住HC06蓝牙密码(默认是0000或1234))
5.运行Python代码:代码如下

#**导入需要用到的库**
import datetime
import serial
import os
#注册设备号,20:19:01:26:18:70为蓝牙的MAC地址;7为设备号;
#再次连接同一个个蓝牙时需要更改这个设备号码;
os.system('sudo rfcomm bind 7 20:19:01:26:18:70')
port='/dev/rfcomm7'
ser=serial.Serial(port,115200)
ser.flushInput() #初始清空一下串口

#串口接收,发送函数
def recvread():
    while True:
        # 获得接收缓冲区字符
        count = ser.inWaiting()
        if count != 0:
            # 读取内容并显示
            recv = ser.read(count)
            print recv  
        # 清空接收缓冲区
        ser.flushInput()
        # 必要的软件延时
        time.sleep(0.1)
#主函数
if __name__ == '__main__':
    try:
	# 打开串口
    	ser = serial.Serial('/dev/rfcomm1', 9600)
    	if ser.isOpen == False:
        	ser.open()                # 打开串口
    	ser.write(b"Raspberry pi is ready")
		recvread()
    except KeyboardInterrupt:
        if ser != None:
            ser.close()

硬件连接:

1.USB-TTL连接HC-05
2.打开PC端的串口助手,设置波特率为9600

树莓派运行.py文件,对应结果正常。

你可能感兴趣的:(python,蓝牙,机器学习)