ESP32
文章平均质量分 93
240MHz Xtensa 32-bit LX6 单/双核处理器/ QSPI 支持多个 flash/SRAM, 520 KB SRAM/ WIFI 4, 2.4 GHz/ 蓝牙 4.2/ 3xUART, 8-bit 2xADC
Leung_ManWah
这个作者很懒,什么都没留下…
展开
-
ESP32学习笔记(52)——三轴加速度ADXL345使用(SPI方式)
ADXL345 是一款 ADI 公司推出的基于 iMEMS 技术的超低功耗3轴加速度计,分辨率高(13位),测量范围达 ±16g。数字输出数据为 16 位二进制补码格式,可通过SPI(3线或4线)或I2C数字接口访问。ADXL345 非常适合移动设备应用。它可以在倾斜检测应用中测量静态重力加速度,还可以测量运动或冲击导致的动态加速度。其高分辨率(3.9mg/LSB),能够测量不到 1.0° 的倾斜角度变化。该器件提供多种特殊检测功能。原创 2023-08-07 19:11:44 · 4911 阅读 · 5 评论 -
ESP32学习笔记(51)——搭建环境、编译烧写(Windows+Espressif-IDE)
# 一、搭建环境## 1.1 官方资料[ESP-IDF 编程指南](https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/get-started/index.html#id2)## 1.2 下载Espressif-IDE安装器官网下载:[https://dl.espressif.cn/dl/esp-idf/?idf=4.4](https://dl.espressif.cn/dl/esp-idf/?idf=4.4)![](ht原创 2022-07-28 18:18:32 · 6328 阅读 · 4 评论 -
ESP32学习笔记(50)——ESP-WIFI-MESH接口使用
ESP-WIFI-MESH是建立在Wi-Fi协议之上的网络协议。ESP-WIFI-MESH允许分布在大范围物理区域内(室内和室外)的许多设备(以下称为节点)在同一个WLAN(无线局域网)下互连。ESP-WIFI-MESH是自组织和自修复的,这意味着网络可以自主构建和维护。ESP-IDF 编程指南——ESP-WIFI-MESHESP-WIFI-MESH 编程指南传统Wi-Fi网络是“一点对多点”网络,其中称为接入点(AP)的单个中心节点直接连接到所有其他称为站点(Station)的节点。AP负责仲裁和转发站原创 2022-06-08 16:05:31 · 6021 阅读 · 12 评论 -
ESP32学习笔记(49)——RFID RC522使用
一、简介MF RC522 是应用于 13.56MHz 非接触式通信中高集成度读写卡系列芯片中的一员。是 NXP 公司针对“三表”应用推出的一款低电压、低成本、体积小的非接触式读写卡芯片,是智能仪表和便携式手持设备研发的较好选择。MFRC522数据手册: https://pan.baidu.com/s/10v68Z7sCFFSwPgrZ2eHtXw?pwd=d4fw 提取码:d4fw二、硬件连接功能口引脚MISO19MOSI23SCLK18CS5原创 2022-05-30 14:25:36 · 6616 阅读 · 2 评论 -
ESP32学习笔记(48)——WiFi蓝牙网关
一、项目简介蓝牙网关 又叫蓝牙探针,是采集蓝牙设备的蓝牙数据,通过 WIFI 等方式传至服务器的一款中继设备。如果类比的话,就如同 WIFI 网络中的无线 AP 的作用。WIFI 网络中无线 AP 是将 WIFI 设备接入网络,而蓝牙网络中的蓝牙网关,是将蓝牙设备接入网络。帮普通的蓝牙设备和服务器端之间做一个蓝牙广播上报的功能。项目特性:采用 240MHz Xtensa 32-bit LX6 双核处理器支持 STA 工作模式支持 Smart Config/AirKiss 一键配网内嵌原创 2022-05-17 16:47:59 · 6876 阅读 · 16 评论 -
ESP32学习笔记(47)——加密算法AES/MD5/SHA
一、简介1.1 SSLSSL:(Secure Socket Layer,安全套接字层),位于可靠的面向连接的网络层协议和应用层协议之间的一种协议层。SSL通过互相认证、使用数字签名确保完整性、使用加密确保私密性,以实现客户端和服务器之间的安全通讯。该协议由两层组成:SSL记录协议和SSL握手协议。1.2 TLSTLS:(Transport Layer Security,传输层安全协议),用于两个应用程序之间提供保密性和数据完整性。该协议由两层组成:TLS记录协议和TLS握手协议。1.3 mbed原创 2021-10-27 14:00:57 · 9145 阅读 · 3 评论 -
ESP32学习笔记(46)——MQTT客户端
一、MQTT简介1.1 实现方式实现MQTT协议需要客户端和服务器端通讯完成,在通讯过程中,MQTT协议中有三种身份:发布者(Publish)、代理(Broker)(服务器)、订阅者(Subscribe)。其中,消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者。MQTT传输的消息分为:主题(Topic)和负载(payload)两部分:Topic,可以理解为消息的类型,订阅者订阅(Subscribe)后,就会收到该主题的消息内容(payload);payload,可以理解原创 2021-09-08 13:39:54 · 6529 阅读 · 3 评论 -
ESP32学习笔记(45)——DAC接口使用
一、概述ESP32 有两个 8 位 DAC(数模转换器) 通道,分别连接 GPIO25(通道 1) 和 GPIO26(通道 2)。DAC 驱动器允许将这些通道设置为任意电压。ESP-IDF 编程指南——DAC二、API说明以下 DAC 接口位于 driver/include/driver/dac_common.h 。2.1 dac_output_voltage2.2 dac_output_enable2.3 dac_cw_generator_config2.4 dac_cw_ge原创 2021-08-17 17:05:37 · 8115 阅读 · 3 评论 -
ESP32学习笔记(44)——SD卡使用(SPI方式)
一、简介SD 卡(Secure Digital Memory Card) 在我们生活中已经非常普遍了,控制器对 SD 卡进行读写通信操作一般有两种通信接口可选,一种是 SPI 接口,另外一种就是 SDIO 接口。SDIO 全称是安全数字输入/输出接口,多媒体卡(MMC)、SD 卡、SD I/O 卡都有 SDIO 接口。MMC 卡可以说是 SD 卡的前身,现阶段已经用得很少。二、API说明以下 SD SPI 主机接口位于 driver/include/driver/sdspi_host.h。原创 2021-08-16 11:21:45 · 9811 阅读 · 2 评论 -
ESP32学习笔记(43)——SD卡使用(SDMMC方式)
一、简介SD 卡(Secure Digital Memory Card) 在我们生活中已经非常普遍了,控制器对 SD 卡进行读写通信操作一般有两种通信接口可选,一种是 SPI 接口,另外一种就是 SDIO 接口。SDIO 全称是安全数字输入/输出接口,多媒体卡(MMC)、SD 卡、SD I/O 卡都有 SDIO 接口。MMC 卡可以说是 SD 卡的前身,现阶段已经用得很少。二、API说明以下 SDMMC 接口位于 driver/include/driver/sdmmc_host.h。2.1原创 2021-08-13 17:26:07 · 11211 阅读 · 0 评论 -
ESP32学习笔记(42)——硬件定时器接口使用
一、简介ESP32 芯片包含两个硬件定时器组。每组有两个通用硬件定时器。它们都是基于 16 位预分频器和 64 位递增/递减计数器的 64 位通用定时器,能够自动重新加载。ESP-IDF 编程指南——通用定时器二、API说明以下软件定时器接口位于 driver/include/driver/timer.h。2.1 timer_init2.2 timer_set_counter_value2.3 timer_set_alarm_value2.4 timer_enable_intr2.原创 2021-08-09 14:41:08 · 3710 阅读 · 0 评论 -
ESP32学习笔记(41)——SNTP接口使用
一、SNTP简介简单网络时间协议(Simple Network Time Protocol),由 NTP 改编而来,主要用来同步因特网中的计算机时钟。SNTP 协议是用来同步本地的时间到 unix 时间戳。通常嵌入式设备上电,连接 AP(access point),获取 IP 地址后,就需要使用 SNTP 协议获取全球时间。以便于下一步的应用交互和使用。SNTP 工作原理比较简单, 通俗来说,就是设备向 SNTP server 发送一包 SNTP 请求,服务器收到请求后回复一包原创 2021-07-30 17:52:29 · 5481 阅读 · 0 评论 -
ESP32学习笔记(40)——Watchdog看门狗使用
一、简介看门狗其实就是一个定时器,从功能上说它可以让微控制器在程序发生意外(程序进入死循环或跑飞)的时候,能重新回复到系统刚上电状态,以保障系统出问题的时候可以重启一次。说的复杂一点,看门狗就是能让程序出问题是能重新启动系统。ESP-IDF 支持两种类型的看门狗:中断看门狗定时器和任务看门狗定时器(TWDT)。中断看门狗定时器和 TWDT 都可以使用项目配置菜单启用,但是 TWDT 也可以在运行时启用。中断看门狗负责检测 FreeRTOS 任务切换被长时间阻塞的情况。TWDT 负责检测任务长时间不让步原创 2021-07-28 17:55:46 · 11477 阅读 · 4 评论 -
ESP32学习笔记(39)——播放MP3文件(内部DAC方式)
一、背景ESP-ADF 的 API 提供了一种使用编解码器(解码器和编码器)、流或音频处理功能等元素开发音频应用程序的方法。该框架是通过将Elements组合成一个Pipeline来开发音频应用程序。如下图所示:将MP3解码器和I2S流两个元素添加进管道,解码器的输入是MP3文件数据流,I2S流将解码后的音频数据输出到片外,各应用程序之间通过事件接口通信。二、API说明以下音频元素接口位于 audio_pipeline/include/audio_element.h。2.1 audio_el原创 2021-07-27 17:35:02 · 12224 阅读 · 9 评论 -
ESP32学习笔记(38)——播放MP3文件(外部Codec方式)
一、背景ESP-ADF 的 API 提供了一种使用编解码器(解码器和编码器)、流或音频处理功能等元素开发音频应用程序的方法。该框架是通过将Elements组合成一个Pipeline来开发音频应用程序。如下图所示:将MP3解码器和I2S流两个元素添加进管道,解码器的输入是MP3文件数据流,I2S流将解码后的音频数据输出到片外,各应用程序之间通过事件接口通信。二、API说明以下音频 HAL 接口位于 audio_hal/include/audio_hal.h。2.1 audio_hal_init原创 2021-07-24 12:05:58 · 6383 阅读 · 3 评论 -
ESP32学习笔记(37)——搭建ESP-ADF(乐鑫音频开发框架)
一、简介ESP-ADF 以最全面的方式支持 Espressif 系统 SoC 音频应用程序的开发。使用 ESP-ADF ,您可以轻松地添加功能,开发从简单到复杂的音频应用程序:音乐播放器或录音机支持音频格式:如MP3、AAC、FLAC、WAV、OGG、OPUS、AMR、TS、EQ、Downmixer、Sonic、ALC、G.711等。播放音乐来源:HTTP,HLS(HTTPLive流),SPASS,SD Card,A2DP-Source,A2DP-Sink,HFP等等。整合媒体服务:如DLNA、V原创 2021-07-22 16:14:12 · 15910 阅读 · 6 评论 -
ESP32学习笔记(36)——BluFi(蓝牙配网)接口使用
一、简介ESP32 的 BluFi 是通过蓝牙通道的 Wi-Fi 网络配置功能。它提供了一个安全协议来将 Wi-Fi 配置和凭据传递给 ESP32。使用这些信息,ESP32 可以连接到一个 AP 或建立一个 SoftAP。BluFi 层中的分片、数据加密、校验和验证是此过程的关键要素。您可以自定义对称加密、非对称加密和校验和支持自定义。这里我们使用DH算法进行密钥协商,128-AES算法进行数据加密,CRC16算法进行校验和验证。二、BluFi流程将 ESP32 设置为 GATT Server原创 2021-07-21 15:55:05 · 18199 阅读 · 4 评论 -
ESP32学习笔记(35)——蓝牙MAC地址
一、背景一个 BLE 设备,可以使用两种类型的地址(一个 BLE 设备可同时具备两种地址):Public Device Address(公共设备地址)Random Device Address(随机设备地址)可分为两类:Static Device Address(静态设备地址)Private Device Address(私密设备地址)又可分为两类:Non-resolvable Private Address(不可解析私密地址)Resolvable Private Address(可解析原创 2021-07-15 16:37:32 · 10695 阅读 · 7 评论 -
ESP32学习笔记(34)——BLE一主多从连接
一、简介由于蓝牙主机和从机组网,如果不使用 Mesh 的话,只能组微微网。蓝牙5.0的微微网最大可以连接20个从机。1.1 连接句柄在主机与从机发生连接的时候会进行连接句柄的分配。连接句柄的作用是在蓝牙数据进行分组的时候进行设备区分的。连接句柄相当于一个“令牌”,从设备一旦和主设备发生连接,主设备就给从设备分配一个“令牌”。主设备通过这个“令牌”来识别与区分从设备。因此对于连接句柄的分配将是实现一主多从连接,并且进行通信的关键。1.2 Bluedroid主机架构在 ESP-IDF 中,使用经过大原创 2021-07-14 11:30:37 · 15652 阅读 · 12 评论 -
ESP32学习笔记(33)——BLE GATT客户端发现服务和读写特征值
一、背景1.1 GATT协议GATT(Generic Attributes Profile)的缩写,中文是通用属性协议,是已连接的低功耗蓝牙设备之间进行通信的协议。一旦两个设备建立起了连接,GATT 就开始起作用了,这也意味着,你必需完成前面的GAP协议。GATT使用了 ATT(Attribute Protocol)协议,ATT 协议把 Service,Characteristic 对应的数据保存在一个查找表中,查找表使用 16bit ID 作为每一项的索引。GATT定义的多层数据结构简要概括起来原创 2021-07-13 09:18:24 · 7883 阅读 · 10 评论 -
ESP32学习笔记(32)——BLE GAP主机端连接
一、背景1.1 低功耗蓝牙(BLE)协议栈链路层(LL) 控制设备的射频状态,有五个设备状态:待机、广播、扫描、初始化和连接。广播 为广播数据包,而 扫描 则是监听广播。GAP通信中角色,中心设备(Central - 主机) 用来扫描和连接 外围设备(Peripheral - 从机)。1.2 BLE从初始化到建立连接的过程外围设备开始广播,发送完一个广播包后T_IFS,开启射频Rx窗口接收来自中心设备的数据包中心设备扫描到广播,在收取此广播T_IFS后如果开启了中心设备的扫描回复,中心设备原创 2021-07-12 14:02:37 · 4155 阅读 · 4 评论 -
ESP32学习笔记(31)——BLE带有属性表的GATT服务
一、简介1.1 通用属性协议(GATT)GATT是用Attribute Protocal(属性协议)定义的一个service(服务)框架。这个框架定义了Services以及它们的Characteristics的格式和规程。规程就是定义了包括发现、读、写、通知、指示以及配置广播的characteristics。为实现配置文件(Profile)的设备定义了两种角色:Client(客户端)、Server(服务器)。esp32的ble一般就处于Server模式。一旦两个设备建立了连接,GATT就开始发挥效用原创 2021-07-08 09:59:15 · 4921 阅读 · 0 评论 -
ESP32学习笔记(30)——BLE GATT服务端自定义服务和特征
一、简介1.1 低功耗蓝牙(BLE)协议栈链路层(LL) 控制设备的射频状态,有五个设备状态:待机、广播、扫描、初始化和连接。广播 为广播数据包,而 扫描 则是监听广播。GAP通信中角色,中心设备(Central - 主机) 用来扫描和连接 外围设备(Peripheral - 从机)。大部分情况下外围设备通过广播自己来让中心设备发现自己,并建立 GATT 连接,从而进行更多的数据交换。也有些情况是不需要连接的,只要外设广播自己的数据即可,用这种方式主要目的是让外围设备,把自己的信息发送给多个中原创 2021-07-07 10:03:49 · 8292 阅读 · 2 评论 -
ESP32学习笔记(29)——BLE iBeacon广播
一、简介iBeacon 是苹果公司2013年9月发布的移动设备用 OS(iOS7)上配备的新功能。其工作方式是,配备有 低功耗蓝牙(BLE) 通信功能的设备使用 BLE 技术向周围发送自己特有的 ID,接收到该 ID 的应用软件会根据该 ID 采取一些行动。比如,在店铺里设置 iBeacon 通信模块的话,便可让 iPhone 和 iPad 上运行一资讯告知服务器,或者由服务器向顾客发送折扣券及进店积分。此外,还可以在家电发生故障或停止工作时使用 iBeacon 向应用软件发送资讯。二、iBeaco原创 2021-07-06 10:09:21 · 7055 阅读 · 10 评论 -
ESP32学习笔记(28)——BLE GAP从机端广播自定义数据
一、背景1.1 低功耗蓝牙(BLE)协议栈链路层(LL) 控制设备的射频状态,有五个设备状态:待机、广播、扫描、初始化和连接。广播 为广播数据包,而 扫描 则是监听广播。GAP通信中角色,中心设备(Central - 主机) 用来扫描和连接 外围设备(Peripheral - 从机)。大部分情况下外围设备通过广播自己来让中心设备发现自己,并建立 GATT 连接,从而进行更多的数据交换。也有些情况是不需要连接的,只要外设广播自己的数据即可,用这种方式主要目的是让外围设备,把自己的信息发送给多个中原创 2021-07-05 17:58:27 · 6618 阅读 · 4 评论 -
ESP32学习笔记(27)——BLE GAP主机端扫描
一、背景1.1 低功耗蓝牙(BLE)协议栈链路层(LL) 控制设备的射频状态,有五个设备状态:待机、广播、扫描、初始化和连接。广播 为广播数据包,而 扫描 则是监听广播。GAP通信中角色,中心设备(Central - 主机) 用来扫描和连接 外围设备(Peripheral - 从机)。大部分情况下外围设备通过广播自己来让中心设备发现自己,并建立 GATT 连接,从而进行更多的数据交换。也有些情况是不需要连接的,只要外设广播自己的数据即可,用这种方式主要目的是让外围设备,把自己的信息发送给多个中原创 2021-06-22 11:21:10 · 4503 阅读 · 1 评论 -
ESP32学习笔记(26)——BLE GAP从机端广播
一、背景1.1 低功耗蓝牙(BLE)协议栈链路层(LL) 控制设备的射频状态,有五个设备状态:待机、广播、扫描、初始化和连接。广播 为广播数据包,而 扫描 则是监听广播。GAP通信中角色,中心设备(Central - 主机) 用来扫描和连接 外围设备(Peripheral - 从机)。大部分情况下外围设备通过广播自己来让中心设备发现自己,并建立 GATT 连接,从而进行更多的数据交换。也有些情况是不需要连接的,只要外设广播自己的数据即可,用这种方式主要目的是让外围设备,把自己的信息发送给多个中原创 2021-06-21 11:24:57 · 6574 阅读 · 12 评论 -
ESP32学习笔记(25)——OTA(空中升级)接口使用(简化API)
一、概述ESP32应用程序可以在运行时通过Wi-Fi或以太网从特定的服务器下载新映像,然后将其闪存到某些分区中,从而进行升级。在ESP-IDF中有两种方式可以进行空中(OTA)升级:使用 app_update 组件提供的原生API使用 esp_https_ota 组件提供的简化API,它在原生OTA API上添加了一个抽象层,以便使用HTTPS协议进行升级。分别在 native_ota_example 和 simple_ota_example 下的OTA示例中演示了这两种方法。1.1 O原创 2021-06-15 16:48:18 · 5182 阅读 · 4 评论 -
ESP32学习笔记(24)——OTA(空中升级)接口使用(原生API)
一、概述ESP32应用程序可以在运行时通过Wi-Fi或以太网从特定的服务器下载新映像,然后将其闪存到某些分区中,从而进行升级。在ESP-IDF中有两种方式可以进行空中(OTA)升级:使用 app_update 组件提供的原生API使用 esp_https_ota 组件提供的简化API,它在原生OTA API上添加了一个抽象层,以便使用HTTPS协议进行升级。分别在 native_ota_example 和 simple_ota_example 下的OTA示例中演示了这两种方法。1.1 O原创 2021-06-11 15:49:15 · 9635 阅读 · 14 评论 -
ESP32学习笔记(23)——NVS(非易失性存储)接口使用
一、简介非易失性存储 (NVS) 库主要用于在 flash 中存储键值格式的数据。NVS适合存储一些小数据,如果对象占用空间比较大,使用负载均衡的FAT文件系统。如果NVS分区被截断,比如更改分区表布局的时候,应该擦除分区内容。可以使用 idf.py erase_flash 命令擦除flash上全部的内容。NVS 的操作对象为键值对,其中键是 ASCII 字符串,当前支持最大键长为 15 个字符,值可以为以下几种类型:整数型: uint8_t、int8_t、uint16_t、int16_t、原创 2021-06-08 19:03:32 · 11374 阅读 · 5 评论 -
ESP32学习笔记(22)——ADC接口使用
一、概述ESP32 集成了 2 个 12 位逐次逼近模数转换器 (SARADC),支持 18 个测量通道(模拟使能引脚)。支持以下通道:ADC1:8通道:GPIO32 - GPIO39ADC2:10个通道:GPIO0、GPIO2、GPIO4、GPIO12-GPIO15、GOIO25-GPIO27ESP-IDF 编程指南——ADC1.1 ADC限制Wi-Fi 驱动程序使用了 ADC2。因此,应用程序只能在未启动 Wi-Fi 驱动程序时使用 ADC2。某些 ADC2 引脚用作捆原创 2021-06-04 17:15:04 · 15533 阅读 · 0 评论 -
ESP32学习笔记(21)——构建自己的工程和组件库
一、安装Espressif IDF插件点击 扩展(Ctrl+Shift+X),输入 esp,找到 Espressif IDF 进行安装点击 查看 - 命令面板(Ctrl+Shift+P)。输入 configure esp-idf extension,点击。使用 ADVANCED 安装选择本地 ESP-IDF 安装方式,选择 ESP-IDF 的路径ESP-IDF Tools 也同样选择本地自动安装扩展插件中,等待报错:pip版本不够,打开cmd,输入 pyt原创 2021-06-03 16:26:22 · 12488 阅读 · 8 评论 -
ESP32学习笔记(20)——SPI(从机)接口使用
一、SPI简介SPI(Serial Peripheral Interface) 协议是由摩托罗拉公司提出的通讯协议,即串行外围设备接口,是一种高速全双工的通信总线。它被广泛地使用在 ADC、LCD 等设备与 MCU 间,要求通讯速率较高的场合。芯片的管脚上只占用四根线。MISO: 主器件数据输出,从器件数据输入。MOSI:主器件数据输入,从器件数据输出。SCK: 时钟信号,由主设备控制发出。NSS(CS): 从设备选择信号,由主设备控制。当NSS为低电平则选中从器件。1.1 ESP32中原创 2021-05-27 14:55:34 · 12066 阅读 · 2 评论 -
ESP32学习笔记(19)——SPI(主机)接口使用
一、SPI简介SPI(Serial Peripheral Interface) 协议是由摩托罗拉公司提出的通讯协议,即串行外围设备接口,是一种高速全双工的通信总线。它被广泛地使用在 ADC、LCD 等设备与 MCU 间,要求通讯速率较高的场合。芯片的管脚上只占用四根线。MISO: 主器件数据输出,从器件数据输入。MOSI:主器件数据输入,从器件数据输出。SCK: 时钟信号,由主设备控制发出。NSS(CS): 从设备选择信号,由主设备控制。当NSS为低电平则选中从器件。1.1 ESP32中原创 2021-05-26 17:41:21 · 47520 阅读 · 14 评论 -
ESP32学习笔记(18)——光强度GY-30(BH1750)使用
一、简介BH1750FVI 是一种用于两线式串行总线接口的数字型光强度传感器集成电路。这种集成电路可以根据收集的光线强度数据来调整液晶或者键盘背景灯的亮度。利用它的高分辨率可以探测较大范围的光强度变化。传感器特点:支持I2CBUS接口接近视觉灵敏度的光谱灵敏度特性输出对应亮度的数字值对应广泛的输入光范围。(相当于1-65535lx)通过降低功率功能,实现低电流化。通过50Hz/60Hz除光噪音功能实现稳定的测定。支持1.8v逻辑输入接口。无需其他外部件。光源依赖性弱。有两种可选原创 2021-05-14 17:24:12 · 8157 阅读 · 9 评论 -
ESP32学习笔记(17)——I2C接口使用
一、I2C简介I2C(Inter-Integrated Circuit ,内部集成电路) 总线是一种由飞利浦 Philip 公司开发的串行总线。是两条串行的总线,它由一根数据线(SDA)和一根 时钟线(SDL)组成。两条线都需要上拉电阻。I2C 总线上可以接多个 I2C 设备,每个器件都有一个唯一的地址识别。同一时间只能有一个主设备,其他为从设备。通常 MCU 作为主设备控制,外设作为从设备。ESP32有两个I2C控制器(也称为端口),负责处理I2C总线上的通信。每个I2C控制器都可以作为主机或从机运原创 2021-05-13 19:35:25 · 20174 阅读 · 8 评论 -
ESP32学习笔记(16)——Touch Sensor(触摸按键)接口使用
一、简介电容式触摸感应技术已经广泛应用于家用电器、消费电子等领域,以此发展的触摸按键产品与传统按键相比按键有下面的优点:无机械装置,不宜磨损老化,超长使用寿命。表面无缝隙,无水分、杂质渗透。减少元件使用,BOM 成本降低。面板不需开孔,工业设计成本降低。产品外观美观,设计灵活。电容式触摸感应技术通过测量面板(传感器)和其环境之间的电容变化来检测触摸界面附近是否有触摸事件发生。下面一个典型的触摸传感器系统组成的示意图。保护覆盖层保护覆盖层是指触摸面板。触摸面板必须是绝缘材质,作用原创 2021-05-12 17:53:33 · 9888 阅读 · 1 评论 -
ESP32学习笔记(15)——LEDC(PWM)接口使用
一、简介LED控制(LEDC)外围设备主要用于控制LED的强度,尽管它也可以用于生成PWM信号用于其他目的。它具有16个通道,可以生成独立的波形,这些波形可以用于驱动RGB LED器件。LEDC通道分为两组,每组8个通道。一组LEDC通道以高速模式运行。此模式在硬件中实现,并提供PWM占空比的自动且无干扰的更改。另一组通道在低速模式下运行,PWM占空比必须由驱动程序在软件中进行更改。每组通道还能够使用不同的时钟源。PWM控制器可以自动逐渐增加或减少占空比,从而允许淡入而不会受到任何处理器干扰。ESP原创 2021-05-11 13:43:10 · 13408 阅读 · 5 评论 -
ESP32学习笔记(14)——HTTP服务器
一、HTTP简介HTTP(Hyper Text Transfer Protocol) 超文本传输协议,是一种建立在 TCP 上的无状态连接,整个基本的工作流程是客户端发送一个 HTTP 请求,说明客户端想要访问的资源和请求的动作,服务端收到请求之后,服务端开始处理请求,并根据请求做出相应的动作访问服务器资源,最后通过发送 HTTP 响应把结果返回给客户端。其中一个请求的开始到一个响应的结束称为事务,当一个事务结束后还会在服务端添加一条日志条目。1.1 HTTP请求HTTP 请求是客户端往服务端发送请原创 2021-05-09 13:37:56 · 11192 阅读 · 3 评论 -
ESP32学习笔记(13)——HTTP客户端
一、HTTP简介HTTP(Hyper Text Transfer Protocol) 超文本传输协议,是一种建立在 TCP 上的无状态连接,整个基本的工作流程是客户端发送一个 HTTP 请求,说明客户端想要访问的资源和请求的动作,服务端收到请求之后,服务端开始处理请求,并根据请求做出相应的动作访问服务器资源,最后通过发送 HTTP 响应把结果返回给客户端。其中一个请求的开始到一个响应的结束称为事务,当一个事务结束后还会在服务端添加一条日志条目。1.1 HTTP请求HTTP 请求是客户端往服务端发送请原创 2021-05-08 10:00:50 · 4643 阅读 · 8 评论