本教程适用于 Windows 平台的中高阶需求用户,你可以将 Windows 电脑做为上位机,机器人驱动板做为下位机,组成大小脑架构,用于开发自动化脚本来控制机器人,实现更多复杂操作
Github 项目地址:
https://github.com/EffectsMachine/robot_driver_with_esp32s3_lite
HTTP(HyperText Transfer Protocol,超文本传输协议)作为上位机与下位机(机器人)的通信方式,核心特性是基于请求 - 响应模式的无状态协议,适合标准化的指令下发与数据交互场景,通信频率可以达到 40条/秒
| 类别 | 具体内容 |
|---|---|
| 优点 1 | 开发成本低:无需自定义通信协议,主流编程语言(Python、Java、C#)均有成熟的 HTTP 库(如 Python 的requests),上位机和下位机开发效率高 |
| 优点 2 | 兼容性强:支持跨平台、跨设备通信,上位机(如 Windows 电脑、手机 APP)可通过局域网或互联网与下位机通信,灵活性高 |
| 优点 3 | 可扩展性好:可基于 HTTP 扩展功能,如通过HTTPS加密提升安全性,或通过RESTful API规范统一指令接口(如用POST发控制指令、GET读传感器数据) |
| 缺点 1 | 实时性较弱:HTTP 请求包含头部信息,且需建立 / 释放 TCP 连接(非长连接场景),存在一定延迟(通常几十到几百毫秒),不适合要求微秒级响应的高精度控制场景(如工业机器人实时轨迹调整) |
| 缺点 2 | 无主动推送能力:默认是 “上位机请求 - 下位机响应”,若下位机需主动上报紧急信息(如碰撞报警),需额外实现轮询(上位机定时请求)或结合 WebSocket 等技术,增加了复杂度 |
| 缺点 3 | 安全性依赖额外配置:原生 HTTP 不加密,指令可能被拦截篡改,需手动配置HTTPS或添加身份验证(如 Token),否则在公网环境下存在安全风险 |
驱动板内置轻量级 HTTP 服务器,默认运行在 端口 80 上。
当设备启动后,它会自动创建或连接 Wi-Fi 网络,并在网络中提供一个可访问的 HTTP 接口,地址格式为:
http://<设备IP>:80
上位机(或任何具备网络功能的设备,如电脑、手机、树莓派等)只需向该地址发送 HTTP 请求,即可与驱动板进行通信。
通信内容使用 JSON 格式指令,例如:
{"T":202,"line":1,"text":"http cmd test","update":1}
上位机通过 HTTP POST 或 HTTP GET 请求将 JSON 指令发送至驱动板,驱动板在接收到请求后会解析指令、执行相应操作。
这种通信方式的特点是: