使用Arduino IDE 2.0开发ESP32摄像头模块

Arduino IDE是创客常用的开发平台。通过安装扩展包,Arduino IDE可以支持不同架构的开发板,包括流行的ESP系列开发板。新的Arduino IDE 2.0使用与经典Arduino IDE不同的基础平台,具备更多现代IDE特征,有更好的语法高亮显示,自动完成,代码导航,在线调试等功能。Arduino IDE 2.0扩展包的安装方式与经典IDE类似,经典版用户可以平滑切换到新的Arduino IDE 2.0。

安装Arduino IDE 2.0

前往Arduino官网,下载适合操作系统的版本。

以常规方式执行安装即可。如有疑问,可以查阅官网Arduino安装指南

安装ESP32扩展包

1. 运行Arduino IDE 2.0,选择菜单File > Preferences…

2. 将以下URL地址复制并粘贴到Additional boards manager URLs(多个URL以逗号分隔)。

https://espressif.github.io/arduino-esp32/package_esp32_index.json

Arduino ESP32扩展包由乐鑫(Espressif)官方维护:https://espressif.github.io/arduino-esp32

3. 点击左侧边栏的开发板管理图标,或选择菜单Tools > Board > Boards Manager…,搜索esp32,找到esp32 by Espressif Systems,点击INSTALL安装。

安装完成后,在菜单Tools > Board中可以看到esp32选项。

编译并上传摄像头样例

1. 将开发板连接到电脑USB接口。若开发板未集成USB串口,则需要通过一个USB串口适配器连接。

2. 点击顶部工具栏的开发板下拉列表,选择Select other board and port…打开开发板选择对话框。

3. 搜索esp32,找到ESP32 Wrover Module并选中,同时指定连接到开发板的串口。

ESP32 Wrover Module是esp32开发板通用选项,对具体的开发板可以选择对应型号(如果在列表中)。

将开发板连接到电脑USB接口后,系统会自动识别串口,并显示在PORTS列表。若列表中没有显示对应的串口,可尝试手动安装USB串口相应的驱动程序。

4. 选择菜单File > Examples > ESP32 > Camera > CameraWebServer打开摄像头样例项目。

5. 切换到项目CameraWebServer.ino文件。在代码的 “Select camera mode” 部分,依照开发板型号选择对应定义项(去除注释),以指定在camera_pins.h文件中预定义的摄像头引脚。也可以自行定义摄像头引脚,以Camera-1开发板为例,自定义引脚如下:

C++
//#include "camera_pins.h"

// Node-Matrix Camera-1 pin assignment
#define PWDN_GPIO_NUM  -1
#define RESET_GPIO_NUM -1
#define XCLK_GPIO_NUM  0
#define SIOD_GPIO_NUM  19
#define SIOC_GPIO_NUM  18
#define Y9_GPIO_NUM    38
#define Y8_GPIO_NUM    37
#define Y7_GPIO_NUM    36
#define Y6_GPIO_NUM    25
#define Y5_GPIO_NUM    34
#define Y4_GPIO_NUM    13
#define Y3_GPIO_NUM    12
#define Y2_GPIO_NUM    35
#define VSYNC_GPIO_NUM 5
#define HREF_GPIO_NUM  39
#define PCLK_GPIO_NUM  26

指定开发板型号时,应注意只有一项定义被选中,其余均为注释状态。自定义引脚时,可以注释对camera_pins.h文件的引用。

6. 在CameraWebServer.ino文件的 “Enter you WiFi credentials” 部分,修改ssid与password为真实网络配置。

C++
// ===========================
// Enter your WiFi credentials
// ===========================
const char* ssid = "my_wifi_ssid";
const char* password = "my_wifi_password";

7. 根据开发板的硬件配置在Tools菜单中设定相应参数。以Camera-1开发板为例,参数如下:

参数说明见Espressif官方文档:
https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html

8. 保存项目。点击工具栏的上传按钮,开始编译代码并上传到开发板。依据电脑性能差异,这个过程可能需要数秒至数十秒时间。

对支持自动上传功能的开发板(例如Node-Matrix Camera-1),这个过程不需要其他操作,等待完成即可。不支持自动上传的开发板,需要将开发板手动切换到上传模式(bootloader mode),具体操作如下:

  1. 使开发板的GPIO_0引脚处于低电平状态。可通过按下板上标记为BOOT的按钮,或将GPIO_0引脚连接到GND实现。
  2. 在保持GPIO_0为低电平状态下,按下板上标记为RST的按钮,或让开发板重新上电复位。
  3. 此时开发板即进入上传模式,再点击IDE工具栏的上传按钮即可。

9. 点击工具栏右侧串口监视器按钮,打开串口监视器。复位开发板,串口监视器将显示开发板输出的启动信息。

如果在启动信息的末尾持续输出 . . . . . . ,表示网络无法连接,请检查第6点网络配置是否正确。

10. 在启动信息中找到http服务的URL地址(最后一行),打开浏览器,在地址栏输入该URL,即可访问摄像头Web页面。

后续

摄像头样例的http服务端代码文件为app_httpd.cpp,该文件相对复杂,我们在GitHub上提供了一个简化样例

以上是如何使用Arduino IDE 2.0开发ESP32摄像头模块的快速指南。可以在扩展包的样例库(File > Examples > ESP32)查看更多关于ESP32的使用方法。

留下评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注