esp32-idf
文章平均质量分 85
记录esp32-idf的使用方法、出现的问题、解决方案
Ciaran-byte
这个作者很懒,什么都没留下…
展开
-
【ESP32-IDF】03-2 系统-系统时间
系统时间文章目录系统时间1. 概述2. 网络时间校正2.1 SNTP概述2.2 NTP时间戳2.3 通过SNTP进行系统时间校正2.3.1 思路2.3.2 库函数2.3.3 举例3. 获取系统时间3.1 时钟源3.2时间库3.2.1 数据类型(1) time_t(2) timeval(3) tm3.2.2 操作函数(1) time(2) gmtime()(3) localtime()(4) localtime与gmtime的区别(5) localtime_r()和gmtime_r()(6) asctime原创 2021-09-05 16:42:42 · 12963 阅读 · 2 评论 -
【ESP32-IDF】05-5 WIFI-MQTT高级内容
mqtt高级内容文章目录mqtt高级内容mqtt高级内容1. Qos服务质量等级1.1 什么是Qos1.2 Qos服务质量级别1.2.1 Qos=01.2.2 Qos=11.2.3 Qos=21.3 如何发送Qos>0 的数据1.3.1 发送Qos=1的数据1.3.2 发送Qos=2的数据1.4 服务质量降级2. 保留消息2.1 什么是保留消息2.2 如果修改保留消息2.3 如何删除保留消息2.4 保留消息报文2.5 保留消息的用途3. 心跳机制3.1 心跳机制是什么3.2 机制4. mqtt遗嘱4原创 2021-08-12 15:13:06 · 355 阅读 · 0 评论 -
【ESP32-IDF】05-4 WIFI-MQTT协议基础
mqtt协议基础文章目录mqtt协议基础1. mqtt的组成1.1 客户端1.2 服务端1.3 mqtt主题1.4 多重身份1.5 mqtt协议的特性2. 连接和断开mqtt服务器2.1 客户端向服务器发送请求2.2 服务端向客户端发送确认2.3 客户端与服务端断开连接3. 测试环境搭建4. 发布订阅和取消订阅4.1 发布信息4.2 订阅主题4.3 订阅确认4.4 取消订阅4.5 使用mqttfx软件进行模拟5. mqtt 主题5.1 主题的基本形式5.2 主题分级5.3 主题通配符5.3.1 单级别通配原创 2021-08-12 15:05:34 · 696 阅读 · 0 评论 -
【ESP32-IDF】 05-3 WIFI-esp32获取网络时间
esp32 获取网络时间文章目录esp32 获取网络时间1. 概述2. 代码1. 概述 esp32获取网络时间与获取天气和温度的原理是一样的,我们只需要把URL更换一下就是,看到一个好用的使用提供网站,参考了文章esp8266获取网络时间http://quan.suning.com/getSysTime.do2. 代码 直接放代码了,流程跟5-2是一样的#include "bsp_wifi_station.h"#include "freertos/FreeRTOS.h"#in原创 2021-07-09 19:36:35 · 3343 阅读 · 2 评论 -
【ESP32-IDF】 05-2 WIFI-esp32获取温度和天气信息
esp32获取温度和天气信息文章目录esp32获取温度和天气信息1. 概述2. esp32连接互联网3. 通过http协议获取天气数据3.1 心知天气3.2 原理讲解3.3 http client 库讲解4. 解析json数据5. 注意事项6. 代码展示1. 概述 我们使用esp32做物联网应用的时候,会有获取温度和天气信息的需求,这里就进行介绍。 获取天气和温度我们可以通过心知天气的API进行。 主要步骤为:通过esp32的wifi库连接到互联网通过esp32的http库,向心知天原创 2021-07-09 19:16:39 · 8504 阅读 · 12 评论 -
【ESP32-IDF】 02-6 外设-GPIO
GPIO文章目录GPIO1. 原理层面2. 编程层面2.1 GPIO输出2.1.1 通过结构体进行配置2.1.2 通过函数进行配置2.2 GPIO输入2.2.1 轮询方式2.2.2 中断方式3. GPIO配置总结1. 原理层面 每个引脚的输入和输出特性都是由IO_MUX和RTC_IO_MUX决定的。 输出时,外设通过MUX与pin pad进行绑定,即可输出 输入时,pin Pad设置好外设引脚为输入状态,并且设置好哪个外设接受这个信号即可。 配置上,GPIO可以设置为上下拉,可以设置方原创 2021-07-01 20:06:49 · 463 阅读 · 2 评论 -
【ESP32-IDF】 02-5 外设-UART
UART文章目录UART1. 概述2. 时钟源3. 框图4. 存储5. 引脚定义6. 例程6.1 串口发送数据7. 出现的问题1. 概述 esp32的UART一共有UART0、UART1和UART2三个UART,支持UART唤醒,并且可以使用DMA2. 时钟源80MHZ APB_CLK参考时钟REF_TICK 可以通过UART_CLKDIV_FRAG来选择时钟源3. 框图4. 存储 默认情况下uart0、1、2的输入和输出各占一个block。如果需要block大小可以更改原创 2021-07-01 19:55:15 · 1233 阅读 · 0 评论 -
【ESP32-IDF】05-1 WIFI-esp32联网
esp32联网文章目录esp32联网1. 简介2. 代码1. 简介 这个过程整体比较简单,联网过程可以参考官网教程 写这篇文章主要是有一个坑,就是wifi配置结构体 wifi_config_t wifi_config 的处理方法。 这里官网给出的初始化代码是 wifi_config_t wifi_config = { .sta = { .ssid = EXAMPLE_ESP_WIFI_SSID, .password = EX原创 2021-07-01 19:45:29 · 2521 阅读 · 0 评论 -
【ESP32-IDF】04-3 存储-FATFS
主系统flash挂载fatfs文件系统文章目录主系统flash挂载fatfs文件系统1. 概述2. 步骤2.1 修改分区表2.2 在主系统flash中挂载文件系统2.3 使用操作文件的函数进行操作2.4 卸载文件系统3. 总的程序1. 概述 一般来说,我们使用存储器的时候,是使用存储器地址进行存储、读取数据的。但是,如果我们使用的存储器非常大的话,用这种方法管理数据就非常的不方便。所以就需要引入文件系统。 这里以主系统flash挂载fatfs文件系统为例,进行举例2. 步骤2.1 修改分区表原创 2021-06-10 20:38:59 · 3132 阅读 · 4 评论 -
【ESP32-IDF】 02-4 外设-SPI
SPI文章目录SPI1. 硬件描述1.1 SPI资源描述1.2 SPI类型描述1.2.1 四线标准SPI1.2.2 三线SPI1.2.3 Dual SPI1.2.3 Quad SPI2. SPI配置过程2.1 SPI通讯过程2.2 详细配置流程2.2.1 配置总线初始化结构体2.2.2 总线初始化2.2.3 设备初始化结构体2.2.4 设备初始化2.2.5 数据包收发结构体配置2.2.5.1 固定长度结构体2.2.5.2 非固定长度结构体2.2.6 数据包的发送2.2.6.1 以中断方式发送2.2.6.2原创 2021-05-31 15:16:52 · 11494 阅读 · 8 评论 -
【ESP32-IDF】02-3 外设-定时器
定时器文章目录定时器1. 通用定时器1.1 概述1.1.1 时钟1.1.2 预分频器1.1.3 计数器1.2 配置步骤1.2.1 定时器初始化1.2.2 定时器控制参数1.2.3 使能中断1.2.4 中断服务函数1.2.5 开启/暂停计数1.3 案例--通用定时器控制led开闭2. 看门狗定时器2.1 概述2.2 任务看门狗例程1. 通用定时器1.1 概述 esp32的定时器有两组四个(每组两个),每个定时器都具有一个16bit的预分频器和一个32bit的向上/向下计数器1.1.1 时钟 时原创 2021-05-21 20:32:02 · 1333 阅读 · 0 评论 -
【ESP32-IDF】02-2 外设-触摸传感器
触摸传感器文章目录触摸传感器1. 触摸传感器简介1.1 触摸传感器结构1.2 触摸传感器原理1.3 触摸传感器的灵敏度优化1.4 esp32检测过程2. 触摸传感器框图剖析2.1 触发源2.2 触摸传感器控制器2.3 触摸传感器执行器2.4 处理器3. 触摸传感器配置流程3.1 触摸传感器初始化3.2 配置触摸传感器参数3.2.1 配置触发模式3.2.2 设置充放电参数3.2.4 设置IIR滤波器3.2.5 载入配置3.3 配置相关的gpio3.4 配置触发阈值3.5 配置相关中断4. 触摸传感器实验4.原创 2021-05-09 23:24:15 · 2915 阅读 · 3 评论 -
【ESP32-IDF】04-2 存储-NVS
NVS文章目录NVS1. NVS1.1 概述1.2 键值对1.2 命名空间1.3 NVS使用流程1.3.1 配置分区表1.3.2 擦除nvs空间1.3.3 初始化nvs空间1.3.4 获取nvs空间的操作句柄1.3.4 读写nvs空间1.3.4 提交修改1.3.5 关闭nvs空间2. 使用案例2.1 单变量操作2.2 复杂结构体操作3. 参考资料1. NVS1.1 概述 NVS全称是非易失性存储。用在flash中以键值对的形成存储数据。 NVS 适合存储一些小数据,如果对象占用空间比较大,使原创 2021-05-06 23:02:37 · 2067 阅读 · 0 评论 -
【ESP32-IDF】04-1 存储-分区表
分区表文章目录分区表1. esp32 flash结构1.1 flash 物理组成1.2 flash 内部结构1.3 esp32启动过程2. 分区表2.1 分区表的组成2.2 分区表的定义2.2.1 Name字段2.2.2 Type字段2.2.3 SubType字段2.2.4 offset和size2.2.5 flags2.3 系统分区表的查看2.4 分区表的更换2.4.1 使用内置分区表2.4.2 使用自定义的分区表3. 参考资料1. esp32 flash结构1.1 flash 物理组成 es原创 2021-05-05 21:45:01 · 11088 阅读 · 9 评论 -
【ESP32-IDF】03-1 系统-内存管理
ESP32内存结构文章目录ESP32内存结构1. 内存分段2. ESP32 内存模型2.1 片内RAM2.1.1 片内RAM空间布局2.1.2 IRAM组织结构2.1.3 DRAM2.1.4 启用蓝牙之后的DRAM2.1.5 启用跟踪调试空间之后 DRAM 组织结构2.2 片外RAM2.2.1 PSRAM (也叫SPIRAM)3. ESP32 内存的使用3.1 IRAM3.2 IROM3.3 RTC快速内存3.4 DRAM3.5 DROM3.6 RTC慢速内存3.7 DMA4. 堆的分配与调试4.1 相关转载 2021-05-03 21:24:28 · 4312 阅读 · 1 评论 -
【ESP32-IDF】02-1 外设-RMT
RMT文章目录RMT1. RMT简介2. RMT框图剖析2.1 时钟2.2 RAM2.3 发送器2.4 接收器3. RMT结构体配置3.1 公共部分3.2 发送器部分3.3 接收器部分4. RMT发送实验4.1 功能描述4.2 硬件设计4.3 软件设计5. RMT接收实验5.1 功能描述5.2 硬件设计5.3 软件设计6. 其他注意事项6.1 关于block与ringbuff6.2 关于中断7. 参考资料1. RMT简介2. RMT框图剖析2.1 时钟2.2 RAM2.3 发送器2.4 接收器原创 2021-04-30 21:36:27 · 4608 阅读 · 1 评论 -
【ESP32-IDF】01 ESP32开发方法
ESP32开发方法文章目录ESP32开发方法1. ESP32概述2. 开发方法概述2.1 作为主机开发2.1.1 使用官方工具链进行开发2.1.2 使用arduino工具链进行开发2.1.3 使用micropython进行开发2.1.4 使用visual studio 进行开发2.2 作为从机开发3. idf开发资料1. ESP32概述 ESP32是一款用于物联网设备开发的芯片。一般esp32包括芯片、模组、开发板三个级别的开发。芯片级别开发:使用esp32的芯片进行开发,能够实现最高的定制化原创 2021-04-25 20:11:22 · 2985 阅读 · 0 评论