当前位置:   article > 正文

ESP32 入门笔记01:乐鑫ESP32-DevKitC开发板信息、开发环境搭建以及学资料准备

esp32-devkitc


一、ESP32-DevKitC 开发板介绍

网上看到很多文章都提到了这样的ESP32、ESP32-WROOM-32、ESP32-WROOM-32E、ESP32-WROOM-32UE以及ESP32-DevKitC等等,却不知道它们之间到底是什么关系的产品介绍!与鑫官网之间的关系如下:

[外链图片转存失败,直接源站可能有防盗链机制,建议将保存图片下载下来(img-65XZINDJ-1653542788997)(https://img-blog.csdnimg.cn/dc1f4c90ec5a46feb2c4936037aa8c80.png?x-oss ) ) -process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBATmFpdmE=,size_20,color_FFFFFF,t_70,g_se, x_16)]

原来就是基于ESP32系列芯片设计加工出模组,然后再基于模组设计出开发板。可根据产品开发需要借助ESP芯片&模组选型工具 选择合适的芯片或模组。

目前,Arduino ESP32 支持以下带有 Arduino API 的外设。

在这里插入图片描述


以下内容参考: 1.【ESPRESSIF乐鑫官网】ESP32-DevKitC系列开发板介绍 2.【 RNT】ESP32开发板入门

ESP3DevKitC是ESP32系列的入门级微型开发板,具备丰富的外设和优化2的布局。

在这里插入图片描述

ESP32-DevKitC 开发板已通过 Amazon AWS 认证。ESP32-DevKitC 开发板既支持乐鑫的开源物联网开发框架 ESP-IDF,也支持 FreeRTOS。用户通过 FreeRTOS 可以轻松连接 AWS IoT、AWS Greengrass 及更多丰富的 AWS 服务。

乐鑫官方基于ESP32-WROOM-32 模组(ESP32 系列模组包括:ESP32-WROOM 系列、ESP32-WROVER 系列及ESP32-MINI 系列)的ESP32 DEVKIT 开发板外形如下:

在这里插入图片描述

其他厂商二次开发设计的开发板:

在这里插入图片描述

图中开发板背面印着的网址www.doit.am是WIFI雷达探测预警系统。


以下内容参考:1.【ESPRESSIF乐鑫官网】ESP32-DevKitC V4 入门指南2.【RNT】ESP32 引脚参考:您应该使用哪些 GPIO 引脚?

带有 30GPIO 的版本
在这里插入图片描述

带有 36GPIO 的版本在这里插入图片描述

在这里插入图片描述

还有38个管脚的开发板,设计厂商不同,开发板的管脚也不相同。

在这里插入图片描述

二、ESP32 开发环境

1. Arduino IDE

以下内容参考:【RNT】在 Arduino IDE(Windows、Mac OS X、Linux)中安装 ESP32 开发板

1.1 开发环境搭建步骤

  • 1.下载安装Arduino IDE:https://www.arduino.cc/en/Main/Software

  • 2.Arduino IDE中添加ESP32开发板数据:安装完成后选择:文件>首选项>附加开发板管理器网址 中加入Arduino core for esp32的地址 https://dl.espressif.com/dl/package_esp32_index.json

  • 3.完成网址添加后就可以在:工具>开发板>开发板管理器 中搜索并下载esp32开发板数据包

在这里插入图片描述

1.2 实验:使用 Arduino IDE 将代码上传到 ESP32

ESP32 测试安装将 ESP32 板插入您的计算机。打开 Arduino IDE 后,请执行以下步骤:

为了向您展示如何将代码上传到您的 ESP32 开发板,我们将构建一个简单的示例来让 LED 闪烁。

将以下 LED 闪烁代码复制到您的 Arduino IDE:

/*
  Blink
*/

// ledPin refers to ESP32 GPIO 23
const int ledPin = 23;

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin ledPin as an output.
  pinMode(ledPin, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(ledPin, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                  // wait for a second
  digitalWrite(ledPin, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                  // wait for a second
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

实现四个LED依次流动点亮:

/*******************************************************
  ESP32LED流水灯
  功能:实现四个LED依次流动点亮
  引脚:D15,D4,D2,D5
 *******************************************************/
char LEDPins[] = {15, 4, 2, 5}; // 设定连接的引脚
int i = 0;
int L1 = 0;
int len = 0;
void setup()
{
  len = sizeof(LEDPins) / sizeof(char); //求数组的长度
  for (i = 0; i < len; i++) { //用for循环设置引脚为输出模式
    pinMode(LEDPins[i], OUTPUT);
    digitalWrite(LEDPins[i], LOW);
  }
}
void loop()
{
  digitalWrite(LEDPins[L1], HIGH);
  delay(100);
  digitalWrite(LEDPins[L1], LOW);
  delay(100);
  L1 = L1 + 1;
  if (L1 > len || L1 < 0) //判断是否到最后一个灯或最前面的灯
    L1 = 0; //LED灯从头开始
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

电路连接:

在这里插入图片描述
LED的限流电阻应该怎样选取,设置的合适的阻值。我们可以从LED的数据手册上查到LED的有关参数,要计算LED的限流电阻,最重要的参数为:正向电压(VF)、正向电流(IF)和最大峰值电流(Peak Forward Current)。

LED的正向电流可以取峰值,但是LED要使工作电流小于极限值,所以可以根据以下公式计算:

限流电阻 = 电源电压 – LED 的正向电压 / LED的正向电流
当然在计算出限流电阻阻值后,不是所有的电阻阻值在市场上都可以买到,我们需要选取一个在市场上可以买到的电阻,就需要选取一个与计算阻值相近的电阻阻值,在选取阻值玩后要再重新计算一下,确保LED的正向电流和正向电压没有超出极限值。

一般红绿LED的电压为1.8~2.4V,蓝白LED电压为2.8 ~ 4.2V;

3mmLED的额定电流为1~10mA;

5mmLED的额定电流为5~25mA;

10mmLED的额定电流为25~100mA;

程序下载:

Arduino IDE 菜单栏中选择【工具】-【开发板】-【ESP Dev Module】,再选择对应的USB端口。

在这里插入图片描述

下载程序的时候,按住ESP32 板上的“ BOOT ”或者RST按钮 。任选其一,网上有的是按住BOOT,有的是按住RST,我在测试的时候是按住后者解决下载失败问题的。
在这里插入图片描述
在您看到“Connecting........_____....._____....._”之后 在您的 Arduino IDE 中显示消息,从“ BOOT ”按钮松开手指:

烧录程序报错:

注意:如果您在尝试上传代码时收到以下错误,则表示您的 ESP32 未处于闪烁/上传模式。

报错1:Failed to connect to ESP32: Timed out... Connecting...尝试将新代码上传到您的 ESP32 板时出现错误。

解决1: 参考:无法连接到 ESP32-等待数据包头超时

报错2 :A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header 连接 ESP32 失败:等待数据包头超时 #1497

解决2:参考:下载程序的时候按住板子上RST按键


2. VS Code + PlatformIO IDE 扩展

参考资料:【RNT】用于 ESP32 和 ESP8266(Windows、Mac OS X、Linux Ubuntu)的 VS Code 和 PlatformIO IDE 入门

Arduino IDE 非常适合小型应用程序。但是,对于具有超过 200 行代码、多个文件以及自动完成和错误检查等其他高级功能的高级项目,带有 PlatformIO IDE 扩展的 VS Code 是最佳选择。

2.1 在 Windows 上安装 VS Code

转到https://code.visualstudio.com/并下载适用于您的操作系统 (Windows) 的稳定版本。

2.2 在 Windows 上安装 Python

要使用 PlatformIO IDE 对 ESP32 和 ESP8266 板进行编程,您需要在计算机中安装 Python 3.5 或更高版本。我们使用的是 Python 3.8.5。

转到 python.org/download 并下载 Python 3.8.5 或最新版本。

打开下载的文件以启动 Python 安装向导。

出现以下窗口。

在这里插入图片描述
安装成功后,将弹出以下窗口。

在这里插入图片描述

单击 Close 关闭即可。

2.3 在 VS Code 上安装 PlatformIO IDE 扩展

可以使用带有 PlatformIO IDE 扩展的 VS Code对ESP32和ESP8266板进行编程。按照以下步骤安装 PlatformIO IDE 扩展。

打开 VS Code 开发软件:

  • 1.单击扩展图标或按Ctrl + Shift + X打开扩展选项卡
  • 2.搜索“ PlatformIO IDE
  • 3.选择第一个选项
  • 4.最后,点击安装按钮(注意:安装可能需要几分钟)

在这里插入图片描述

安装后,请确保已启用 PlatformIO IDE 扩展,如下所示。

在这里插入图片描述

之后,PlatformIO 图标应显示在左侧边栏上,以及将您重定向到 PlatformIO 主页的主页图标

在这里插入图片描述
就这样,PlatformIO IDE 扩展成功添加到 VS Code。

如果在底部没有看到PIO图标和快速工具,则可能需要重新启动 VS 代码才能使更改生效。

无论哪种方式,建议在继续之前 重新启动 VS Code

2.4 VS Code 快速界面概览

打开 VS Code 。以下打印屏幕显示了左侧边栏上每个图标的含义及其快捷方式:

在这里插入图片描述

  • 文件管理器
  • 跨文件搜索
  • 源代码管理(使用 gist)
  • 启动和调试您的代码
  • 管理扩展

此外,您可以按Ctrl + Shift + P或转到 View > Command Palette… 以显示所有可用的命令。如果您正在搜索一个命令并且您不知道它在哪里或它的快捷方式,您只需要转到命令面板并搜索它。

在底部,有一个带有 PlatformIO 命令的蓝条。

在这里插入图片描述

这是从左到右的图标:

  • 主页 PlatformIO Home
  • 构建/编译 Build/Compile
  • 上传 Upload
  • 清除 Clean
  • 串行监视器 Serial Monitor
  • 终端 New Terminal

如果将鼠标悬停在图标上,它将显示每个图标的作用。

单击 PIO 图标来查看所有 PlatformIO 任务。

在这里插入图片描述

如果单击图标时任务未显示在 IDE 上,您可能需要单击顶部的三点图标 “…” 并启用 PlatformIO 任务,如下所示。

在这里插入图片描述

2.5 PlatformIO IDE 概述

如何创建、保存和上传“Blink_LED” sketch 到 ESP32 开发板。

2.5.1 创建一个新项目

在 VS Code 上,单击 PlartfomIO 主页 图标。单击 + 新项目以开始一个新项目。

在这里插入图片描述

为您的项目命名(例如 Blink_LED)并选择您正在使用的电路板。在我们的例子中,我们使用的是DOIT ESP32 DEVKIT V1。框架应该是“ Arduino ”才能使用 Arduino 内核。

您可以选择默认位置来保存您的项目或自定义位置。

默认位置在此路径 Documents > PlatformIO > Projects中。对于此测试,您可以使用默认位置。最后,点击“完成”。

在这里插入图片描述

可以从 **Explorer ** 选项访问 Blink_LED 项目。

在这里插入图片描述

VS Code 和 PlatformIO 的文件夹结构与标准的Arduno.ino项目不同。如果单击资源管理器选项卡,将看到它在项目文件夹下创建的所有文件。似乎有很多文件可以使用。但是,不用担心,通常只需要处理其中的一两个文件。

在这里插入图片描述

2.5.2 platformio.ini 文件 (设置窗口监视器的波特率)

platformio.ini文件是您项目的 PlatformIO 配置文件。它显示了您项目的平台、板和框架。您还可以添加其他配置,例如要包含的库、上传选项、更改串行监视器波特率和其他配置。

在这里插入图片描述

  • platform:对应板子使用的SoC。
  • board:你正在使用的开发板。
  • 框架:将运行项目代码的软件环境。

对于 ESP32 和 ESP8266,如果您想在串行监视器中使用 115200 的波特率,只需将以下行添加到您的platformio.ini 文件中。

monitor_speed = 115200
  • 1

之后,请确保按Ctrl + S保存对文件所做的更改。
在这里插入图片描述

2.5.3 src 文件夹

src 文件夹是您的工作文件夹。在src文件夹下,有一个main.cpp文件。那是您编写代码的地方。单击该文件。Arduino 程序的结构应该包含 setup() andloop() 函数。

在这里插入图片描述
在 PlatformIO 中,您所有的 Arduino 草图都应该以#include <Arduino.h>头文件开始 。

2.5.4 上传代码:ESP32

将以下代码复制到您的main.cpp文件中。

#include <Arduino.h>

#define LED 2

void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
  pinMode(LED, OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(LED, HIGH);
  Serial.println("LED is on");
  delay(1000);
  digitalWrite(LED, LOW);
  Serial.println("LED is off");
  delay(1000);
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 方式一:可以转到 PIO Project Tasks 菜单并选择 Upload
  • 方式二:单击VS Code 左下角的 “ 上传 ”图标来编译和上传代码。

在这里插入图片描述
在这里插入图片描述

2.5.5 检测 COM 端口

PlatformIO 将自动检测您的开发板所连接的端口。要检查连接的设备,您可以转到PIO 主页 并单击Devices 图标。

在这里插入图片描述

2.6 在 PlatformIO IDE 上安装 ESP32库

如果您需要在 PlatformIO IDE 中安装库,请按照下一个过程。

单击主页图标转到 PlatformIO 主页。单击左侧栏上的图标。

搜索要安装的库。例如Adafruit_BME280

在这里插入图片描述

单击要包含在项目中的库。然后,单击添加到项目

在这里插入图片描述

选择要使用库的项目。

在这里插入图片描述

附. VS Code 键盘快捷键参考 Key Bindings for Visual Studio Code


3. Thonny MicroPython (Python) IDE

参考资料:【RNT】40+ MicroPython Projects, Tutorials and Guides with ESP32 / ESP8266

待续……


4. Mixly 米思齐图形化

报错1:Timeout: Serial has no response! Now retry...
Error:Serial has no response after retry! Now exit.
在这里插入图片描述

解决1:点击菜单栏中的【初始化固件】,然后按住BOOT按键不放,直到出现“Connecting........_____....._____....._”之后。初始化完固件之后,选择【开发板型号】,选择【端口】,点击【上传】即可。

在这里插入图片描述

  • Mixly2.0

两种方式下载:

第一种:网盘软件下载 Mixly2.0 RC2 提取码:ny1n

第二种:Mixly 升级安装助手

找到旧版Mixly 中的一键更新,在弹出的安装升级助手窗口选择安装功能即可。

在这里插入图片描述

在这里插入图片描述


资料下载:


参考资料

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/398251
推荐阅读
相关标签
  

闽ICP备14008679号