Skip to content

ESP32 Rover

概述

ESP32 Rover 是基于ESP32 Wi-Fi摄像头模块 Camera-M,并预装 Node-Camera 固件实现的视频小车套件。ESP32 Rover的特点是它的视频控制界面由固件配置实现,使用浏览器访问,不需要安装任何App。并且,可以通过配置(无需编程)进行扩展,实现用户自定义功能的视频小车。

功能示意图:(Functional Diagram)

访问小车界面,请参考 启动说明

配件清单

  1. Camera-M Module x 1
  2. FFC Adapter Board x 1
  3. FFC Hub Board x 1
  4. Rover Driver Board x 1
  5. DRV8833 Motor Driver Module x 1
  6. FFC连接线 1.0mm pitch 14-pin 40mm x 1
  7. 锂电池 3.7V 700mAh x 1
  1. 接插件
    • PH 2.0mm 直插母头 x 1
    • PH 2.0mm 弯插母头 x 2
    • 2.54mm 排针 & 排母 4P x 4
    • 2.54mm 排针 & 排母 8P x 1
    • 2.54mm 排针 & 排母 10P x 1
    • 2.54mm 排针 6P x 2
  1. 3D打印件
    • 底盘 x 1
    • 车体 x 1
    • 驱动轮 x 2
    • 从动轮 x 2
  2. 装配紧固件 (Fasteners)
    • 尼龙螺丝 M2.5 x 8mm x 4
    • 尼龙螺丝 M2.5 x 5mm x 4
    • 尼龙垫片 M2.5 x 4
    • 六角尼龙柱 M2.5 x 8mm x 4
  1. 驱动轮配件
    • N20减速电机 x 2
    • 螺丝 M1.6 x 4mm x 4
    • PH 2.0mm 连接线 x 2
  2. 从动轮配件
    • 轴承 684ZZ x 2
    • 台阶螺丝 (Step Screw) Φ4 x 8mm x M3 x 2
    • 螺母 M3 x 2
  3. 履带O型圈 Φ65 x Φ3 x 2

为降低组装难度,部分配件已完成焊接或预装配:

  • 11 驱动轮配件:N20减速电机与PH连接线已焊接。
  • 12 从动轮配件:684ZZ轴承预装到从动轮;M3螺母预装到底盘。

3D打印模型

小车结构使用3D打印实现,STL模型在 这里下载。压缩文件包含以下模型:

模块说明

Camera-M 摄像头模块通过 FFC Adapter 由FFC软排线连接到 FFC Hub 底板。底板为摄像头模块供电,并转接模块的引出端口到小车电机驱动板(Rover Driver)。电机驱动板使用DRV8833通用驱动模块,可以驱动两路直流电机,每路电机由两个GPIO引脚控制正反转:

  • M1电机 - GPIO22,GPIO23。
  • M2电机 - GPIO21,GPIO32。

模块引脚与功能总览:(Module Pinout and Function Overview)

组装说明

套件组装需要一些基础焊接操作,参考视频:

固件配置

Node-Camera固件支持多种小车驱动模式,ESP32 Rover使用左右履带轮模式,只需对固件进行相应配置,即可在手机上使用浏览器访问视频控制界面遥控小车,并查看视频。通过配置,还可以在控制界面添加自定义按钮,实现扩展功能。例如添加一个抓拍按钮,实现拍摄照片并保存到SD卡的功能。或通过双向串口透传与Arduino模块通信实现扩展。固件的详细信息请参考 Node-Camera使用说明

以下将介绍与ESP32 Rover相关的固件配置。

启动

在默认状态下,打开小车电源后,固件将启动Wi-Fi SoftAP模式,提供2.4GHz接入点服务。使用手机搜索Wi-Fi网络,找到以Node-开头的网络名称并连接(密码:nodenode)。然后打开浏览器,在地址栏输入192.168.4.1并访问,即可进入Node-Camera摄像头界面(默认主页)。

Camera

点击顶部导航链接 Console ,打开视频控制台。控制台左侧 按钮可开关视频,右侧 摇杆控制小车运动。

Console

ESP32 Rover小车未配置舵机云台,界面云台控制 按钮无效。

界面设置

可以在系统设置(Settings)界面设置默认主页(Home Page)为视频控制台(Console),如此,浏览器访问192.168.4.1将默认打开视频控制台。

Settings - General

为配合手机屏幕尺寸,可以在摄像头(Camera)界面设置合适的图像分辨率(Resolution),或选择自定义窗口(Custom Window)来指定图像宽高比,使控制台界面更匹配手机屏幕显示。具体说明请参考 摄像头设置

Camera - Custom Window

SD卡

固件在系统设置界面默认启用了SD卡支持。关于如何控制抓拍并将照片保存到SD卡,请参考 抓拍设置

Settings - Capture

电机驱动

ESP32 Rover小车使用左右两个履带轮驱动,分别由GPIO22,GPIO23(左轮)和GPIO21,GPIO32(右轮)输出PWM信号来控制电机转速。在系统设置界面的外设(Peripherals)标签组定义了这些PWM端口。具体说明请参考 外设设置

Settings - Peripherals

系统设置界面的控制台(Console)标签组定义了小车驱动模式,并将 Peripherals 中定义的PWM端口绑定到与界面摇杆关联的直流电机。

Settings - Console

配置说明:

  • "joy_mode": 1 - 定义左右两轮驱动模式(Dual-Wheels)。
  • "left": {...} - 定义左轮驱动直流电机并绑定PWM端口(GPIO22,GPIO23)。
  • "right": {...} - 定义右轮驱动直流电机并绑定PWM端口(GPIO21,GPIO32)。

通过 Console 标签组还可以配置丰富的自定义功能,详细说明请参考 控制台设置

默认设置

ESP32 Rover的默认配置保存在预置(Presets)标签组中,设置项名称为“EPS32 Rover”。当需要恢复默认设置时,请选择该预置项并另存为(Save As)系统设置“System”即可。具体说明请参考 预置说明

Settings - Presets

注意,恢复ESP32 Rover默认设置会将小车重置为默认可工作状态,不同于 Factory Reset(清除所有设置)。

扩展

ESP32 Rover小车预留了3个可供扩展的GPIO端口(GPIO4,GPIO27,GPIO33)以及UART和I2C接口,这些端口由 FFC Hub 底板引出。

  • GPIO端口可用于控制自定义外设(如LED、蜂鸣器、继电器、舵机等)其中GPIO33支持ADC输入。
  • UART接口可与外置控制器(如Arduino)通信,Node-Camera固件支持双向串口透传(UART ⇌ WebSocket)可实现灵活的功能扩展并与控制台界面集成。
  • I2C接口可连接PCA9685模块以扩展PWM端口。Node-Camera固件内置PCA9685模块支持。

更多扩展功能请参考 系统设置接口与指令

ESP32 Rover车身顶部设置有乐高兼容的连接孔(半高),可与乐高科技件连接以扩展结构。顶部还预留了可去除的开孔挡板,用于外部电路与 FFC Hub 底板端口连接,方便在车身上挂载扩展电路。

结合扩展端口和Node-Camera固件的灵活配置,你可以快速实现自定义功能的视频小车。

资源