1172浏览
查看: 1172|回复: 1

[ESP8266/ESP32] 使用Arduino IDE 2.0开发ESP32摄像头模块

[复制链接]
本帖最后由 贾森 于 2024-2-7 16:59 编辑

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官网(https://www.arduino.cc/en/software),下载适合操作系统的版本。

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

以常规方式执行安装即可。如有疑问,可以查阅官网Arduino安装指南(https://docs.arduino.cc/software/ide-v2/tutorials/getting-started/ide-v2-downloading-and-installing)。

安装ESP32扩展包

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

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

2. 将以下URL地址复制并粘贴到Additional boards manager URLs(多个URL以逗号分隔)。
  1. https://espressif.github.io/arduino-esp32/package_esp32_index.json
复制代码

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

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

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

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

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

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

编译并上传摄像头样例

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

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

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

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

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

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

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

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

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

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

  1. //#include "camera_pins.h"
  2. // Node-Matrix Camera-1 pin assignment
  3. #define PWDN_GPIO_NUM  -1
  4. #define RESET_GPIO_NUM   -1
  5. #define XCLK_GPIO_NUM    0
  6. #define SIOD_GPIO_NUM    19
  7. #define SIOC_GPIO_NUM    18
  8. #define Y9_GPIO_NUM        38
  9. #define Y8_GPIO_NUM        37
  10. #define Y7_GPIO_NUM        36
  11. #define Y6_GPIO_NUM        25
  12. #define Y5_GPIO_NUM        34
  13. #define Y4_GPIO_NUM        13
  14. #define Y3_GPIO_NUM        12
  15. #define Y2_GPIO_NUM         35
  16. #define VSYNC_GPIO_NUM  5
  17. #define HREF_GPIO_NUM     39
  18. #define PCLK_GPIO_NUM     26
复制代码

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

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

  1. // ===========================
  2. // Enter your WiFi credentials
  3. // ===========================
  4. const char* ssid = "my_wifi_ssid";
  5. const char* password = "my_wifi_password";
复制代码

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

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

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

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

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

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

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

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

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

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

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

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

后续

摄像头样例的http服务端代码文件为app_httpd.cpp,该文件相对复杂,我们在GitHub上提供了一个简化样例(https://github.com/nodematrix/ESP32CameraDemo)。

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

原文:https://www.nodematrix.cn/programming-esp32-camera-with-arduino-ide

木子呢  管理员

发表于 2024-2-8 10:46:26

好分享!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail