【ESP32最全学习笔记(基础篇)——1.ESP32简介】

news2024/10/6 12:20:16

          ESP32 新手?从这里开始!

关于本教程:

ESP32 基础篇                                

1.ESP32简介 ☑                                                                 

2.ESP32 Arduino 集成开发环境

3.ESP32 Arduino IDE 2.0

4.VS 代码和 PlatformIO

5.ESP32 引出线

6.ESP32 输入输出

7.ESP32 脉宽调制

8.ESP32 模拟输入

9.ESP32 中断定时器

10.ESP32 深度睡眠

ESP32 协议篇

ESP32 网络服务器

ESP32 LoRa

ESP32 BLE

ESP32 BLE 客户端-服务器

ESP32 蓝牙

ESP32 MQTT

ESP32 ESP-NOW

ESP32 Wi-Fi

ESP32 WebSocket

ESP32 ESP-MESH

ESP32 邮箱

ESP32 短信

ESP32 HTTP 获取 POST

HTTP GET Web APIs

HTTP POST Web APIs

 ESP32 服务器篇

持续更新,关注博主不迷路!!!

 ESP32 传感器模块篇

持续更新,关注博主不迷路!!!

ESP32 终极实战篇

百余项ESP32实战项目,敬请关注!!!

        ESP32 是 Espressif 开发的一系列低成本、低功耗的片上系统 (SoC) 微控制器,包括 Wi-Fi 和蓝牙无线功能以及双核处理器。如果您熟悉 ESP8266,那么 ESP32 就是它的继任者,加载了许多新功能。

        ESP32 的新手?你来对地方了。本指南包含您开始使用 ESP32 所需的所有信息。了解什么是 ESP32、如何选择 ESP32 开发板、如何让您的第一个程序运行等等。以下是我们将在本指南中介绍的内容: 

目录

介绍 ESP32

        ■ ESP32规格

        ■ ESP32与ESP8266

■ ESP32开发板

        ■ 如何选择ESP32开发板?

        ■ 什么是最适合初学者的ESP32开发板

■ ESP32开发套件DOIT

■ ESP32GPIO引脚指南

■ 如何对ESP32进行编程?

■ ESP32与Arduino IDE

■ 利用Arduino IDE将代码上传至ESP32

介绍 ESP32

首先,首先,什么是 ESP32?ESP32 是乐鑫自主研发的一系列芯片微控制器。

为什么他们如此受欢迎?主要是因为有以下特点:

低成本:您可以从 6 美元起购买 ESP32,这使得普通大众可以轻松获得它;
低功耗:与其他微控制器相比,ESP32功耗极低,支持深度睡眠等低功耗模式状态,以节省电能;
Wi-Fi 功能:ESP32 可以轻松连接到 Wi-Fi 网络以连接互联网(station 模式),或创建自己的 Wi-Fi 无线网络(接入点模式)以便其他设备可以连接到它——这是对于物联网和家庭自动化项目至关重要——您可以让多个设备使用它们的 Wi-Fi 功能相互通信;
蓝牙:ESP32 支持经典蓝牙和低功耗蓝牙 (BLE) ——适用于各种物联网应用;
双核:大多数 ESP32 都是双核的——它们带有 2 个 Xtensa 32 位 LX6 微处理器:核心 0 和核心 1。
丰富的外设输入/输出接口——ESP32支持电容触摸、ADC、DAC、UART、SPI、I2C等多种输入(从外界读取数据)和输出(向外界发送命令/信号)外设、脉宽调制等等。
与 Arduino“编程语言”兼容:那些已经熟悉 Arduino 板编程的人,您会很高兴知道他们可以用 Arduino 风格对 ESP32 进行编程。
与 MicroPython 兼容:您可以使用 MicroPython 固件对 ESP32 进行编程,它是针对微控制器和嵌入式系统的 Python 3 的重新实现。

ESP32 规格

如果您想了解更多技术和具体信息,可以查看以下 ESP32 的详细规格(来源:http://esp32.net/)——有关更多详细信息,请查看数据表):

 无线连接 WiFi:  HT40 数据速率为 150.0 Mbps
蓝牙: BLE(低功耗蓝牙) 和 经典蓝牙
处理器:  Tensilica Xtensa 双核 32 位 LX6 微处理器,运行频率为 160 或 240 MHz
内存:
ROM:  448 KB(用于引导和核心功能)
SRAM:  520 KB(用于数据和指令)
RTC fas SRAM:8 KB(用于从深度睡眠模式启动 RTC 期间的数据存储和主 CPU)
RTC 慢速 SRAM:8KB(用于深度睡眠模式下的协处理器访问)
eFuse:1 Kbit(其中256位用于系统(MAC地址和芯片配置),其余768位保留给客户应用,包括Flash-Encryption和Chip-ID)
嵌入式闪存:ESP32-D2WD 和 ESP32-PICO-D4 上通过 IO16、IO17、SD_CMD、SD_CLK、SD_DATA_0 和 SD_DATA_1 内部连接的闪存。
0 MiB(ESP32-D0WDQ6、ESP32-D0WD 和 ESP32-S0WD 芯片)
2 MiB(ESP32-D2WD 芯片)
4 MiB(ESP32-PICO-D4 SiP 模块)
低功耗: 确保您仍然可以使用 ADC 转换,例如,在 深度睡眠期间。
外设输入/输出:
带 DMA 的外设接口,包括 电容式触摸
ADC(模数转换器)
DAC(数模转换器)
I²C(内部集成电路)
UART(通用异步接收器/发送器)
SPI(串行外设接口)
I²S(集成芯片间声音)
RMII(精简媒体独立接口)
PWM(脉冲宽度调制)
安全性:  AES 和 SSL/TLS 的硬件加速器

 ESP32 和 ESP8266 的主要区别

         之前,我们提到 ESP32 是 ESP8266 的继任者。ESP32 和 ESP8266 板之间的主要区别是什么?

        ESP32 增加了 额外的 CPU 核心、更快的 Wi-Fi、更多的 GPIO,并支持蓝牙 4.2和蓝牙低功耗。此外,ESP32 带有  可用于将 ESP32 从深度睡眠中唤醒的触敏引脚,以及 内置的霍尔效应传感器。

所以,总结一下:

  • ESP32 比 ESP8266 更快;
  • ESP32 自带更多功能齐全的 GPIO;
  • ESP32 支持 18 个通道(模拟启用引脚)的模拟测量,而 ESP8266 仅支持一个 10 位 ADC 引脚;
  • ESP32支持蓝牙,ESP8266不支持;
  • ESP32为双核(大部分机型),ESP8266为单核;
  • ESP32 比 ESP8266 贵一点。

        如需更详细地分析这些开发板之间的差异,我们建议阅读以下文章:ESP32 与 ESP8266 – 优缺点。

ESP32 开发板

        ESP32指的是ESP32裸芯片。但是,“ESP32”一词也用于指代 ESP32 开发板。使用 ESP32 裸芯片并不容易或不实用,尤其是在学习、测试和制作原型时。大多数时候,您会想要使用 ESP32 开发板。

        这些开发板配备了为芯片供电和编程、将其连接到您的计算机、连接外围设备的引脚、内置电源和控制 LED、用于 wi-fi 信号的天线以及其他有用功能所需的所有电路。其他的甚至带有额外的硬件,例如特定的传感器或模块、显示器或 ESP32-CAM 的摄像头。

如何选择ESP32开发板?

        一旦开始在线搜索 ESP32 开发板,您会发现有来自不同供应商的各种各样的开发板。虽然它们都以类似的方式工作,但有些板可能比其他板更适合某些项目。在寻找 ESP32 开发板时,您需要考虑几个方面:

  • USB转UART接口及稳压电路。大多数全功能开发板都具有这两个功能。这对于轻松将 ESP32 连接到您的计算机以上传代码和通电非常重要。
  • BOOT 和 RESET/EN 按钮将电路板置于闪烁模式或重置(重启)电路板。有些板子没有BOOT按钮。通常,这些板会自动进入闪烁模式。
  • 引脚配置和引脚数量。要在您的项目中正确使用 ESP32,您需要能够访问电路板引出线(就像一张地图,显示哪个引脚对应哪个 GPIO 及其功能)。因此,请确保您可以访问您所获得的电路板的引出线。否则,您可能最终会错误地使用 ESP32。
  • 天线连接器。大多数开发板都带有用于 Wi-Fi 信号的板载天线。一些电路板带有天线连接器,可以选择连接外部天线。添加外部天线可增加您的 Wi-Fi 覆盖范围。
  • 电池连接器。如果您想使用电池为 ESP32 供电,可以使用带有锂聚合物电池连接器的开发板——这样会更方便。您还可以通过电源引脚用电池为“常规”ESP32 供电。
  • 额外的硬件功能。有具有额外硬件功能的 ESP32 开发板。例如,有些可能带有内置 OLED 显示屏、LoRa 模块、SIM800 模块(用于 GSM 和 GPRS)、电池座、摄像头等。

什么是最适合初学者的 ESP32 开发板?

        对于初学者,我们建议使用 ESP32 开发板,该开发板具有大量可用的 GPIO,并且没有任何额外的硬件功能。同样重要的是,它带有常规电压和用于供电和上传代码的 USB 输入。

        在我们的大多数 ESP32 项目中,我们都使用ESP32 DEVKIT DOIT 开发板,这是我们推荐给初学者的开发板。该板有不同版本,具有不同数量的可用引脚(30、36 和 38)——所有板的工作方式都相似。

ESP32 开发套件 DOIT

在本文中,我们将使用 ESP32 DEVKIT DOIT 开发板作为参考。如果您有不同的板,请不要担心。本页信息也适用于其他 ESP32 开发板。

下图显示了 ESP32 DEVKIT DOIT V1 开发板,具有 36 个 GPIO 引脚的版本。

规格 – ESP32 DEVKIT V1 DOIT

下表汇总了 ESP32 DEVKIT V1 DOIT 开发板的特性和规格:

        这个特殊的 ESP32 板有 36 个引脚,每侧 18 个。可用 GPIO 的数量取决于您的开发板型号。

        要了解有关 ESP32 GPIO 的更多信息,请阅读我们的 GPIO 参考指南:  ESP32 引脚参考:您应该使用哪些 GPIO 引脚?

 

        它带有一个 microUSB 接口,您可以使用该接口将电路板连接到您的计算机以上传代码或通电。

        它使用 CP2102 芯片(USB 转 UART)通过 COM 端口使用串行接口与您的计算机通信。另一种流行的芯片是 CH340。检查开发板上的 USB 转 UART 芯片转换器是什么,因为您需要安装所需的驱动程序,以便您的计算机可以与开发板通信(本指南稍后将详细介绍)。

        该开发板还带有一个 RESET 按钮(可能标有 EN)以重新启动开发板,以及一个 BOOT 按钮以将开发板置于闪烁模式(可用于接收代码)。请注意,某些板可能没有 BOOT 按钮。

        它还带有一个内置的蓝色 LED,在内部连接到 GPIO 2。此 LED 可用于调试以提供某种视觉物理输出。当您为电路板供电时,还有一个红色 LED 会亮起。

ESP32 GPIO 引脚指南

        ESP32 芯片有 48 个引脚,具有多种功能。并不是所有的 ESP32 开发板的管脚都是外露的,有些管脚是不应该使用的。ESP32 DEVKIT V1 DOIT 板通常带有 36 个外露的 GPIO,可用于连接外设。

电源引脚

        通常,所有电路板都带有电源引脚:3V3、GND 和 VIN。您可以使用这些引脚为电路板供电(如果您不通过 USB 端口供电),或为其他外围设备供电(如果您使用 USB 端口为电路板供电)。

通用输入输出引脚 (GPIOS)

        几乎所有的 GPIO 都分配了一个编号,这就是您应该如何称呼它们——通过它们的编号。

        使用 ESP32,您可以决定哪些引脚是 UART、I2C或SPI您只需在代码中进行设置即可。这是可能的,因为 ESP32 芯片的多路复用功能允许将多个功能分配给同一引脚。

        如果您不在代码中设置它们,则默认配置引脚如下图所示(引脚位置可能会因制造商而异)。此外,还有一些具有特定功能的管脚,使它们适合或不适合特定项目。

        我们有专门针对 ESP32 GPIO 的详细指南,我们建议您阅读:ESP32 引脚分配参考指南。它展示了如何使用 ESP32 GPIO,并解释了根据您的项目使用的最佳 GPIO。

        GPIO 的位置​​可能因您的电路板型号而异。然而,通常情况下,无论您使用何种开发板,每个特定的 GPIO 都以相同的方式工作(有一些例外)。比如不管是什么板子,通常GPIO5总是VSPI CS0引脚,GPIO 23总是对应VSPI MOSI进行SPI通信等。

如何对 ESP32 进行编程?

ESP32 可以使用不同的固件和编程语言进行编程。您可以使用:

■ Arduino C/C++ 为 ESP32 使用 Arduino 内核
■ 乐鑫 IDF(物联网开发框架)
■ MicroPython
■ JavaScript
■ LUA
……
我们首选的 ESP32 编程方法是使用 C/C++“Arduino 编程语言”。我们还有一些使用MicroPython 固件的指南和教程。

使用 Arduino IDE 对 ESP32 进行编程

要对电路板进行编程,您需要一个 IDE 来编写代码。对于初学者,我们推荐使用 Arduino IDE。虽然它不是最好的 IDE,但它运行良好并且对于初学者来说简单直观。在熟悉 Arduino IDE 并开始创建更复杂的项目后,您可能会发现将VS Code 与 Platformio 扩展一起使用会很有用。

如果您刚刚开始使用 ESP32,请从Arduino IDE开始。在编写本教程时,我们建议将旧版本 (1.8.19)与 ESP32 一起使用。虽然版本 2 与 Arduino 配合良好,但仍然存在一些错误和 ESP32 尚不支持的一些功能。

安装 Arduino 集成开发环境

要运行 Arduino IDE,您需要在计算机上安装 JAVA。如果没有,请访问以下网站下载并安装最新版本:http://java.com/download。

下载 Arduino IDE

要下载 Arduino IDE,请访问以下 URL:

  • Software | Arduino

不要安装 2.0 版本。在编写本教程时,我们建议将旧版本 (1.8.19)与 ESP32 一起使用。虽然版本 2 与 Arduino 配合良好,但仍然存在一些错误和 ESP32 尚不支持的一些功能。

向下滚动,直到找到旧版部分。

选择您的操作系统并下载软件。对于 Windows,我们建议下载“ Windows ZIP 文件”。 

运行 Arduino IDE

获取您刚刚下载的文件夹并将其解压缩。运行名为arduino.exe的可执行文件(下面突出显示)。

Arduino IDE 窗口应该打开。

在 Arduino IDE 中安装 ESP32

为了能够使用 Arduino IDE 对 ESP32 进行编程,您需要添加对 ESP32 开发板的支持。按照以下步骤操作:

  1. 转到文件>首选项

  1. 在“ Additional Board Manager URLs ”字段中输入以下内容。这也将增加对 ESP32 和 ESP8266 板的支持。

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json,

http://arduino.esp8266.com/stable/package_esp8266com_index.json

 见下图。然后,单击“确定”按钮。

  1. 打开开发板管理器。转到工具>董事会>董事会经理...
  1. 搜索ESP32并安装“ ESP32 by Espressif Systems ”:

 就是这样。它将在几秒钟后安装。

在此之后,重新启动您的 Arduino IDE。

然后,转到“工具” > “电路板”并检查您是否有可用的 ESP32 电路板。

现在,您已准备好开始使用 Arduino IDE 对 ESP32 进行编程。

ESP32 示例

在您的 Arduino IDE 中,您可以找到 ESP32 的多个示例。首先,确保您在Tools > Board中选择了 ESP32 开发板。然后,只需转到“文件” > “示例”并查看 ESP32 部分下的示例。

在 Arduino IDE 中更新 ESP32 内核

偶尔检查一下您是否安装了最新版本的 ESP32 开发板附加组件是个好主意。

您只需要转到Tools  > Board  > Boards Manager,搜索ESP32,然后检查您安装的版本。如果有更新的版本可用,请选择该版本进行安装。

使用 Arduino IDE 将代码上传到 ESP32

        为了向您展示如何将代码上传到您的 ESP32 板,我们将尝试 ESP32 的 Arduino IDE 示例中提供的一个简单示例。

     首先,确保您在Tools > Board中选择了 ESP32 。然后,转到文件>示例WiFi > WiFiScan

     这将加载扫描 ESP32 板范围内的 Wi-Fi 网络的代码。

         使用 USB 数据线将 ESP32 开发板连接到计算机。如果您有 ESP32 DEVKIT DOIT 开发板,内置的红色 LED 会亮起。这表明电路板正在通电。

1) 转到Tools > Board,向下滚动到 ESP32 部分并选择您的 ESP32 开发板的名称。就我而言,它是 DOIT ESP32 DEVKIT V1 板。

2) 转到 工具 > 端口 并选择一个可用的 COM 端口。如果 COM 端口显示为灰色,则表示您没有所需的 USB 驱动程序。在继续之前检查安装 USB 驱动程序部分。

3) 按上传按钮。

有些开发板会自动进入闪烁模式,代码会立即成功上传。

其他开发板不会自动进入闪烁模式,因此您最终可能会遇到以下错误。

 无法连接到 ESP32:超时...正在连接...

或者类似的东西:

发生致命错误:无法连接到 ESP32:检测到错误的启动模式(0x13)!芯片需要处于下载模式。

        这意味着当您尝试上传代码时 ESP32 并未处于闪烁模式。在这种情况下,您应该长按开发板的BOOT按钮,当您开始看到“正在连接……”时。”调试窗口中的消息。

        注意:在某些板子中,一个简单的技巧可以使 ESP32 自动进入闪烁模式。查看以下教程:[已解决]无法连接到 ESP32:等待数据包标头超时。

        现在,代码应该已成功上传到电路板。你应该得到一个“完成上传”消息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1386143.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Arduino快速上手esp8266方案开发

认识ESP8266 ESP8266 是 Espressif Systems 生产的 Wi-Fi 片上系统 (SoC)。它非常适合物联网和家庭自动化项目,目前有非常高的市场普及率,还有更加高端的同时支持wifi和蓝牙的双核心芯片ESP32,可以在乐鑫官网查看完整的芯片列表。 ESP8266芯…

Microsoft Remote Desktop for Mac 中文正式版下载 微软远程连接软件

Microsoft Remote Desktop 是一款专为 Mac 用户设计的远程桌面工具,它可以帮助用户通过网络连接到其他计算机,实现远程控制和操作。 软件下载:Microsoft Remote Desktop for Mac 中文正式版下载 该工具支持多种远程连接协议,包括 …

imgaug库指南(23):从入门到精通的【图像增强】之旅

引言 在深度学习和计算机视觉的世界里,数据是模型训练的基石,其质量与数量直接影响着模型的性能。然而,获取大量高质量的标注数据往往需要耗费大量的时间和资源。正因如此,数据增强技术应运而生,成为了解决这一问题的…

DMVAE复现

复现结果–M->S:88.11,S->M:83.75,Joint:44.63,与原文差距在0.5个点内,可以接受 额外信息 第三篇完全复现的论文

Python实现递归最小二乘法回归模型(RecursiveLS算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 RLS主要是在误差平方和最小的原则基础上, 提出一种解析的拟合模型参数的迭代递推公式;可以实现在新的样…

案例126:基于微信小程序的民大食堂用餐综合服务平台

文末获取源码 开发语言:Java 框架:SSM JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序…

warning: GDB: Failed to set controlling terminal: Operation not permitted

运行环境 windows 10 wsl 1 ubuntu 20.04子系统 出现这个问题是因为运行在wsl1上,把系统运行到wsl2就行了。 解决办法 运行到wsl2 https://zhuanlan.zhihu.com/p/337104547 wsl2安装办法 关于编译个一个小问题,在vscode编译的一定要选对编译器&#…

开关电源如何覆铜

开关电源如何覆铜 开关电源覆铜是一个很重要的技术方法,如果没有很好的覆铜,就有可能会造成开关电源芯片的损坏。先介绍常见的开关电源电路: 图 1开关电源电路 从左到右分别是非同步整流Buck电路和同步整流Buck电路,第二排从左到…

Openharmony入门教程 相册问题修复

问题视频: 第五章-保存应用数据 _调用系统相册添加图片_哔哩哔哩_bilibili 跟着视频学习了Openharmony的入门,好不容易到了最后一个章节了,结果遇到了功能无法使用,还是得想办法 问题描述: 按照视频上的代码&#xf…

opencv-py-基础操作

文章目录 阈值分割灰度图效果 二值化效果 二值化取反效果 截取效果 TOZERO效果 TOZERO取反效果 滤波均值滤波高斯滤波中值滤波 图像拼接简单的横向和纵向拼接效果(三幅图片分别是均值滤波,高斯滤波,中值滤波) 腐蚀与膨胀 阈值分割…

vue下载文件流效果demo(整理)

在 Vue 项目中&#xff0c;你可以使用 FileSaver.js 库来方便地下载文件流。FileSaver.js 封装了不同浏览器的下载方式&#xff0c;使得下载文件更加简单和兼容。以下是一个完整的示例方法&#xff1a; 首先&#xff0c;安装 FileSaver.js 库&#xff1a; <template>&l…

如何通过内网穿透实现公网访问Portainer管理监控Docker容器

文章目录 前言1. 部署Portainer2. 本地访问Portainer3. Linux 安装cpolar4. 配置Portainer 公网访问地址5. 公网远程访问Portainer6. 固定Portainer公网地址 正文开始前给大家推荐个网站&#xff0c;前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风…

《如何制作类mnist的金融数据集》——1.数据集制作思路

1&#xff0e;数据集制作思路&#xff08;生成用于拟合金融趋势图像的分段线性函数&#xff09; 那么如何去制作这样的一个类minist的金融趋势曲线数据集呢&#xff1f; 还是如上图所示&#xff0c;为了使类别平均分布&#xff0c;因此可以选取三种“buy”的曲线、三种“sell”…

云渲染农场渲染和自己搭建农场渲染怎么选?哪个更划算?

&#xfeff;当我们面临繁重或紧急的渲染任务时&#xff0c;通常会选择云渲染的解决方案。可能很多人会问&#xff0c;我们是否能够自行建立一个小型的个人农场进行渲染呢&#xff1f;与云渲染农场相比&#xff0c;哪个更划算&#xff1f;更方便&#xff1f;接下来就带大家看看…

创意设计探索:8个推荐的高水平设计灵感网站

对于任何设计爱好者来说,浏览优质的设计网站无疑是激发创意、汲取灵感的重要途径之一。今天,小编精心为大家推荐了8个设计网站,无论你的设计方向是平面设计、包装设计、插画设计还是网页设计,这里都能帮你找到创作的灵感! 1.即时设计资源广场 即时设计是一款功能强大的云端设…

奈奎斯特-香农采样定理的理解(结合cos(8.5t)和傅里叶变换)

采样定理&#xff0c;通常被称为奈奎斯特-香农采样定理&#xff0c;是信号处理中的一个基本原则。它解释了如何从连续信号中采样以便在后续能完全重构原始信号。以下是该定理的核心要点&#xff1a; 采样定理的陈述&#xff1a;为了从其样本中无失真地重构一个连续时间信号&am…

Django框架完成读者浏览书籍,图书详情页,借阅管理

前情回顾&#xff1a; 使用Django框架实现简单的图书借阅系统——完成图书信息管理 文章目录 1.完成展示图书信息功能1.1django 静态资源管理问题1.2编写图书展示模板HTML 2.完成图书详情页功能2.1从后端获取图书详情信息2.2详情页面展示图书数据 3.完成借阅管理功能3.1管理员…

MIinW-W64交叉编译找不到‘mutex‘问题解决

问题 在linux下安装mingw-w64来交叉编译Windows的程序和库. 就像我之前的一篇博客提到的来进行mingw的交叉编译 这样默认安装的线程模型是win32模型.这个线程模型不支持mutex. 一般查找问题的过程: 线程模型通常包含互斥锁&#xff08;mutex&#xff09;作为线程同步的基本工…

开源对象存储服务器MinIO本地部署并结合内网穿透实现远程访问管理界面

文章目录 前言1. Docker 部署MinIO2. 本地访问MinIO3. Linux安装Cpolar4. 配置MinIO公网地址5. 远程访问MinIO管理界面6. 固定MinIO公网地址 前言 MinIO是一个开源的对象存储服务器&#xff0c;可以在各种环境中运行&#xff0c;例如本地、Docker容器、Kubernetes集群等。它兼…

网页测试遇到自动弹窗,Alert类无法处理?或许你该来学学这招了!

相信大家在使用selenium做网页自动化时&#xff0c;会遇到如下这样的一个场景&#xff1a; 在你使用get访问某一个网址时&#xff0c;会在页面中弹出如上图所示的弹出框。 首先想到是利用Alert类来处理它。 然而&#xff0c;很不幸&#xff0c;Alert类处理的结果就是没有结果…