python对串口蓝牙模块的操作

python提供了丰富的module 对串口的操作同样有对应的module:serial

环境:python3.5 蓝牙模块:HC-05 波特率38400

首先导入serial模块(通过pip install serial 安装)
获取串口ser 通过serial.Serial(地址,波特率,超时时间)
创建线程监听串口数据
使用 ser.in_waiting() 获知数据量 这个函数返回当前串口收到的数据长度
收取数据后进行详细操作

import serial
import GlobalVarible
import threading
import time
from ProcMsg import ProcMsg

ser = serial.Serial('com2', 38400, timeout=0.5)
index = 0
i = 0


def loop():
    print("串口状态:" + str(ser.is_open))
    while ser.isOpen():
        if (ser.in_waiting > 0):
            buffer = ser.read(ser.in_waiting)
            i = len(buffer)
            p = ProcMsg(buffer)
            print(type(buffer))
            p.proc()
        elif (ser.in_waiting <= 0):
            time.sleep(1)
           


t = threading.Thread(target=loop(), name="LoopThread")
t.start()

t.join()

你可能感兴趣的:(python对串口蓝牙模块的操作)