-
ESP32 UART 硬串口重定义通信举例说明
在本教程中,我们将使用 Arduino IDE 的 UART 硬件库在两个 ESP32 板之间执行 UART 或串行通信。 在串口不够的时候,这种方法很管用。 要使用 USB 端口调试和编程 ESP32,需要使用串行端口,即通用异步接收器/发送器 (UART) 通信。对于大多数传感器和系统,主要通信方法被认为是 UART。为了共享工作负载、信息并执行不同的任务,有时需要两个 ESP32 板之间进行…...- Luca
- 0
- 1
- 1.5k
-
二十八,如何配置ESP32双核
1,介绍 ESP32是ESP8266 的一个升级、改进的版本(花时间玩ESP32 后,发现比ESP8266更快,功能更加丰富)。ESP32 的一个特点是其他单片机不能比的是它支持双核。以下的演示将为您展示如何在arduino中配置ESP32 多核。 2.硬件 ESP32开发板 3.代码设计 我们将重用Queue教程,在本演示中,我们创建了2个任务,1个任务称为“sendTa…...- Code_Mouse
- 0
- 1
- 6.9k
-
二十九,ESP32FreeRTOS:如何使用Messages Queue
1,介绍 队列是先进先出(FIFO)缓冲区。 - 在FreeRTOS中: + Queue用于存储在任务之间交换的数据/消息。 +数据将被复制(不参考)到队列。 +多任务访问 +阻塞队列读取(任务移动到阻塞状态以等待数据) +阻塞队列写入(任务移动到阻塞状态等待队列中的可用空间可用) +阻止多个队列(任务移动到阻塞状态以等待一组队列上的数据)。 2.演示 在本演示中,我们将创建3个任务,…...- Code_Mouse
- 0
- 1
- 3.8k
-
二十八,ESP32 低功耗睡眠模式
1,介绍所有先前与WiFi相关的演示,ESP32都以站点模式运行,其中ESP32将成为WiFi网络的客户端。在此演示中,我们将使其成为一个接入点,在该接入点中,它是WiFi发射点,以便WiFi客户端可以连接到它。请注意,ESP32可以在站点和接入点模式下运行,它是WiFi客户端并发射WiFi。2,硬件您不需要任何额外的硬件。3.软件为了设置ESP32的WiFi模式,我们将使用以下功能:- …...- Code_Mouse
- 0
- 1
- 5.6k
-
二十七,使用首选项备份ESP32主闪存中的数据
一,介绍 该库使用主闪存的一部分来存储数据, 数据存储在键值对下。密钥长度为15个ASCII字符,必须是唯一的。值可以是: +整数类型 +可变长度二进制数据(blob) - 必须匹配写入和读取值的数据类型。 - 我们的首选项具有如下结构: namespace { key:value } 其中命名空间是为了避免键冲突(…...- Code_Mouse
- 0
- 4
- 2.3k
-
二十六,ESP32 使用事件组同步多个任务-广播事件
一,介绍 事件组的好处: - 任务将处于阻塞状态以等待一个或多个事件的组合。它有助于同步多个任务,广播事件(通过设置任务的事件位以通知发生的事件)到多个任务。 - 取消阻止等待相同事件/操作或要发生/完成的事件/操作组合的所有任务。 - 事件标志可以是0或1.它用于指示事件是否发生。并且由EventBits_t数据类型中的一个位表示。 - 事件组是一组事件标志。 - EventBits_t的值为0…...- Code_Mouse
- 0
- 0
- 4.6k
-
二十五,ESP32 使用定时器中断
一,介绍 在blinky演示中,我们使用delay()函数使LED闪烁。在本演示中,我们将使用Timer(这是硬件定时器)来复制delay()函数。使用Timer我们可以安排何时需要启动任务和重复。应用于此演示,当Timer超时时,我们将每1秒更改LED的当前状态(ON至OFF至ON)。 二,硬件 ESP32开发板 一个红色LED 三,电路图 连接: [ESP32 IO18和ESP32 GND到L…...- Code_Mouse
- 0
- 15
- 9.5k
-
二十四,ESP32 条件运算符
一,介绍 在本教程中,我将介绍再ESP32 在arduino核心上如何使用C++条件运算符(三元运算符,此运算符需要三个操作数,并具有以下语法: Expression1 ? Expression2 : Expression3 计算第一个表达式并隐式转换为布尔值。如果计算结果为true,则计算第二个表达式。如果它的计算结果为false,则会计算第三个表达式。 条件运算符的最终结果是第二个或第三个表达…...- Code_Mouse
- 0
- 0
- 1.1k
-
二十三,ESP32 按AND 位运算符
一,介绍 在本例程中,我们将在arduino核心上使用AND位运算符。在ESP32 上面运行。 请注意,这是一个C/C++ 的运算符,这意味着我们可以在arduino 支持的其他微控制器的程序中以及通用的C/C++ 程序中使用它。 在二进制中,AND 运算符是双目运算符。产生的结果是一位。如果输入位均为1,则结果为1,对于其他输入组合。结果都为0。你可以在图1的真值表中查询。以及所有的输入组合。 …...- Code_Mouse
- 0
- 0
- 977
-
二十二,ESP32 SPIFFS 获取文件的大小
一,介绍 在本教程中,我们将使用ESP32 SPIFFS文件系统 获取文件的大小。有关于如何写入文件的介绍,请在这里查询。 二,硬件 ESP32开发板 三,电路图 无 四,代码设计 正如我们在之前的帖子中所做的那样,我们需要包含SPIFFS.h库。这样,我们就可以访问SPIFFS extern变量,我们将使用它来与文件系统进行交互。 #include "SPIFFS…...- Code_Mouse
- 0
- 3
- 2.7k
-
二十一,ESP32 SPIFFS:读取一个文件
一,介绍 在本教程中我将检测在ESP32 使用SPIFFS 文件系统从文件中读取内容,有关于如何编写文件的详细教程,请看上一篇的教程。 在下面的的代码中,我们将在读取之前编写该文件。但如果你已经按照上一个教程进行操作的话,你可以跳过这一步。因为该文件已经保留在SPIFFS 文件系统中了。 二,硬件 ESP32开发板 三,电路图 无 四,代码设计 我们通过包含SPIFFS.h库来启动代码,因此我们可…...- Code_Mouse
- 0
- 0
- 4.7k
-
二十,ESP32 SPIFFS:写一个文件
一,介绍 在本教程中,我我们将使用SPIFFS文件系统如何在ESP32 中创建一个文件。SPIFFS它是旨在用于SPI NOR 闪存器上的嵌入式设备文件系统,您可以在此处阅读有关SPIFFS的更多信息。 在本教程中,我们将检验如何挂载文件系统。创建文件并向里面写入一些文本,而下一个教程中我们将介绍如何读取文件。本教程基于arduino 核心SPIFFS示例。 二,硬件 ESP32开发板 三,电路图…...- Code_Mouse
- 0
- 12
- 5.8k
-
十九 ,ESP32 74HC595 的使用
一,介绍 74HC595 是一款价格便宜的八位移位锁存器,通过三个引脚(DS、STCP、SHCP),就可以控制几乎无限量地输出。 DS是串行输入端口,每当时钟输入(SHCP)上升沿来临时,DS引脚当前电平值在移位寄存器中会移一位,连续进行8次同样的动作,就可以完成全部(Q0至Q7)移位。最后当STCP(Latch)上升沿到来时,移位寄存器的值将会被锁定在存储器里,并从Q0至Q7引脚输出。ESP32…...- Code_Mouse
- 1
- 4
- 4.8k
-
十八,ESP32 PIR运动传感器的使用
一.介绍 在本教程中,我们使用ESP32 和PIR运动传感器检测运动的物体,由于PIR运动传感器检测到运动的物体会返回一个高电平,这意味着我们可以使用它来检测一个人何时进入和离开某一个区域。在许多场景都用到了这个一个传感器,比如触发警报或打开灯。 IR代表P yroelectric I nfra r ed(很多时候,它们也被称为P ass…...- Code_Mouse
- 0
- 3
- 2.2k
-
十七,ESP32内部霍尔传感器
一,介绍 本文的主要目的是解释如何使用ESP32 的内部传感器获取测量的结果,霍尔传感器是在磁场的作用下输出比例电压的一个装置。这是ESP32众多传感器的一种,我们将获取附近没有磁场的值,然后我们将磁铁靠近ESP32时测试的结果。 二,硬件 ESP32开发板 三,代码设计 对于这个ESP32教程,我们不需要任何库包含。此外,设置功能将非常简单,基本上是打开串行通信,因此我们可以将霍尔传感器测量结果…...- Code_Mouse
- 0
- 7
- 5.2k
-
十六,ESP32 OLED(ssd1306)显示器入门
一,介绍 在本教程中,我们使用ESP32 在I2C OLED显示屏进行显示“hello word”,为了与显示屏进行交互,我们在这里使用了I2C的协议。让我们感到高兴的是,ESP32 的arduino核心已经实现了一个与Wire.h先对应的库。此外我们还需要安装一个ssd1306 的库,这个库可以使用更高级的API与显示器进行交互,提供了一些非常易于使用的功能,它可以通过A…...- Code_Mouse
- 0
- 7
- 17.6k
-
十五,ESP32 连接到WIFi网络
我这一篇文章主要说的是如何使用arduino IDE 将ESP32 连接到WIFi网络。 一,介绍 这篇文章的目的是解释如何使用Arduino IDE将ESP32连接到WiFi网络。幸运的是,对于我们之前有ESP8266 Arduino IDE库经验的人来说,程序非常相似。 如果您尚未安装ESP32 Arduino IDE支持,请在如何操作。 二.元器件清单 ESP32开发板 四.代码设计 下面我…...- Code_Mouse
- 0
- 16
- 4.4k
-
十四,ESP32 中使用中断
1.简介 中断的概念: 中断发生 CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理 中断响应和中断服务 CPU暂时中断当前的工作,转去处理事件B 中断返回 待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A 这一过程称为中断。 本教程的演示非常简单。我们使用一个按钮连接到中断引脚。每次用户按下按钮,都会在E…...- Code_Mouse
- 1
- 12
- 7.9k
-
十二,ESP32将数据存储到SD卡
一.介绍 使用SD卡来存储数据。因为SD卡容量大,所以与EEPROM相比可以存储更多数据。为什么SD卡对ESP32很有用?如您所知,ESP8266和ESP32在物联网应用中更受欢迎。他们可以保留以下角色: - 客户端从传感器收集数据,如温度或湿度或事件日志,并将这些数据保存到SD卡中。 - 使用SD卡存储网页,图像,javascript等的Web服务器,它将返回给客户端请求。 由于micro sd…...- Code_Mouse
- 1
- 17
- 16k
-
十一,ESP32 SPI LED点阵显示信息
一.介绍 本演示向您展示如何通过MAX7219模块将LED矩阵模块连接到Arduino ESP32,以显示ESP32的信息。将ESP32连接到LED矩阵模块有两种方法: 直接连接。通过这种方式,ESP32将浪费许多GPIO引脚(至少8x8用于8x8 Led矩阵)。 通过MAX7219模块连接。通过这种方式,ESP32将只使用3个GPIO引脚作为SPI MOSI,CLK和CS引脚。MAX7219负责…...- Code_Mouse
- 0
- 8
- 6.1k
-
十,ESP32 在I2C LCD显示信息
一.介绍 本教程介绍如何通过LCM1602模块将LCD模块连接到Arduino ESP32,以显示来自ESP32的信息。将ESP32连接到LCD模块有两种方法: 直接连接。通过这种方式,ESP32将浪费7个GPIO引脚(4个GPIO引脚用于数据传输,3个GPIO引脚用于LCD控制)。 通过LCM1602模块连接。通过这种方式,ESP32将仅使用2个GPIO引脚作为I2C SDA和SCL引脚。LCM…...- Code_Mouse
- 0
- 7
- 6.2k
-
九,ESP32 DHT11/22 读取温湿度
一.介绍 传感器模块DHT11 / DHT22用于测量温度/湿度。在本教程中,我们将学习如何使用Arduino ESP32与DHT11 / DHT22(这里使用DHT11)进行通信,以读取温度和湿度值。 二.元器件清单 ESP32开发板 一个DHT11模块 面包板 导线若干 三.电路图 四.代码设计 我们将使用由Adafruit提供的DHT22库传感器。你可以在这里下载https: //githu…...- Code_Mouse
- 0
- 26
- 8.1k
-
八,ESP32使用多个串行端口
一.介绍 ESP32支持3个串行端口,因此您无需像通常的Arduino那样使用SoftwareSerial。在本教程中,我们只关心使用如何在Arduino ESP32上使用多个串行端口将调试信息打印到终端。 二.元器件清单 ESP32开发板 三.代码设计 我们使用“ HardwareSerial ”类进行串行通信。它有一些重要的接口: HardwareSerial(int uart_nr) 这是…...- Code_Mouse
- 0
- 23
- 8.6k