1. 项目简介

本教程介绍如何在 Linux 或 macOS 系统上,通过 WebSocket 协议实现上位机与机器人驱动板的实时通信。

与 HTTP 相比,WebSocket 支持全双工通信毫秒级延迟,适用于机器人控制、传感器监测等需要高实时性的应用场景。

GitHub 项目地址:

https://github.com/EffectsMachine/robot_driver_with_esp32s3_lite


2. WebSocket 控制原理

驱动板内置轻量级 WebSocket 服务器,与 HTTP 服务共用 80 端口,通信路径固定为 /ws

当上位机通过 WebSocket 连接到 ws://<ESP32_IP>:80/ws 后:

  1. 建立长连接(一次 TCP 握手);
  2. 上位机可持续发送 JSON 控制指令;
  3. 下位机可实时推送状态信息(如传感器数据、舵机状态、报警信号)。

示例指令:

{"T":202,"line":1,"text":"webSocket msg","update":1}

3. 环境准备

3.1 安装 Python

请确保系统中安装了 Python 3.10 或更高版本。

检查版本:

python3 --version