python 实现树莓派打开多串口,获取多串口数据,websocket数据接收与发送。

以下是一个使用 Python 在树莓派上实现打开多个串口、持续监测串口数据并在有数据时通过 WebSocket 以用户 A 身份发送,同时监测 WebSocket 连接并以用户 B 身份接收数据的示例代码。代码使用了pyserial库来操作串口以及websocket-client库来实现 WebSocket 通信,运行前请确保已通过pip install pyserial websocket-client安装好相应的库。

import serial
import threading
import time
import websocket
import json

# 串口配置列表,可根据实际连接的串口情况添加更多配置项
serial_configs = [
    {
        "port": "/dev/ttyUSB0",  # 根据实际情况修改串口设备路径
        "baudrate": 9600,
        "timeout": 1
    },
    {
        "port": "/dev/ttyUSB1",
        "baudrate": 9600,
        "timeout": 1
    }
]

# WebSocket服务器地址,替换为真实的服务器地址和端口
websocket_server_url = "ws://your_server_address:port"

# 存储打开的串口对象列表
serial_ports = []
# 存储用于读取串口数据的线程对象列表
serial_threads = []

# 用于存储WebSocket连接对象
ws = None


# 读取串口数据的函数,持续监测串口是否有数据
def read_serial(ser):
    while True:
        try:
            data = ser.readline().decode('utf-8').strip()
            if data:
                print(f"从串口 {ser.port} 读取到数据: {data}")
                # 调用发送数据到服务器的函数,以用户A的身份发送
                send_data_to_server(data, ser.port, "A")
            else:
                time.sleep(0.1)  # 短暂休眠,避免空循环占用过多资源
        except serial.SerialException as e:
            print(f"串口 {ser.port} 读取出
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码熊崽的编程森林

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值