学习指南:使用 Python 通过串口与 ESP32 通信

在这一篇文章中,我们将一步一步来实现通过 Python 与 ESP32 进行串口通信。以下是整个流程的概述:

步骤 说明
1 安装所需的库
2 编写 ESP32 上的代码
3 编写 Python 串口通信代码
4 测试并调试程序

第一步:安装所需的库

在进行 ESP32 和 Python 的串口通讯之前,确保安装了pyserial库,这是一个用于串口通信的库。你可以使用以下命令安装:

pip install pyserial

这个命令会将pyserial库安装到你的 Python 环境中,确保你可以和串口进行通信。

第二步:编写 ESP32 上的代码

首先,我们需要在 ESP32 上运行一些代码。这段代码将设置 Wi-Fi 连接并通过串口发送一些数据。

#include <WiFi.h>

const char* ssid = "your_SSID";  // 替换为你的 Wi-Fi 名称
const char* password = "your_PASSWORD";  // 替换为你的 Wi-Fi 密码

void setup() {
    Serial.begin(115200);  // 初始化串口,波特率为 115200
    WiFi.begin(ssid, password);  // 连接 Wi-Fi

    while (WiFi.status() != WL_CONNECTED) {
        delay(1000);
        Serial.println("连接中...");
    }
    Serial.println("Wi-Fi 连接成功");
}

void loop() {
    Serial.println("ESP32 正在运行...");  // 向串口发送数据
    delay(1000);  // 每一秒发送一次
}

在这段代码中,我们首先连接到 Wi-Fi,然后每秒通过串口发送一条消息。

第三步:编写 Python 串口通信代码

接下来,在你的 Python 环境中创建一个文件,比如 serial_communication.py,并加入以下代码:

import serial
import time

# 初始化串口,波特率需与 ESP32 一致
ser = serial.Serial('/dev/ttyUSB0', 115200)  # 替换为你的串口号

# 等待一会儿,确保串口初始化完成
time.sleep(2)

while True:
    if ser.in_waiting:  # 判断是否有数据可读
        line = ser.readline().decode('utf-8').rstrip()  # 读取串口数据
        print(f"接收到数据: {line}")  # 输出接收到的数据

在这段 Python 代码中,我们初始化了串口以读取 ESP32 发送的数据,并打印出来。

第四步:测试并调试程序

现在一切都准备好了,请按照以下步骤测试:

  1. 连接 ESP32: 确保 ESP32 已连接到电脑并能正常工作。
  2. 上传 ESP32 代码: 使用 Arduino IDE 将上面的代码上传到 ESP32。
  3. 运行 Python 代码: 在你的 Python 环境中运行 serial_communication.py
python serial_communication.py

如果一切顺利,你会在 Python 控制台看到来自 ESP32 的输出。

饼状图展示

为了进一步分析我们完成的步骤,以下是任务完成情况的饼状图:

pie
    title 任务完成情况
    "步骤 1:安装库": 25
    "步骤 2:ESP32 代码": 25
    "步骤 3:Python 代码": 25
    "步骤 4:测试与调试": 25

结尾

恭喜你完成了通过 Python 与 ESP32 的串口通信配置!这一过程涵盖了从安装库到编写和测试代码的每一个步骤。希望这对你将来的开发工作有所帮助。如果你有任何问题,随时欢迎提问!