ESP32-S3-GEEK 是一款基于 ESP32-S3R8 设计的以太网开发板,具备出色的 Wi-Fi 和蓝牙无线连接功能,拥有更可靠且高效的有线以太网连接,且支持 PoE 供电 (仅 PoE 版本)。板载摄像头接口,兼容 OV2640、OV5640 等主流摄像头,方便进行图像和视频采集。开发板还预留了 Pico 兼容接口,支持部分树莓派 Pico 扩展板,并依托其丰富的生态和开源资源,用户可以快速灵活地进行二次开发,可广泛应用于物联网、图像采集、智能家居及人工智能项目。

| 1、ESP32-S3R8 2、W25Q128 3、W5500 4、H1102NLT 5、JW5060 6、USB Type-C 接口 7、以太网接口 | 8、PoE 接口 9、摄像头接口 10、IPEX 1 代天线接口 11、陶瓷天线 12、Micro SD 卡槽 | 


本章介绍 Arduino 环境搭建,包括 Arduino IDE、ESP32板管理、相关库的安装,程序编译下载及示例程序测试,帮助用户掌握开发板,便于二次开发。
打开首选项在 File->Preferences 下 Settings 界面的 Additional boards manager URLs 处填写下面链接后保存
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json




| 库名称 | 说明 | 库安装要求 | 
|---|---|---|
| ESP32-BLE-Keyboard | ESP32蓝牙键盘库 | “在线”或“离线”安装 | 
| ETHClass | ESP32以太网库 | “在线”或“离线”安装 | 
| 序号 | 示例程序 | 说明 | 依赖库 | 
|---|---|---|---|
| 1 | IO_Test | 基础例程:GPIO引脚高低电平控制 | - | 
| 2 | SD_Card | 基础例程:SD卡加载,读写操作 | - | 
| 3 | WiFi_AP | 基础例程:设置为AP热点,允许其他WiFi设备接入联网 | |
| 4 | WiFi_STA | 基础例程:设置为STA模式,可接入WiFi路由网络进行联网,并可实时控制GPIO口的电平输出 | |
| 5 | BLE_Keyboard | 基础例程:蓝牙键盘功能演示 | ESP32-BLE-Keyboard | 
| 6 | ETH_Web_CAM | 综合例程:通过以太网连接,实现网络摄像头功能 | ETHClass | 

【程序说明】
【硬件连接】

【代码分析】
1.GPIO 引脚设置:程序首先定义了 25 个 GPIO 引脚,并在 setup() 函数中将它们初始化为输出模式。所有引脚在开始时都被设置为低电平(关闭状态)。
#define NUM_GPIO 25
// Define GPIO pins
const int gpio_pin[NUM_GPIO] = {21, 17, 16, 18, 15, 3, 2, 1, 0, 44, 43, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 47, 48};2. GPIO 控制循环:
loop() 函数中,程序会依次将每个 GPIO 引脚打开(设置为高电平),延时300毫秒,然后再关断引脚(设置为低电平)。3. 打印输出:程序通过 USB 口输出每个 GPIO 引脚的状态信息,提示该引脚是处于高电平(开启)还是低电平(关闭)状态。
void loop() {
  // Turn on each GPIO one by one
  for (current_gpio = 0; current_gpio < NUM_GPIO; current_gpio++) {
      digitalWrite(gpio_pin[current_gpio], HIGH); // Set GPIO pin to HIGH (turn on)
      printf("GPIO %d set to HIGH.\n", gpio_pin[current_gpio]); // Print GPIO state
      delay(300); // Delay for 300ms
  }
  // Turn off each GPIO one by one
  for (current_gpio = 0; current_gpio < NUM_GPIO; current_gpio++) {
      digitalWrite(gpio_pin[current_gpio], LOW); // Set GPIO pin to LOW (turn off)
      printf("GPIO %d set to LOW.\n", gpio_pin[current_gpio]); // Print GPIO state
      delay(300); // Delay for 300ms
  }【运行效果】
程序烧录完成后,设备的运行效果如下:

【程序说明】
【硬件连接】
| SPI接口 | ESP32-S3-ETH | 
|---|---|
| CS (SS) | GPIO4 | 
| DI (MOSI) | GPIO6 | 
| DO (MISO) | GPIO5 | 
| SCK (SCLK) | GPIO7 | 

【代码分析】
1. setup()
SPI.begin() 初始化ESP32的SPI总线,指定用于SD卡通信的引脚。SD.begin() 尝试挂载SD卡,成功时输出卡的大小。writeFileToSD():创建并写入文件。listFilesOnSD():扫描并打印SD卡根目录下的所有文件。readFileFromSD():打开并读取 waveshare.txt 文件的内容。2. writeFileToSD()
waveshare.txt 文件,并写入文本 "Hello world from Waveshare"。3. listFilesOnSD()
openNextFile() 函数依次打开目录中的每个文件并打印它们的名称,最后关闭根目录文件。4. readFileFromSD(const char *filePath)
waveshare.txt。file.read() 逐字节读取内容,并通过串口输出文件的内容,最后关闭文件。【运行效果】
程序烧录完成后,设备的运行效果如下:

【程序说明】
【硬件连接】
【代码分析】
1. setup()
WiFi.softAP() 设置 AP,指定网络名称(SSID)为"ESP32-S3-ETH",密码为"88888888"。WiFi.onEvent() 注册 WiFi 事件处理程序,用于处理客户端连接和断开连接。2. formatMacAddress()
XX:XX:XX:XX:XX:XX)。3. WiFiEvent()
printDeviceIP() 获取并显示分配的 IP 地址。4. printDeviceIP(const uint8_t* mac)
esp_wifi_ap_get_sta_list() 和 tcpip_adapter_get_sta_list() 获取连接设备列表。0.0.0.0),则打印 IP 地址。否则,表示 DHCP 尚未分配 IP 地址。5. loop()
【运行效果】
程序烧录完成后,设备的运行效果如下:

【程序说明】
【硬件连接】

【代码分析】
1. setup()
2. loop()
【运行效果】
程序烧录完成,设备的运行效果如下:


【程序说明】
| 摄像头接口 | ESP32-S3-ETH GPIO | 
|---|---|
| VSYNC | GPIO1 | 
| HREF | GPIO2 | 
| XCLK | GPIO3 | 
| PCLK | GPIO39 | 
| SIOD (SDA) | GPIO48 | 
| SIOC (SCL) | GPIO47 | 
| D7 | GPIO18 | 
| D6 | GPIO15 | 
| D5 | GPIO38 | 
| D4 | GPIO40 | 
| D3 | GPIO42 | 
| D2 | GPIO46 | 
| D1 | GPIO45 | 
| D0 | GPIO41 | 
| 网口接口 | ESP32-S3-ETH GPIO | 
|---|---|
| MISO | GPIO12 | 
| MOSI | GPIO11 | 
| SCLK | GPIO13 | 
| CS | GPIO14 | 
| RST | GPIO9 | 
| INT | GPIO10 | 
该程序通过ESP32-S3-ETH模块使用以太网连接,并结合摄像头模块实现图像采集和流式传输。程序将配置摄像头引脚并启动摄像头服务器,使用户可以通过以太网实时访问摄像头的拍摄内容。初始化过程中,程序会设置摄像头的各种参数,包括分辨率、像素格式等,并通过网络事件监控以太网连接的状态。
【硬件连接】

【代码分析】
1. setup()
2. startCameraServer()
3. 事件处理函数 WiFiEvent(WiFiEvent_t event)
【运行效果】

可长按BOOT按键,同时按下RESET,然后松开RESET,再松开BOOT按键,此时模块可进入下载模式,可解决大部分无法下载的问题。
如下图所示,默认焊接的是垂直0R的电阻,若要切换为外部天线,则须把该0R电阻改焊为水平的位置:
周一-周五(9:30-6:30)周六(9:30-5:30)
手机:13434470212
邮箱:services04@spotpear.cn
QQ:202004841
