Arduino 上手教程
Arduino IDE 安装:参考 Arduino IDE 安装教程,完成 IDE 安装。
板管理安装:打开 Arduino IDE,点击菜单栏中的文件
>首选项
(Windows)或Arduino IDE
>首选项
(macOS)。
添加板管理 URLs
框中输入:https://espressif.github.io/arduino-esp32/package_esp32_index.json
esp32
,安装最新的esp32 by Espressif Systems
最新版本。Unit CamS3-5MP 有两个硬件版本,我们需要先跑一段代码检测硬件版本。
#include <Wire.h>
#define SIOD_GPIO_NUM 17
#define SIOC_GPIO_NUM 41
void setup() {
Serial.begin(115200);
Wire.begin(SIOD_GPIO_NUM, SIOC_GPIO_NUM);
Serial.println("\n####################");
Serial.println("Start checking Unit CamS3-5MP hardware version");
}
void loop() {
byte version = readRegister(0x1f, 0x0200);
if (version == 0x01) {
Serial.println("New Version (0x01)");
} else if (version == 0xFF) {
Serial.println("Old Version (0xFF)");
} else {
Serial.print("Unknown Version: 0x");
Serial.println(version, HEX);
}
delay(1000);
}
byte readRegister(byte slaveAddr, unsigned int regAddr) {
Wire.beginTransmission(slaveAddr);
Wire.write((byte)(regAddr >> 8));
Wire.write((byte)(regAddr & 0xFF));
Wire.endTransmission(false);
Wire.requestFrom(slaveAddr, (byte)1);
if (Wire.available()) {
return Wire.read();
}
return 0x00;
}
将以上代码粘贴进 Arduino IDE,选择esp32
板管理中的M5UnitCAMS3
开发板,点击左上角的上传按钮。
上传完成后打开串口监视器,查看程序的输出。
若输出New Version (0x01)
则为新版本硬件,输出Old Version (0xFF)
则为旧版本硬件。
在侧边栏的板管理中,安装esp32 by Espressif Systems
的3.1.0
版本。
下载 libespressif__esp32-camera.zip,解压得到libespressif__esp32-camera.a
文件,放入以下路径并替换掉原有的同名文件:
Windows
C:\Users\[Username]\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-083aad99-v2\esp32s3\lib\
macOS
/Users/[Username]/Library/Arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.3-083aad99-v2/esp32s3/lib/
Linux
/home/[Username]/.arduino15/packages/esp32/tools/esp32-arduino-libs/idf-release_v5.3-083aad99-v2/esp32s3/lib/
下载 CameraWebServer.zip,解压并打开其中的CameraWebServer.ino
,填入 Unit CamS3-5MP 要连接的 Wi-Fi 名称及密码。
在 Arduino IDE 的菜单栏 - 工具中修改以下配置:
选择设备对应的端口,编译并上传程序后,串口监视器中将会输出一个 IP 地址。如果没有输出,可以重新插拔数据线、检查串口监视器波特率是否为 115200。
在与 Unit CamS3-5MP 同一局域网的设备上,用浏览器打开程序输出的 IP 地址(包含前面的 http://
),点击 Get Still 即可获取一张图片,点击 Start Stream 即可查看实时图像流(视频)。