驴友花雕 发表于 2024-9-24 10:18:58

【花雕学编程】Arduino动手做(232)---ESP32-S3 CAM 信息采集







驴友花雕 发表于 2024-9-24 10:33:53

【花雕学编程】Arduino动手做(232)---ESP32-S3 CAM 信息采集

本帖最后由 驴友花雕 于 2024-9-24 11:13 编辑

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
   实验二百三十二:ESP32-S3 WROOM N16R8 CAM开发板WiFi+蓝牙模块
   OV2640/5640摄像头模组
{花雕动手做}实验之五:综合采集ESP32-S3 N16R8 CAM的各种参数并串口输出

实验开源代码
/*
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二百三十二:ESP32-S3 WROOM N16R8 CAM开发板WiFi+蓝牙模块
OV2640/5640摄像头模组
{花雕动手做}实验之五:综合采集ESP32-S3 N16R8 CAM的各种参数并串口输出
*/

#include <WiFi.h>
#include <esp_wifi.h>
#include <esp_system.h>
#include <esp_chip_info.h>
#include <esp_spi_flash.h>

// WiFi网络信息
const char* ssid = "zhz3";
const char* password = "z156721";

void setup() {
// 初始化串口
Serial.begin(115200);
Serial.println(" ");
Serial.println("ESP32-S3 N16R8 CAM 准备就绪!");
Serial.println(" ");
delay(1000);

// 连接WiFi
WiFi.begin(ssid, password);
Serial.print("连接到WiFi");
while (WiFi.status() != WL_CONNECTED) {
   delay(500);
   Serial.print("...");
}
Serial.println(" 接通");

// 打印WiFi信息
Serial.print("IP地址: ");
Serial.println(WiFi.localIP());
Serial.print("信号强度 (RSSI): ");
Serial.println(WiFi.RSSI());

// 打印芯片信息
esp_chip_info_t chip_info;
esp_chip_info(&chip_info);
Serial.printf("ESP32 芯片型号: %d\n", chip_info.model);
Serial.printf("芯核数量: %d\n", chip_info.cores);
Serial.printf("芯片修订版本: %d\n", chip_info.revision);

// 打印CPU频率
Serial.printf("CPU 频率: %d MHz\n", getCpuFrequencyMhz());

// 打印内存信息
Serial.printf("当前内存大小: %d bytes\n", esp_get_free_heap_size());
Serial.printf("最小可用堆内存大小: %d bytes\n", esp_get_minimum_free_heap_size());

// 打印芯片温度
Serial.printf("芯片温度: %.2f°C\n", temperatureRead());

// 获取并打印芯片MAC地址
uint64_t chipid = ESP.getEfuseMac();
Serial.printf("芯片MAC地址: %04X%08X\n", (uint16_t)(chipid >> 32), (uint32_t)chipid);

// 打印芯片ID数字形式
uint32_t chipId = 0;
for (int i = 0; i < 17; i = i + 8) {
   chipId |= ((chipid >> (40 - i)) & 0xff) << i;
}
Serial.printf("芯片ID : %u\n", chipId);

// 打印芯片架构信息
Serial.printf("芯片架构: %s\n", CONFIG_IDF_TARGET);

// 打印芯片复位原因
esp_reset_reason_t reset_reason = esp_reset_reason();
Serial.printf("复位原因: %d\n", reset_reason);

// 打印WiFi模式
wifi_mode_t mode;
esp_wifi_get_mode(&mode);
Serial.printf("WiFi模式: %d\n", mode);

// 打印WiFi信道
uint8_t primaryChan;
wifi_second_chan_t secondChan;
esp_wifi_get_channel(&primaryChan, &secondChan);
Serial.printf("WiFi信道: %d\n", primaryChan);

// 打印WiFi传输功率
int8_t power;
esp_wifi_get_max_tx_power(&power);
Serial.printf("WiFi传输功率: %d dBm\n", power);
}

void loop() {
// 在这里可以添加其他测试代码
delay(10000); // 每10秒打印一次
}




驴友花雕 发表于 2024-9-24 10:36:23

【花雕学编程】Arduino动手做(232)---ESP32-S3 CAM 信息采集

代码解读
1、WiFi连接与信息打印:
代码中通过WiFi.begin(ssid, password)连接到指定的WiFi网络,并打印连接状态、IP地址和信号强度(RSSI)。
2、芯片信息获取与打印:
使用esp_chip_info_t结构体获取芯片型号、核心数量和修订版本,并通过串口打印出来。
3、系统资源信息打印:
打印CPU频率、当前内存大小、最小可用堆内存大小等系统资源信息,帮助了解系统运行状态。
4、WiFi详细信息获取:
代码扩展了WiFi模式、信道和传输功率的获取和打印,提供更详细的网络状态信息。
5、芯片复位原因与架构信息:
打印芯片复位原因和架构信息,帮助诊断系统问题和了解硬件特性。

实验串口返回情况



驴友花雕 发表于 2024-9-24 10:40:18

【花雕学编程】Arduino动手做(232)---ESP32-S3 CAM 信息采集

实验场景图


驴友花雕 发表于 2024-9-24 11:06:49

【花雕学编程】Arduino动手做(232)---ESP32-S3 CAM 信息采集

ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce3818,len:0x109c
load:0x403c9700,len:0x4
load:0x403c9704,len:0xb50
load:0x403cc700,len:0x2fd0
entry 0x403c98ac

ESP32-S3 N16R8 CAM 准备就绪!

连接到WiFi... 接通
IP地址: 192.168.28.27
信号强度 (RSSI): -41
ESP32 芯片型号: 9
芯核数量: 2
芯片修订版本: 2
CPU 频率: 240 MHz
当前内存大小: 8671728 bytes
最小可用堆内存大小: 8667620 bytes
芯片温度: 36.60°C
芯片MAC地址: 5C91DE7C5824
芯片ID : 14586204
芯片架构: esp32s3
复位原因: 1
WiFi模式: 1
WiFi信道: 5
WiFi传输功率: 80 dBm

页: [1]
查看完整版本: 【花雕学编程】Arduino动手做(232)---ESP32-S3 CAM 信息采集