【花雕学编程】Arduino动手做(234)---综合采集WeMos D1 R32 ESP32的各种参数并串口输出

在这里插入图片描述

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来——小小的进步或是搞不掂的问题,希望能够抛砖引玉。

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二百三十四:Wemos D1 迷你Arduino Uno R3 D1 R32 ESP32 Wifi蓝牙无线开发板CH340 4M内存

在这里插入图片描述

Wemos D1 ESP32 开发板是一款紧凑而强大的设备,它集成了天线和射频巴伦、功率放大器、低噪声放大器、滤波器和电源管理模块。整个解决方案占用的印刷电路板面积最少。该板采用台积电 40nm 低功耗技术,搭配 2.4GHz 双模 Wi-Fi 和蓝牙芯片,功率和射频性能最佳,安全可靠,可扩展至各种应用。将 WiFi 和蓝牙连接结合在单个 ESP32 芯片上。Wemos D1 ESP32 开发板是基于乐鑫 ESP32 芯片的开发板。它具有 Wi-Fi 和蓝牙连接,以及一系列用于连接传感器、执行器和其他设备的输入和输出引脚。该板具有高性能处理器和广泛的功能,是物联网和家庭自动化项目的理想选择。此外,该板具有易于使用的界面,采用 Arduino UNO 外形尺寸,并与 Arduino 平台兼容,可以轻松开发项目并与其他设备集成。借助 Wemos D1 ESP32 开发板,您可以轻松地为各种应用创建智能、互联的解决方案。该板的一些规格包括:

  • 240 MHz 双核 LX6 芯片
  • Wi-Fi 802.11 b/g/n 连接
  • 蓝牙 4.2 BLE 连接
  • 4 MB 闪存
  • 520 KB SRAM
  • 30 针输入/输出,包括 GPIO、I2C、SPI、UART 和 ADC
  • MicroSD支持
  • LiPo电池充电支持
    该板与 Arduino 平台兼容,可以使用 Arduino IDE 进行编程。此外,它还支持 MicroPython 平台,该平台允许使用 Python 进行编程。
    在这里插入图片描述
    在这里插入图片描述
    【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
    实验二百三十四:Wemos D1 迷你Arduino Uno R3 D1 R32 ESP32
    Wifi蓝牙无线开发板CH340 4M内存
    {花雕动手做}项目之四:综合采集WeMos D1 R32 ESP32的各种参数并串口输出

实验开源代码

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
    实验二百三十四:Wemos D1 迷你Arduino Uno R3 D1 R32 ESP32
    Wifi蓝牙无线开发板CH340 4M内存
  {花雕动手做}项目之四:综合采集WeMos D1 R32 ESP32的各种参数并串口输出
*/

#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("WeMos D1 R32 ESP32准备就绪!");
  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秒打印一次
}

实验串口返回情况

在这里插入图片描述

实验场景图

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

驴友花雕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值