多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

ESP32 AI机器人入门:硬件组装、避障控制与大模型对话

ESP32 AI机器人入门:硬件组装、避障控制与大模型对话 机甲和机器人怎么搭上 AI最省钱省事的路线我个人觉得就是 ESP32 开发板。它不是性能最强的板子但如果你想要一个能连 Wi-Fi、能控制电机、能接传感器、还能和大模型对话的机器人小伙伴ESP32 几乎是成本最低的切入点。这篇文章会直接讲清楚硬件怎么选、开发环境怎么搭、烧录怎么搞、机器人怎么动起来、AI 对话怎么接进来最后给出一套完整的测试和排查流程。先说最值得关注的几个点ESP32 自带 Wi-Fi 和蓝牙不需要另外接网络模块Arduino IDE 里装一下板卡包就能写程序机器人底盘 电机驱动 超声波传感器一百多元就能凑齐一套基础硬件AI 对话能力可以把 ESP32 作为边缘端通过局域网网关调用云端大模型接口实现起来逻辑很清晰。整套方案适合想入门嵌入式 AI、机器人、物联网的开发者也适合做课程设计和作品展示的学生。本文会带你做四件事第一完成 ESP32 开发环境搭建和烧录第二组装一个能前后移动、能避障的小车底盘第三通过串口和 Wi-Fi 接入大模型对话接口第四做功能验证、性能观察和故障排查。代码不会给得特别复杂但每一步都能落地。1. ESP32 AI 机器人核心能力速览能力项说明项目类型嵌入式 AI 机器人入门项目基于 ESP32 开发板主控芯片乐鑫 ESP32 系列经典款通常为双核 Xtensa 处理器另有 ESP32-C3 等低成本型号可选具体以开发板为准通信能力自带 Wi-Fi 和蓝牙/BLE可做局域网控制、云接口调用和手机蓝牙遥控外设扩展电机驱动、超声波、红外、OLED/LCD 屏幕、WS2812 灯带、麦克风、扬声器等AI 接入方式方式一局域网 PC 网关转发大模型接口方式二ESP32 直接请求合规的云端大模型 API 服务开发方式Arduino IDE 或 PlatformIOUSB 烧录串口调试是否支持 CPU 推理ESP32 本身不运行大模型可运行轻量级 TinyML 模型大模型对话需通过 Wi-Fi 调用接口是否支持批量任务本项目定位实时交互控制不涉及批量任务典型场景AI 对话小车、避障小车、课程设计、机器人原型验证、智能家居移动终端从材料和使用体验来看ESP32 的优势在于“集成度高、上手快、资料多”。它不像树莓派那样需要跑完整操作系统而是直接跑实时固件适合做实时控制和传感器采集。但也要明确边界ESP32 的 RAM 和 Flash 规模有限不适合做复杂的本地 AI 推理也不适合跑重型导航算法这类工作更适合放到 PC 或 ROS2 机器人平台上完成。2. 适用场景与使用边界这个方案适合谁刚接触单片机但想做一个带 AI 对话能力的机器人作品的开发者适合用这个方案快速出成果。教育场景里ESP32 机器人可以作为人工智能、物联网、嵌入式系统课程的实验平台打通“传感器采集 — 主控处理 — 网络通信 — 云端 AI — 运动执行”的完整链路。做毕业设计或作品展示时这套系统已经具备“感知、决策、执行”三个基本环节扩展空间也大。不适合什么场景首先是需要精密运动控制的工业机器人ESP32 的实时性能和可靠性不够其次是复杂的自主导航比如 SLAM 建图、路径规划这些更适合用 ROS2 配合激光雷达、深度相机来做第三是对接高并发、海量数据的产品级应用ESP32 算力有限更适合做轻量级边缘节点。使用边界要特别强调。AI 对话服务会通过网络把文本发送到第三方接口因此不要输入敏感个人信息、公司内部数据或未经授权的他人信息。如果后续扩展摄像头、麦克风用于人脸识别或语音采集必须取得当事人的明确授权只能用于合法合规的测试和演示场景。所有功能都应先在本地测试环境验证不要直接部署到公共场合。3. ESP32 机器人硬件与开发环境准备3.1 硬件清单做一台最基础的 AI 对话避障小车建议准备以下硬件硬件型号/类型作用主控板ESP32 DevKitC 或 NodeMCU-32S控制电机、读传感器、联网小车底盘2 驱或 4 驱 TT 电机底盘提供移动平台电机驱动L298N 或 TB6612FNG驱动直流电机L298N 更便宜TB6612 效率更高超声波模块HC-SR04测距避障电池18650 电池盒或 7.4V 锂电池给电机和主控供电电源模块AMS1117-3.3 或面包板电源模块电压转换给 ESP32 稳定供电杜邦线公对公、公对母若干接线可选模块OLED 屏幕、WS2812 灯带、INMP441 麦克风、小喇叭扩展语音交互和视觉灯光效果ESP32 有很多型号经典 ESP32 双核 240 MHz 处理器常见配置是 520 KB SRAM 和 4 MB Flash具体以你手里的开发板规格为准。如果只需要低成本 Wi-Fi 连接也可以选 ESP32-C3它是单核 RISC-V 架构价格更低。选型时要注意引脚兼容性不同开发板的引脚定义可能不同接线前先确认原理图。3.2 开发环境准备推荐使用 Arduino IDE 2.x界面清晰板卡管理方便。如果更习惯工程化开发也可以用 PlatformIO它基于 VS Code依赖管理更规范适合后续扩展 Micro-ROS 等复杂功能。操作系统方面Windows、macOS、Linux 都可以。还需要安装 USB 转串口驱动。ESP32 开发板使用的串口芯片常见是 CP2102 或 CH340。如果开发板插上电脑后识别不到端口先检查驱动是否安装。Windows 下打开设备管理器能看到“端口 (COM 和 LPT)”下出现新的 COM 口说明驱动正常。3.3 获取 ESP32 板卡支持在 Arduino IDE 中需要额外添加 ESP32 的开发板索引。打开“文件 - 首选项 - 附加开发板管理器 URL”填入乐鑫官方提供的 JSON 地址https://espressif.github.io/arduino-esp32/package_esp32_index.json然后打开“工具 - 开发板 - 开发板管理器”搜索esp32选择乐鑫官方发布的最新版本并安装。安装过程需要联网下载板卡包如果网络不稳定可能遇到下载失败常见报错类似failed to install platform: esp32:3.3.11. 13 internal: download failed。这种情况可以稍后重试或者手动下载板卡包后离线安装具体方法后面排查章节再展开。4. ESP32 一键烧录与启动方式4.1 选择开发板和端口烧录前先选择正确的开发板型号。以常见的 ESP32 DevKitC 为例在“工具 - 开发板 - ESP32 Arduino”下选择对应的型号。不要选错比如买了 ESP32-C3 就选对应的 C3 系列否则编译和烧录可能异常。接着选择串口端口。在“工具 - 端口”里选择识别到的 COM 口。如果列表为空插拔一次 USB 线或检查 USB 驱动。4.2 烧录操作默认烧录方式非常简单把 ESP32 开发板用 USB 线连接到电脑选择好开发板和端口点击 Arduino IDE 左上角的“上传”按钮Arduino IDE 会自动完成编译和烧录无需手动操作。部分开发板需要按住板上的 BOOT 键再点上传具体查看开发板说明。烧录完成后打开“工具 - 串口监视器”波特率选择 115200复位开发板如果能看到启动日志说明烧录和串口通信正常。4.3 启动方式说明这个项目不是一键启动的 Web 应用而是嵌入式固件。所谓“启动”就是给 ESP32 上电后自动运行固件。如果固件里包含 Wi-Fi 连接逻辑开机会自动连接网络并打印 IP 地址。所有调试信息通过串口输出上位机这边只需要一个串口监视器。5. 机器人底盘组装与电机驱动接线5.1 电机驱动接线思路直流电机的控制需要电机驱动模块因为 ESP32 的 GPIO 输出电流很小不能直接驱动电机。以常见的 L298N 为例它需要外部供电通常接 6V 到 12V然后通过 IN1、IN2、IN3、IN4 四个引脚控制两个电机的正反转通过 ENA、ENB 引脚控制 PWM 调速。接线时注意共地。L298N 的 GND 要同时接电池负极和 ESP32 的 GND否则控制信号没有参考电平电机不转。5.2 示例接线表下面是一套示例接线具体 GPIO 引脚可以根据你的开发板调整电机驱动引脚ESP32 GPIO功能ENAGPIO14左电机使能与 PWM 调速IN1GPIO27左电机方向IN2GPIO26左电机方向ENBGPIO12右电机使能与 PWM 调速IN3GPIO25右电机方向IN4GPIO33右电机方向VCC/驱动电源电池正极L298N 电机电源GNDESP32 GND 与电池负极共地超声波模块接线同样需要注意电平问题。HC-SR04 的 VCC 接 5VTrig 接 ESP32 的 GPIO5Echo 接 GPIO18。但 HC-SR04 的 Echo 输出是 5V 电平ESP32 的 GPIO 是 3.3V 逻辑长期直连有风险。稳妥做法是使用电阻分压后接入或者选 3.3V 兼容的超声波模块。6. ESP32 电机控制与基础避障功能开发6.1 电机控制代码先写一个最基础的电机控制程序包含前进、后退、停止三个函数并用串口命令触发。这样能快速验证接线是否正确。#define ENA 14 #define IN1 27 #define IN2 26 #define ENB 12 #define IN3 25 #define IN4 33 int speed 180; void setup() { pinMode(ENA, OUTPUT); pinMode(IN1, OUTPUT); pinMode(IN2, OUTPUT); pinMode(ENB, OUTPUT); pinMode(IN3, OUTPUT); pinMode(IN4, OUTPUT); Serial.begin(115200); motorStop(); } void motorForward() { digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW); digitalWrite(IN3, HIGH); digitalWrite(IN4, LOW); analogWrite(ENA, speed); analogWrite(ENB, speed); } void motorBackward() { digitalWrite(IN1, LOW); digitalWrite(IN2, HIGH); digitalWrite(IN3, LOW); digitalWrite(IN4, HIGH); analogWrite(ENA, speed); analogWrite(ENB, speed); } void motorStop() { digitalWrite(IN1, LOW); digitalWrite(IN2, LOW); digitalWrite(IN3, LOW); digitalWrite(IN4, LOW); analogWrite(ENA, 0); analogWrite(ENB, 0); } void loop() { if (Serial.available()) { char cmd Serial.read(); if (cmd F) { motorForward(); Serial.println(forward); } else if (cmd B) { motorBackward(); Serial.println(backward); } else if (cmd S) { motorStop(); Serial.println(stop); } } }这段代码中用到的analogWrite在 arduino-esp32 核心中可以直接使用底层自动映射到 LEDC PWM 通道适合快速验证。如果遇到编译报错可以把analogWrite换成 LEDC 库写法不同版本的核心库会有一点 API 差异。6.2 超声波避障逻辑在电机控制基础上加入超声波测距实现最简单的避障逻辑距离小于阈值就停车、后退、再停车否则前进。#define TRIG 5 #define ECHO 18 float getDistance() { digitalWrite(TRIG, LOW); delayMicroseconds(2); digitalWrite(TRIG, HIGH); delayMicroseconds(10); digitalWrite(TRIG, LOW); long duration pulseIn(ECHO, HIGH); float distance duration * 0.0343 / 2; return distance; } void loopAuto() { float dist getDistance(); Serial.print(Distance: ); Serial.println(dist); if (dist 20) { motorStop(); delay(200); motorBackward(); delay(300); motorStop(); } else { motorForward(); } delay(100); }调用loopAuto()替换原来的loop()即可。这里的核心是pulseIn测量高电平持续时间再按声速换算成距离。需要注意单个超声波模块的探测角度有限放在车头正前方即可。如果机器人要做更复杂的逻辑可以加多个传感器或者用舵机云台旋转扫描。6.3 遥控方式的扩展除了自动避障还可以把机器人改成手机蓝牙遥控或者网页遥控。ESP32 的 BLE 模块可以直接被手机 App 搜索到网页遥控则可以用 ESP32 作为小型 Web 服务器在局域网内通过浏览器控制。做法不复杂因为 ESP32 自带 Wi-Fi直接启动一个 HTTP Server在网页上放四个方向按钮点击按钮时向 ESP32 发送移动指令即可。这一步建议在基础避障跑通后再做避免刚开始就引入过多变量。7. AI 对话能力接入与大模型 API 调用7.1 方案选型ESP32 的算力有限跑不了大模型但这不代表它不能做 AI 机器人。合理的架构是ESP32 负责采集和交互把文字请求通过 Wi-Fi 发给一个“智能网关”网关调用大模型接口再把结果返回给 ESP32。这里有两种常见的网关方案。方案一局域网 PC 网关。ESP32 往你电脑上的 Python 服务发 HTTP 请求Python 服务再调用云端大模型接口。好处是密钥只存在 PC 上ESP32 不需要暴露 API Key安全性更好也方便切换不同模型服务。方案二ESP32 直接调用云端接口。程序里直接写入接口地址和 API Key简单直接但 API Key 会随固件分发存在泄露风险不适合量产或开源分享。从安全和调试角度看我推荐先做方案一。先在 PC 上把大模型接口调通再让 ESP32 和 PC 服务对接问题定位清晰也避免 ESP32 端代码里出现过多网络和 JSON 处理逻辑。7.2 PC 端 Python 网关示例用 Flask 写一个轻量级网关接收 ESP32 的 POST 请求转发到合规的大模型 API 服务。# ai_robot_gateway.py # 在 PC 上运行ESP32 通过 Wi-Fi 调用该网关 from flask import Flask, request, jsonify import requests app Flask(__name__) # 这里替换为你选用的合规大模型 API 配置 LLM_API_URL https://your-llm-api.example.com/v1/chat/completions API_KEY your-api-key app.route(/api/chat, methods[POST]) def chat(): data request.get_json() user_message data.get(message, ) try: resp requests.post( LLM_API_URL, json{ model: your-model, messages: [{role: user, content: user_message}] }, headers{Authorization: fBearer {API_KEY}}, timeout30 ) result resp.json() reply result[choices][0][message][content] return jsonify({reply: reply}) except Exception as e: return jsonify({reply: f调用失败: {str(e)}}), 500 if __name__ __main__: # 局域网 IP 绑定ESP32 通过该 IP 访问 app.run(host0.0.0.0, port5000)启动方式pip install flask requests python ai_robot_gateway.py验证这个网关是否可用可以在电脑浏览器上访问http://127.0.0.1:5000/api/chat或者用 curl 发送测试请求curl -X POST http://127.0.0.1:5000/api/chat \ -H Content-Type: application/json \ -d {message: 你好介绍一下你自己}如果返回包含机器人自我介绍内容的 JSON说明网关已经打通。7.3 ESP32 端请求代码在 ESP32 端用 HTTPClient 向 PC 网关发 POST 请求然后解析返回的 JSON。需要提前安装 ArduinoJson 库在 Arduino 库管理器中搜索ArduinoJson即可安装。#include WiFi.h #include HTTPClient.h #include ArduinoJson.h const char* ssid your-wifi; const char* password your-password; const char* serverUrl http://192.168.1.100:5000/api/chat; void setup() { Serial.begin(115200); WiFi.begin(ssid, password); Serial.print(Connecting to WiFi); while (WiFi.status() ! WL_CONNECTED) { delay(500); Serial.print(.); } Serial.println(); Serial.print(Connected, IP: ); Serial.println(WiFi.localIP()); } String chatWithAI(String message) { HTTPClient http; http.begin(serverUrl); http.addHeader(Content-Type, application/json); String payload {\message\:\ message \}; int httpCode http.POST(payload); String response http.getString(); http.end(); if (httpCode 200) { StaticJsonDocument1024 doc; DeserializationError error deserializeJson(doc, response); if (!error) { return doc[reply].asString(); } return JSON parse error; } return HTTP error: String(httpCode); } void loop() { if (Serial.available()) { String msg Serial.readStringUntil(\n); msg.trim(); if (msg.length() 0) { Serial.print(You: ); Serial.println(msg); String reply chatWithAI(msg); Serial.print(AI: ); Serial.println(reply); } } }这里的流程是通过串口监视器输入文字ESP32 收到后构造成 JSONPOST 到 PC 网关网关调大模型再返回回复文本最后 ESP32 打印到串口。整个过程不复杂但要注意 JSON 转义问题。如果用户输入内容中带有双引号或反斜杠直接拼接 JSON 会解析失败更稳妥的做法是用 ArduinoJson 来构建请求体。7.4 对话效果验证烧录完成后打开串口监视器输入你好如果整个链路正常会看到类似这样的输出Connecting to WiFi.... Connected, IP: 192.168.1.101 You: 你好 AI: 你好我是你的 AI 机器人小伙伴很高兴认识你。第一次请求可能稍慢因为涉及 HTTP 转发和模型推理通常需要几秒到十几秒取决于网关所在 PC 的配置、大模型服务的响应速度以及网络质量。注意 ESP32 端不要设置太短的 HTTP 超时时间否则模型还没返回ESP32 就超时断开了。8. 从避障小车到自主导航的扩展路径到这里你的 ESP32 机器人已经能移动、能避障、能对话。如果你想让机器人更进一步做真正意义上的自主导航可以关注这两个方向。第一个方向是接入 Micro-ROS让 ESP32 成为 ROS2 生态中的一个节点。Micro-ROS 是专门为资源受限设备设计的 ROS2 客户端Arduino 库中有micro_ros_arduino可选配合 Micro-ROS Agent 可以把 ESP32 发布的传感器数据、电机状态发送给 ROS2 上位机上位机运行导航算法后再把控制指令下发给 ESP32。这样分工明确ESP32 负责底层电机控制和传感器采集PC 或树莓派负责地图构建、定位和路径规划。第二个方向是先在机器人仿真平台上验证算法再移植到真机。常见的机器人仿真平台包括 Gazebo、Webots 等可以在虚拟环境中测试路径规划、多机器人协同等算法避免真机调试时撞坏硬件。等仿真跑通后再按实际硬件映射到 ESP32 端。这个路线更适合做毕业设计或深入学习的开发者。这两个方向都涉及较多工程配置不是一篇文章能完全覆盖的。刚入门时先把当前这套“传感器 控制 Wi-Fi API”的闭环跑熟再逐步引入 ROS2 的组件学习曲线会更平滑。9. 功能测试与效果验证9.1 测试用例设计测试项输入/操作预期结果判定标准串口通信打开串口监视器复位开发板输出启动日志无乱码、无死循环Wi-Fi 连接写入正确 SSID 后上电打印 IP 地址IP 地址与路由器网段一致电机前进串口输入F小车前进左右轮同步向前电机后退串口输入B小车后退左右轮同步向后电机停止串口输入S小车停止电机立即停转超声波测距前方 20cm 处放障碍物串口打印距离值距离误差在合理范围内避障运动小车启动前方放障碍物停车、后退、再停车未碰撞障碍物AI 对话串口输入问题返回 AI 回复返回内容符合预期多次连续对话连续提问 5 次每次都正常返回无重启、无卡死9.2 功能测试步骤先测基础功能再测组合功能。第一次测试不要开电机先烧录一个只打印日志的程序确认串口正常。然后逐步加入电机、超声波、Wi-Fi、AI 对话每增加一个模块就测试一次这样出问题时能快速定位到具体环节。测试 AI 对话时建议先在 PC 上用 curl 或 Postman 验证网关确认大模型接口返回正常再接 ESP32 端。如果 ESP32 请求失败优先检查网关日志看有没有收到来自 ESP32 的 POST 请求其次检查 JSON 字段名称是否匹配。9.3 判断成功的标准这套系统跑通的核心标志有三个第一ESP32 能在串口监视器上稳定输出日志第二电机能按指令动作超声波距离值连续且合理第三串口输入文字后能收到 AI 回复连续 5 次对话没有出现重启或长时间无响应。只要这三个标准满足整个机器人基础闭环就算成立。10. 资源占用与性能观察10.1 编译资源占用怎么看Arduino IDE 编译完成后控制台会输出程序占用的 Flash 空间和 RAM 空间。这个数字是判断固件资源占用最直接的依据。对于常见的问题在受约束的 ESP32 机器人上运行时资源占用需要以真实编译结果为准。如果你加了太多功能导致编译超过了 Flash 空间就要优化代码或裁剪功能。观察这个信息很简单每次烧录时停下两秒看一眼编译输出窗口。10.2 运行性能观察运行期间重点观察三点。第一Wi-Fi 连接稳定性。如果机器人频繁掉线先检查信号强度或者让开发板远离金属遮挡物。ESP32 的 Wi-Fi 在信号弱时会自动重连但重连期间无法响应控制指令。第二HTTP 请求延迟。从 ESP32 发出请求到收到回复时间由网络延迟、网关处理时长和大模型推理时长构成。对话类请求响应慢是正常的但如果每次都要超过 10 秒就需要检查网关是不是 CPU 占用过高或者大模型接口是不是存在限流。第三内存占用。ESP32 的 RAM 有限频繁的 HTTP 请求和 JSON 解析会占用堆内存。长期跑对话任务如果出现重启或串口输出乱码很可能和内存碎片化有关。可以在代码里定期打印ESP.getFreeHeap()观察剩余堆内存的变化趋势。Serial.print(Free heap: ); Serial.println(ESP.getFreeHeap());10.3 降低资源占用的思路如果资源紧张可以通过调整耗时操作来降低压力。比如降低 Wi-Fi 广播功率、减少串口输出、将传感器采样周期拉长到 100ms 以上、HTTP 超时设置合理且不要并发请求、把不用的蓝牙功能关闭。节能方面机器人待机时可以进入 sleep 模式唤醒后再恢复 Wi-Fi 和电机控制逻辑。11. 常见问题与排查方法| 问题现象 | 可能原因 | 排查方式 | 解决方案 | | --- | --- | --- | --- | | 烧录时报 failed to install platformdownload failed | 板卡包下载失败网络问题 | 查看开发板管理器下载进度和报错内容 | 重试更换网络环境手动下载板卡包后离线安装 | | 烧录时报连接失败提示 timeout waiting for packet | 串口被占用或 BOOT 模式未进入 | 关闭其他串口软件按住 BOOT 再点上传 | 松开串口占用软件进入下载模式后重试 | | 电脑识别不到 COM 口 | 缺少 USB 串口驱动 | 查看设备管理器是否有未知设备 | 安装 CP2102 或 CH340 驱动 | | 串口监视器输出乱码 | 波特率不对 | 检查串口监视器波特率 | 设置为 115200 | | 电机不转 | 电源不足、接线错误、没共地 | 检查 LED 指示灯用万用表测电压 | 确认共地检查 IN 引脚逻辑检查电池电压 | | 电机只能转一个方向 | 某一侧 IN 引脚接线错误 | 串口打印状态对比接线表 | 重新核对 GPIO 与驱动引脚连接 | | Wi-Fi 连接失败 | 热点名或密码错误 | 检查代码中 SSID 和密码 | 确认无误后重新烧录 | | HTTP 请求返回 404 | 网关路径不对 | 在浏览器访问网关地址 | 检查 serverUrl 和 Flask 路由是否匹配 | | HTTP 请求返回 500 | 网关调用大模型失败 | 查看网关终端报错 | 检查 API Key、模型名、网络连接 | | AI 对话 JSON 解析失败 | 返回内容过大或格式异常 | 打印原始 HTTP 返回内容 | 增加 JSON 文档容量或检查网关返回格式 | | 长期运行后重启 | 内存不足或电压不稳 | 打印 ESP.getFreeHeap() | 优化内存使用更换更稳定的电源 | | 烧录成功但上电无日志 | 开发板复位失败或 TX/RX 接线异常 | 按一下 RST 按键 | 手动复位开发板 |12. 最佳实践与使用建议12.1 开发流程建议第一次做这个项目不要试图一次性把所有功能都接好。推荐的顺序是先点亮板子再跑串口再测电机再加超声波再连 Wi-Fi最后接 AI 网关。每一步都在串口监视器上留下明确的打印信息这样后期排查时能通过日志快速判断哪一步出了问题。12.2 工程管理建议把模型文件、代码、接线图和注意事项分开管理不是模型类项目的专利嵌入式项目同样适用。给小车建立一份简单的纸质或电子文档记录 GPIO 引脚分配、供电方案、传感器型号和固件版本。当你后续换板子或改接线时这份文档能节省大量时间。电源设计要格外注意。电机启动瞬间电流很大如果 ESP32 和电机共用同一个电源容易造成电压跌落导致开发板重启。建议电机用独立电池供电ESP32 用 USB 供电或者通过带稳压功能的电源模块单独供电。接线前先检查电源极性和电压范围防止烧毁板子。12.3 合规和安全提醒如果设备中加入了摄像头、麦克风等采集功能必须注意不要未经许可采集他人图像或声音不要在公共区域长时间录制。使用大模型 API 时不要向接口发送敏感个人信息和商业机密。项目用于展示或开源时应去除 API Key 等敏感配置。机器人运动时注意周围人和物品的安全测试环境要留出足够空间防止撞到人或动物。13. 总结与下一步这个项目最值得尝试的点在于它用一个几十元的 ESP32 主控串起了“硬件控制 网络通信 AI 对话”三条技术线。最先应该验证的功能是电机控制和超声波测距因为这两个功能最能反映硬件接线是否正确也是机器人移动的基础。最容易踩的坑是供电不足其次是烧录时板卡驱动和端口选择问题建议优先消化这两块内容。后续可以继续扩展的方向不少给 ESP32 机器人加一块 OLED 屏幕显示表情用 WS2812 灯带做机甲氛围灯接入语音识别模块实现语音对话或者通过 Micro-ROS 把机器人接入 ROS2 系统升级为真正的自主导航平台。整个项目可以一直从入门玩到进阶值得先收藏备用等硬件到手就可以直接开搞。
返回列表