
5 / 7 / 8 / 10.1 寸 DSI 屏幕。OV5647 等摄像头。| 模块 | 器件 / 功能 | 接口 | 地址 / 参数 | GPIO / 信号 |
|---|---|---|---|---|
| LCD | MIPI-DSI 显示屏 | MIPI-DSI | 2-lane;支持 5 / 7 / 8 / 10.1 英寸面板配置 | LCD 复位未连接;背光通过共享 I2C 控制 |
| 触摸 | GT911 电容触摸 | I2C | 7-bit 地址 0x5D / 0x14 | SDA=GPIO7,SCL=GPIO8;RST / INT 未连接 |
| LCD 背光 | 背光控制器 | I2C | 7-bit 地址 0x45;亮度寄存器 0x96 | SDA=GPIO7,SCL=GPIO8 |
| 摄像头 | MIPI-CSI 摄像头接口 | MIPI-CSI + SCCB | 2-lane;摄像头型号和地址以对应模块资料为准 | SCCB 复用 GPIO7 / GPIO8;XCLK / RESET 未连接 |
| 音频 | ES8311 Codec | I2C + I2S | 7-bit I2C 地址 0x18;8-bit 写地址 0x30;单路模拟麦克风 | I2C:SDA=GPIO7,SCL=GPIO8;MCLK=GPIO13,SCLK=GPIO12,WS=GPIO10,DOUT=GPIO9,DIN=GPIO11 |
| 功放控制 | 板载扬声器功放使能 | GPIO | 高电平打开 | GPIO53 |
| TF 卡 | SDMMC 4-bit | SDMMC | 4-bit 模式 | CLK=GPIO43,CMD=GPIO44,D0=GPIO39,D1=GPIO40,D2=GPIO41,D3=GPIO42;电源控制=GPIO45 |
| ESP32-C5 | ESP-Hosted 通信 | SDIO | Wi-Fi 6 / Bluetooth 5(LE)协处理器 | CLK=GPIO18,CMD=GPIO19,D0=GPIO14,D1=GPIO15,D2=GPIO16,D3=GPIO17,RESET=GPIO54 |
使用 ESP32-P4-WIFI6-DB 的 GPIO 接口时,需要注意引脚图中标注的复用功能。部分 GPIO 已连接板载外设,作为普通 GPIO 使用前应确认对应外设未启用。

下表列出板上电路已占用的 GPIO 及已引出到扩展口的引脚。
| GPIO | 信号名 | 连接到 | 备注 |
|---|---|---|---|
| GPIO0 | GPIO0 | XTAL_32K_N | XTAL_32K |
| GPIO1 | GPIO1 | XTAL_32K_P | XTAL_32K |
| GPIO2 | GPIO2 | 预留焊盘 / 排针 | 扩展口 GPIO2 |
| GPIO3 | GPIO3 | 预留焊盘 / 排针 | 扩展口 GPIO3 |
| GPIO4 | GPIO4 | 预留焊盘 / 排针 | 扩展口 GPIO4 |
| GPIO5 | GPIO5 | 预留焊盘 / 排针 | 扩展口 GPIO5 |
| GPIO6 | GPIO6 | ESP32-C5 模组 | |
| GPIO7 | I2C SDA | ES8311、GT911、LCD 背光、摄像头 SCCB、扩展排针 | 共享 I2C SDA |
| GPIO8 | I2C SCL | ES8311、GT911、LCD 背光、摄像头 SCCB、扩展排针 | 共享 I2C SCL |
| GPIO9 | I2S DOUT | ES8311 DSDIN | 音频播放数据 |
| GPIO10 | I2S WS | ES8311 LRCK | 音频帧同步 |
| GPIO11 | I2S DIN | ES8311 ASDOUT | 音频采集数据 |
| GPIO12 | I2S SCLK | ES8311 SCLK | 音频位时钟 |
| GPIO13 | I2S MCLK | ES8311 MCLK | 音频主时钟 |
| GPIO14 | GPIO14 | ESP32-C5 模组 | C5 SDIO D0 |
| GPIO15 | GPIO15 | ESP32-C5 模组 | C5 SDIO D1 |
| GPIO16 | GPIO16 | ESP32-C5 模组 | C5 SDIO D2 |
| GPIO17 | GPIO17 | ESP32-C5 模组 | C5 SDIO D3 |
| GPIO18 | GPIO18 | ESP32-C5 模组 | C5 SDIO CLK |
| GPIO19 | GPIO19 | ESP32-C5 模组 | C5 SDIO CMD |
| GPIO20 | GPIO20 | 预留焊盘 / 排针 | 扩展口 GPIO20 |
| GPIO21 | GPIO21 | 预留焊盘 / 排针 | 扩展口 GPIO21 |
| GPIO22 | GPIO22 | 预留焊盘 / 排针 | 扩展口 GPIO22 |
| GPIO23 | GPIO23 | 预留焊盘 / 排针 | 扩展口 GPIO23 |
| GPIO24 | GPIO24 | 预留焊盘 / 排针 | GPIO24 / USB1P1_N0 |
| GPIO25 | GPIO25 | 预留焊盘 / 排针 | GPIO25 / USB1P1_P0 |
| GPIO26 | GPIO26 | 预留焊盘 / 排针 | GPIO26 / USB1P1_N1 |
| GPIO27 | GPIO27 | 预留焊盘 / 排针 | GPIO27 / USB1P1_P1 |
| GPIO28 | GPIO28 | 预留焊盘 / 排针 | 扩展口 GPIO28 |
| GPIO29 | GPIO29 | 预留焊盘 / 排针 | 扩展口 GPIO29 |
| GPIO30 | GPIO30 | 预留焊盘 / 排针 | 扩展口 GPIO30 |
| GPIO31 | GPIO31 | 预留焊盘 / 排针 | 扩展口 GPIO31 |
| GPIO32 | GPIO32 | 预留焊盘 / 排针 | 扩展口 GPIO32 |
| GPIO33 | GPIO33 | 预留焊盘 / 排针 | 扩展口 GPIO33 |
| GPIO34 | GPIO34 | 焊点 | Strapping pin |
| GPIO35 | GPIO35 | BOOT key | Strapping pin |
| GPIO36 | GPIO36 | 焊点 | Strapping pin;外部 3.3 V 上拉 |
| GPIO37 | UART0_TXD | CH343P | UART0 TX;不建议作为普通 GPIO 使用 |
| GPIO38 | UART0_RXD | CH343P | UART0 RX;不建议作为普通 GPIO 使用 |
| GPIO39 | SD_D0 | TF 卡 | SDMMC 4-bit 数据线 |
| GPIO40 | SD_D1 | TF 卡 | SDMMC 4-bit 数据线 |
| GPIO41 | SD_D2 | TF 卡 | SDMMC 4-bit 数据线 |
| GPIO42 | SD_D3 | TF 卡 | SDMMC 4-bit 数据线 |
| GPIO43 | SD_CLK | TF 卡 | SDMMC 时钟线 |
| GPIO44 | SD_CMD | TF 卡 | SDMMC 命令线 |
| GPIO45 | SD_VDD_EN | TF 卡电源控制 | 低电平打开 |
| GPIO46 | GPIO46 | 预留焊盘 / 排针 | 扩展口 GPIO46 |
| GPIO47 | GPIO47 | 预留焊盘 / 排针 | 扩展口 GPIO47 |
| GPIO48 | GPIO48 | 预留焊盘 / 排针 | 扩展口 GPIO48 |
| GPIO49 | GPIO49 | 预留焊盘 / 排针 | 扩展口 GPIO49 |
| GPIO50 | GPIO50 | 预留焊盘 / 排针 | 扩展口 GPIO50 |
| GPIO51 | GPIO51 | 预留焊盘 / 排针 | 扩展口 GPIO51 |
| GPIO52 | GPIO52 | 预留焊盘 / 排针 | 扩展口 GPIO52 |
| GPIO53 | PA_CTRL | NS4150B CTRL | 功放使能,高电平有效 |
| GPIO54 | C5_CHIP_PU | ESP32-C5 使能 | 高有效,低复位 |

本章节包含以下内容,请按需阅读:
ESP32-P4-WIFI6-DB 的 Arduino 示例以 Arduino-ESP32 3.3.11 为基础。板载 ESP32-P4 是 Arduino 工程的编译目标,ESP32-C5 无线协处理器通过 ESP-Hosted/SDIO 连接到 ESP32-P4,不属于 Arduino 工程的编译目标。
运行显示、摄像头、音频或 SD 卡示例前,请先连接对应的板载或外接硬件,并按照示例 的前置条件安装库和配置文件。
初次接触 Arduino ESP32 开发,想要快速上手?我们为您准备了一套通用的 入门教程。
请注意:该教程使用 ESP32-S3-Zero 作为教学示例,所有硬件代码均基于其引脚布局。在动手实践前,建议您对照手中的开发板引脚图,确认引脚配置无误。
请参考 Arduino IDE 开发环境搭建教程 安装 Arduino IDE,并添加 ESP32 开发板支持。
3.3.11。示例代码和板卡定义按该版本整理,不要将本目录中的板卡文件与其他版本混用。examples/Arduino/esp32/variants/waveshare_esp32_p4_wifi6_db 复制到 Arduino-ESP32 安装目录下的 variants 目录。examples/Arduino/esp32/boards.txt 是基于 Arduino-ESP32 3.3.11 的完整 boards.txt 快照。如果 Arduino-ESP32 安装目录没有其他本地板卡修改,可以备份原文件 后替换;如果已经添加过其他板卡,只合并以 waveshare_esp32_p4_wifi6_db. 开头的条目。Waveshare ESP32-P4-WIFI6-DB。Arduino 示例程序位于 ESP32-P4-WIFI6-DB 示例仓库 的 examples/Arduino 目录。
连接开发板后,在 Arduino IDE 的“工具”菜单中选择开发板和串口。板卡定义中的默认参数如下:
| 选项 | 设置 |
|---|---|
| 开发板 | Waveshare ESP32-P4-WIFI6-DB |
| 编译目标 | esp32p4 |
| Flash 大小 | 32MB |
| 分区方案 | 32M Flash (13MB APP/6.75MB SPIFFS) |
| PSRAM | 板卡条目自动定义 BOARD_HAS_PSRAM |
| 上传模式 | UART0 |
| 串口监视器波特率 | 115200 |
开发板通过板载 CH343P USB 转串口芯片烧录程序和输出串口日志,上传模式保持默认的 UART0。更换分区方案或上传速度时,需要确认对应的示例内存需求和实际连接。 不同示例的串口输出均以 115200 为准。
示例目录为 examples/Arduino,当前包含以下示例:
| 示例目录 | 功能 | 主要依赖或硬件 |
|---|---|---|
board_check | 输出芯片、Flash、PSRAM 和堆内存信息 | 无需连接其他外设 |
gpio | 通过串口命令交互测试 GPIO | Arduino-ESP32 Console |
i2c | 扫描 I2C1 总线上的 7 位地址 | Wire1、I2C1 |
i2s | ES8311 单麦克风到单扬声器的音频回环 | ES8311、板载麦克风和扬声器 |
sdmmc | 以 4-bit 模式测试 microSD 文件读写 | 板载 microSD 卡 |
mipi_dsi | 显示 MIPI-DSI 色条并测试背光 | LCD 面板、背光控制器 |
mipi_csi | 将 OV5647 摄像头画面显示到 MIPI-DSI LCD | OV5647、LCD、ESP_Video |
board_check:板级信息检查打开 board_check/board_check.ino,编译并上传后,将串口监视器设置为 115200。示例会输出:
该示例不访问 LCD、摄像头、音频、SDMMC 或 ESP-Hosted,适合首先确认 Arduino 板卡定义是否生效。
gpio:GPIO 控制台打开 gpio/gpio.ino 并上传,串口监视器的行尾设置为 Newline。输入 help 可查看命令列表。
gpio read <pin>
gpio write <pin> <0|1>
gpio mode <pin> <in|out|in_pu|in_pd>
例如:
gpio mode 2 out
gpio write 2 0
gpio write 2 1
gpio mode 4 in_pu
gpio read 4
该板卡变体没有定义板载 LED_BUILTIN。测试 GPIO 时,不要占用正在被 MIPI 显示屏、触摸控制器、 摄像头、SDMMC、ESP-Hosted/SDIO 或音频编解码器使用的引脚。
i2c:I2C 地址扫描打开 i2c/i2c.ino 并上传。示例使用 Arduino Wire1 扫描 I2C1 总线,默认参数如下:
| 项目 | 参数 |
|---|---|
| SDA | GPIO7 |
| SCL | GPIO8 |
| 频率 | 400 kHz |
| 地址格式 | 7 位 I2C 地址 |
该总线由 ES8311、LCD 背光控制器、GT911 和摄像头 SCCB 等设备共享。扫描时不要同时运行其他会 初始化 I2C1 的示例。没有设备响应时,程序不会将其列为设备,这不表示扫描程序异常。
i2s:ES8311 音频回环打开 i2s/i2s.ino 并上传,使用板载麦克风和扬声器运行单声道音频回环。示例以 48 kHz、16-bit、 I2S 标准单声道格式运行,使用左声道 slot。
| 信号 | GPIO |
|---|---|
| MCLK | GPIO13 |
| BCLK | GPIO12 |
| LRCK | GPIO10 |
| DOUT | GPIO9 |
| DIN | GPIO11 |
| 功放使能 | GPIO53,高电平打开 |
ES8311 的 Arduino Wire1 控制地址为 7 位地址 0x18。如果串口没有输出 ES8311 ready,或出现 回环无声音的情况,请检查 I2C 地址、MCLK、功放使能以及麦克风和扬声器连接。麦克风与扬声器距离 过近时可能产生声学啸叫。
sdmmc:microSD 文件读写插入 microSD 卡后打开 sdmmc/sdmmc.ino 并上传。示例使用 4-bit SDMMC 接口挂载卡片,读取容量, 并对根目录的 /arduino_test.txt 文件执行写入和读取测试。
| 信号 | GPIO |
|---|---|
| CLK | GPIO43 |
| CMD | GPIO44 |
| D0-D3 | GPIO39、GPIO40、GPIO41、GPIO42 |
| 卡电源控制 | GPIO45,低电平打开 |
挂载失败时,检查 microSD 卡是否插入、格式是否可识别,以及 SDMMC 引脚是否被其他示例占用。
mipi_dsi:MIPI-DSI LCDmipi_dsi 使用项目本地 LCD 驱动初始化 MIPI-DSI 面板,循环显示水平和垂直色条,并通过 I2C 背光控制器验证 LCD 背光。
运行前安装或确认以下库及版本:
| 库 | 版本 |
|---|---|
ESP32_Display_Panel | 1.0.4 |
ESP32_IO_Expander | 1.1.1 |
esp-lib-utils | 0.2.3 |
在 mipi_dsi/esp_panel_drivers_conf.h 中只选择一个本地 LCD 驱动:
ESP_PANEL_DRIVERS_LCD_ENABLE_JD9365_LOCALESP_PANEL_DRIVERS_LCD_ENABLE_HX8394_LOCALESP_PANEL_DRIVERS_LCD_ENABLE_ILI9881C_LOCAL当前默认配置为 10.1 英寸 JD9365,分辨率为 800 × 1280、RGB565、双 DSI lane。使用其他 LCD 面板时, 必须选择与实际面板匹配的控制器和配置。
mipi_csi:摄像头显示mipi_csi 初始化 OV5647 MIPI-CSI 摄像头和 MIPI-DSI LCD,将摄像头实时画面显示到 LCD。LCD 入口支持 JD9365、HX8394 和 ILI9881C,mipi_csi/lcd_panel.h 当前默认使用 10.1 英寸 JD9365 配置。
运行前需要满足以下条件:
3.3.11 及其对应的 ESP32-P4 预编译库。ESP_Video 启用 MIPI-CSI video device: CONFIG_ESP_VIDEO_ENABLE_MIPI_CSI_VIDEO_DEVICE=y。lcd_panel.h 中将 LCD_PANEL_TYPE 设置为实际连接的 LCD 面板类型。mipi_csi、mipi_dsi、i2s 和 i2c 对 I2C1 的初始化方式并不完全相同:i2s 和 i2c 使用 Arduino Wire1,mipi_dsi 使用 legacy I2C API,mipi_csi 使用新版 i2c_master API。不要在同一个 Arduino 工程中同时运行这些示例,或重复初始化同一条总线。
Arduino 板卡变体提供以下常用引脚别名:
| 接口 | 引脚 |
|---|---|
SDA / SDA1 | GPIO7 |
SCL / SCL1 | GPIO8 |
SS | GPIO26 |
MOSI | GPIO32 |
MISO | GPIO33 |
SCK | GPIO36 |
UART TX / RX | GPIO37 / GPIO38 |
GPIO7 和 GPIO8 是板载 I2C1 共享总线。LCD 背光、GT911、ES8311 和摄像头 SCCB 均使用相关板级 总线资源;修改引脚前需要同时检查实际硬件连接和对应示例的初始化代码。
板卡使用 GPIO7(SDA)和 GPIO8(SCL)连接多个 I2C 设备,默认频率为 400 kHz。不同示例使用的 I2C API 不同:
i2c 和 i2s 使用 Arduino Wire1。mipi_dsi 使用 driver/i2c.h 提供的 legacy API 控制 LCD 背光。mipi_csi 使用 Wire1 建立新版 i2c_master 总线,并将总线句柄提供给摄像头 SCCB 和 LCD 背光。不要在同一程序中混用这些示例的初始化方式。复杂示例的构建结果和硬件状态需要在目标板上单独确认, Arduino-ESP32 版本、LCD 面板型号或硬件连接变化后,不能直接套用当前配置。
本章节包含以下内容:
初次接触 ESP32 ESP-IDF 开发,想要快速上手?我们为您准备了一套通用的 入门教程。
请注意:该教程使用 ESP32-S3-Zero 作为教学示例,所有硬件代码均基于其引脚布局。在动手实践前,建议您对照手中的开发板引脚图,确认引脚配置无误。
ESP32-P4-WIFI6-DB 仓库中的 ESP-IDF BSP 和 brookesia_test 要求 ESP-IDF >=5.5, 10_wifi_antenna_tesat 要求 ESP-IDF >=6.0。这是组件清单声明的版本约束,依赖组件可能提出 额外要求,具体示例的组件和配置要求以对应示例目录中的 README 为准。
以下内容以 Windows 系统为例,使用 VS Code + ESP-IDF 扩展 的方式进行开发。Mac/Linux 用户请参考 官方说明。
此部分图示以安装 ESP-IDF V5.5.2 为例示范,安装时请选用与您开发板示例匹配的 ESP-IDF 版本。
前往 ESP-IDF Installation Manager 下载 ESP-IDF 安装管理器。这是乐鑫最新推出的跨平台安装工具,下文将演示如何使用其离线安装功能。
在页面中点击 Offline Installer 标签,然后在筛选栏中选择 Windows 操作系统和你需要的 ESP-IDF 版本(图示仅为参考,请以实际为准)。

确认选择无误后,点击下载按钮。浏览器将自动同时下载两个文件:一个是 ESP-IDF 离线整合包(.zst),另一个是 ESP-IDF 安装器(.exe)。

请耐心等待两个文件下载完成。
下载完成后,双击运行 ESP-IDF 安装器(eim-gui-windows-x64.exe)。
启动后,可在右上角将界面语言切换为中文。

安装工具会自动检测同一目录下是否存在离线整合包。点击 从存档安装。

接下来,选择安装路径。建议使用默认路径;若需自定义,请确保路径中不包含中文或空格。确认无误后,点击 开始安装。

当看到如下界面时,表示 ESP-IDF 已安装成功。

建议同时安装驱动程序。点击 完成安装,然后点击 安装驱动程序。

下载并安装 Visual Studio Code。
安装时建议勾选 通过 Code 打开操作添加到 Windows 资源管理器文件上下文菜单,以便快速打开项目文件夹。
在 VS Code 中,点击侧边活动栏中的 扩展图标(或使用快捷键 Ctrl + Shift + X)打开 扩展 视图。
在搜索框中输入 ESP-IDF,找到 ESP-IDF 扩展并点击安装。
当 ESP-IDF 扩展版本 ≥ 2.0 时,扩展会自动检测并识别上述步骤中安装的 ESP-IDF 环境,无需手动配置。
ESP32-P4-WIFI6-DB 的 ESP-IDF BSP 和示例程序在 ESP32-P4-WIFI6-DB 示例仓库 中维护。可在该仓库中获取 对应的板级代码和示例程序。
仓库中的相关目录如下:
firmware/esp32_p4_wifi6_db/:ESP-IDF BSP、头文件、Kconfig 和组件清单。examples/esp_idf/:外设示例和 Brookesia 应用。firmware/factory-firmware/:5、7、8、10.1 英寸面板的 ESP32-P4 固件,以及 ESP32-C5 从机固件。示例工程的目标芯片为 esp32p4。
以下命令以 00_board_check 示例为例。将命令行当前目录切换到示例目录后执行,COMx 替换为 ESP32-P4 的实际串口:
cd examples/esp_idf/00_board_check
idf.py set-target esp32p4
idf.py build
idf.py -p COMx flash monitor
显示、摄像头和 Wi-Fi 相关示例在构建前还需要通过 idf.py menuconfig 选择实际连接的 LCD 面板和 填写 Wi-Fi 凭据。组件管理器会在配置阶段解析依赖。
BSP 通过以下选项选择 LCD 面板:
| BSP 选项 | 面板控制器 | 分辨率 |
|---|---|---|
CONFIG_BSP_LCD_TYPE_720_1280_5_INCH_A | HX8394,5 英寸 | 720 × 1280 |
CONFIG_BSP_LCD_TYPE_720_1280_7_INCH_A | ILI9881C,7 英寸 | 720 × 1280 |
CONFIG_BSP_LCD_TYPE_800_1280_8_INCH_A | JD9365,8 英寸 | 800 × 1280 |
CONFIG_BSP_LCD_TYPE_800_1280_10_1_INCH_A | JD9365,10.1 英寸 | 800 × 1280 |
BSP Kconfig 默认选择 10.1 英寸 JD9365,brookesia_test 的默认配置选择 8 英寸 JD9365。构建前 应选择实际连接的面板。默认配置不会覆盖已有的 sdkconfig;确认实际生效的选项时,检查工程配置和 生成的 build/config/sdkconfig.h。
建议按以下顺序运行示例,先确认板级外设,再验证显示、网络和其他功能:
00_board_check:板级外设检查。02_i2c_console_test:I2C 总线检查。03_sdmmc_test:SDMMC 检查。04_mipi_dsi_test:显示屏测试。06_wifi_test:Wi-Fi Station 测试。| 示例目录 | 示例内容 |
|---|---|
00_board_check | 输出芯片、Flash、PSRAM、堆内存信息和周期心跳 |
01_gpio_input_test | 在 LCD 上显示 GPIO 输入状态 |
02_i2c_console_test | 交互式 I2C 扫描及寄存器读写控制台 |
03_sdmmc_test | microSD 文件写入、读取和重命名测试 |
04_mipi_dsi_test | LCD 输出测试,当前显示纯白屏 |
05_mipi_csi_test | 使用 PPA 处理并在 LCD 上预览摄像头画面 |
06_wifi_test | Wi-Fi Station 联网和网关 ping |
07_i2s_codec | ES8311 内置音频播放或麦克风回放 |
08_usb_host_msc | USB 大容量存储文件操作和顺序读写速度测试 |
09_bt_controller_mac_addr | Hosted 蓝牙 MAC 查看 / 配置及 BLE GATT 测试 |
10_wifi_antenna_tesat | Wi-Fi 扫描、STA 联网、频段和 RSSI 日志 |
brookesia_test | 包含计算器、画板、音频、摄像头、视频、设置、Xiaozhi 和 GPIO 应用的综合界面 |
10_wifi_antenna_tesat 为仓库当前的目录拼写。接线和操作方法以各示例目录中的 README 及配置为准。
0x45 设备、亮度寄存器 0x96 控制;GT911 使用轮询方式。以下步骤适用于 ESP32-P4-WIFI6-DB 连接 10.1 英寸面板时烧录本型号提供的 bin 固件。使用固件前请确认固件与 ESP32-P4 芯片版本、Flash 容量、板卡型号和面板型号匹配。
烧录地址:0x00
其他面板型号请在 ESP-IDF 工程中选择对应的 BSP 面板配置并自行构建固件,不能直接使用此 10.1 英寸固件。
以下步骤适用于烧录本页提供的固件。
下载并解压乐鑫官方烧录工具 Flash Download Tool(下载地址)
运行 Flash Download Tool,根据开发板的主控芯片与下载接口选择对应选项。下图以 ESP32-S3 与 USB 为例,实际选项以产品硬件设计为准

参数设置
0x00),同时勾选该行最左侧的复选框
等待烧录完成(烧录过程需要一定时间,请耐心等待)
按下复位键,观察运行现象

周一-周五(9:30-6:30)周六(9:30-5:30)
手机:13434470212
邮箱:services04@spotpear.cn
QQ:202004841
