You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Windows10下用MicroPython通过ESP32 UART读取传感器数据的问题

在MicroPython中读取ESP32 GPIO16/GPIO17连接的UART传感器数据

先确认接线与基础配置

首先确保传感器和ESP32的接线正确:

  • 传感器TX引脚 → ESP32 GPIO16(作为UART接收端)
  • 传感器RX引脚 → ESP32 GPIO17(作为UART发送端)
  • 传感器与ESP32的GND引脚必须共地,否则信号会出现乱码或丢失

步骤1:初始化UART端口

MicroPython通过machine.UART模块操作串口,初始化时必须严格匹配传感器的通信参数(波特率、数据位、校验位、停止位,这些参数在传感器手册里都能找到):

from machine import UART

# 以UART2为例,参数根据传感器手册调整
uart = UART(
    2,
    baudrate=9600,  # 常见波特率:9600/115200,必须和传感器一致
    rx=16,
    tx=17,
    bits=8,         # 多数传感器用8位数据位
    parity=None,    # 无校验位是主流配置
    stop=1,         # 1位停止位
    timeout=1000    # 读取超时时间(毫秒)
)

步骤2:读取并解析传感器数据

传感器的输出格式分为两种,对应不同的解析方式:

场景1:传感器输出ASCII字符串(如"Temp:26.3,Hum:45.1\n")

这种情况直接读取并转成字符串后拆分即可:

while True:
    if uart.any():  # 检查串口缓冲区是否有数据
        raw_data = uart.readline()  # 读取一行(直到换行符)
        if raw_data:
            # 转成UTF-8字符串并去除首尾空白符
            str_data = raw_data.decode('utf-8').strip()
            print("原始数据:", raw_data)
            print("解析后字符串:", str_data)
            
            # 进一步拆分数据(以温度湿度为例)
            if "Temp:" in str_data and "Hum:" in str_data:
                temp_str = str_data.split("Temp:")[1].split(",")[0]
                hum_str = str_data.split("Hum:")[1]
                temperature = float(temp_str)
                humidity = float(hum_str)
                print(f"温度: {temperature}℃,湿度: {humidity}%")

场景2:传感器输出二进制数据(如固定长度的字节流)

这种情况需要用struct模块将字节转成对应的数据类型:

import struct

while True:
    if uart.any():
        # 假设传感器每次输出4字节数据(2字节温度整数+2字节温度小数,大端模式)
        raw_bytes = uart.read(4)
        if raw_bytes and len(raw_bytes) == 4:
            # 用struct解析:'>hh'表示大端模式的两个短整数
            int_part, dec_part = struct.unpack('>hh', raw_bytes)
            temperature = int_part + dec_part / 100
            print(f"当前温度: {temperature}℃")

关键注意事项

  • 如果传感器需要先发送指令才会返回数据,用uart.write(b"指令内容\r\n")发送(比如uart.write(b"GET_DATA\r\n"))
  • 若读取到乱码,优先检查波特率是否匹配,其次检查TX/RX引脚是否接反,最后确认共地是否正常

内容的提问来源于stack exchange,提问作者Alex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 03:05:10