ESP32 教学专栏 (基于ESP-IDF)
文章平均质量分 94
基于 ESP-IDF 的 ESP32 教学类原创专栏
Augtons正(单片机)
一枚爱好单片机硬件的崽崽。不定期更新各种单片机硬件类的文章。
展开
-
【导航】ESP32 教学篇目录 【快速跳转】
本文章 来自原创专栏《ESP32教学专栏 (基于ESP-IDF)》,讲解如何使用 ESP-IDF 构建 ESP32 的WIFI及连接的程序,发布文章并会持续为已发布文章添加新内容! 每篇文章都经过了精打细磨!↓↓↓通过下方 按钮 进入专栏主页↓↓↓专栏主页:点击进入→ESP32 教学专栏 (基于ESP-IDF) WIFI二级专栏:点击进入→ESP32 上的 WiFi ............原创 2021-09-12 14:16:36 · 25679 阅读 · 7 评论 -
ESP32 之 ESP-IDF 教学(二十)—— SNTP校时
SNTP 指简单网络时间协议(Simple Network Time Protocol),一个合格的物联网设备,少不了一个准确的钟。通过SNTP,可以使ESP32设备通过网络校准本地时间。使用起来也非常简单!原创 2022-09-04 16:03:16 · 3778 阅读 · 2 评论 -
ESP32 之 ESP-IDF 教学(十九)—— 在工程或组件中嵌入二进制数据
有时候,我们需要很大的二进制数据或文本数据。你可能很快想到手搓或者生成一个C头文件来使用。但是,有时候格式化一个头文件并不方便,这就需要一种更加方便的方式来嵌入二进制或文本数据到工程或组件中。嵌入二进制或文本数据的方案有两种,一种是在组件中,另一种是在工程中。......原创 2022-08-28 13:48:09 · 2263 阅读 · 4 评论 -
ESP32 之 ESP-IDF 教学(十八)—— 组件配置(KConfig)
组件配置可以将相关配置常量移出代码,增强配置的可复用度组件配置变量也可以被CMake访问,可以通过手写逻辑实现根据配置执行不同的构建方案。(如某个源文件要不要添加到构建系统)组件配置生成的宏定义,配合C语言的预处理语句,可以针对不同的配置改变代码解结构。组件配置生成的宏定义在C语言中是全局的宏定义,可以在任意处访问配置项。只需要即可。ESP-IDF构建系统中的menuconfig与Linux Kernel的menuconfig类似,有助于为Linux学习打下基础。......原创 2022-08-27 18:07:08 · 10022 阅读 · 10 评论 -
ESP32 之 ESP-IDF 教学(十七)——组件依赖
在我们之前的学习中,我们了解到ESP-IDF工程是“组件”式的,组件之间以依赖关系为主。本文我们将介绍这种依赖关系。所谓“依赖”,就是“我需要你”的意思。例如组件A实现了控制WS2812灯带的基础API。而你准备写个组件B,目标功能是通过WiFi控制WS2812。显然可以让组件B依赖组件A。原创 2022-08-24 17:12:34 · 4044 阅读 · 1 评论 -
ESP32 之 ESP-IDF 教学(十六)——MQTT客户端(ESP-MQTT)
MQTT协议(消息队列遥测传输协议),是一种基于publish/subscribe(即发布与订阅)模式的轻量通讯协议。此协议基于TCP/IP。MQTT是一种低开销、低带宽占用的即时通讯协议。轻量、简单、开放和易于实现的。其最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。使其在物联网、小型设备、移动应用等方面有较广泛的应用。如:机器与机器(M2M)通信和物联网(IoT)。其在,通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用。原创 2022-08-24 14:36:02 · 5906 阅读 · 1 评论 -
计算机知识储备(一)—— 命令行终端扫盲
本文章 来自原创专栏《ESP32教学专栏 (基于ESP-IDF)》,讲解如何使用 ESP-IDF 构建 ESP32 程序,发布文章并会持续为已发布文章添加新内容! 每篇文章都经过了精打细磨!↓↓↓通过下方对话框进入专栏目录页↓↓↓CSDN 请求进入目录 _ O x是否进入ESP32教学导航(基于ESP-IDF)? 确定文章目录一、什么是终端一、什么是终端相信大家一定听说过终端、控制台、命令行这类的词汇,而且见过一个漆黑的框,上边闪烁这密密麻麻的符号。这便是...原创 2022-05-03 23:20:07 · 2197 阅读 · 1 评论 -
ESP32 之 ESP-IDF 实战(一)—— 物联网风力摆控制系统(①姿态解算部分)
本文章 来自原创专栏《ESP32教学专栏 (基于ESP-IDF)》,讲解如何使用 ESP-IDF 构建 ESP32 程序,发布文章并会持续为已发布文章添加新内容! 每篇文章都经过了精打细磨!↓↓↓通过下方对话框进入专栏目录页↓↓↓CSDN 请求进入目录 _ O x是否进入ESP32教学导航(基于ESP-IDF)? 确定文章目录一、姿态解算算法简介1. 为什么要至少两种传感器2. 传感器的零点漂移问题二、姿态的表示方法1. 欧拉角(1)简介(2)缺陷:万向节死锁2. 四元数(1原创 2022-04-06 16:49:29 · 5111 阅读 · 0 评论 -
ESP32 之 ESP-IDF 教学(十五)—— 使用内部 Flash 储存文件
本文章 来自原创专栏《ESP32教学专栏 (基于ESP-IDF)》,讲解如何使用 ESP-IDF 构建 ESP32 程序,发布文章并会持续为已发布文章添加新内容! 每篇文章都经过了精打细磨!↓↓↓通过下方对话框进入专栏目录页↓↓↓CSDN 请求进入目录 _ O x是否进入ESP32教学导航(基于ESP-IDF)? 确定文章目录一、磨损均衡API1. 两个重要函数2. 相关配置结构体一、将内部flash挂载为Fat文件系统二、使用标准C库读写文件三、卸载文件系统前边我们学习了原创 2022-04-04 18:07:21 · 12961 阅读 · 0 评论 -
ESP32 之 ESP-IDF 教学(十四)——虚拟文件系统(VFS)
本文章 来自原创专栏《ESP32教学专栏 (基于ESP-IDF)》,讲解如何使用 ESP-IDF 构建 ESP32 程序,发布文章并会持续为已发布文章添加新内容! 每篇文章都经过了精打细磨!↓↓↓通过下方对话框进入专栏目录页↓↓↓CSDN 请求进入目录 _ O x是否进入ESP32教学导航(基于ESP-IDF)? 确定文章目录一、什么是虚拟文件系统(VFS)二、ESP32中的VFS1. 标准的VFS路径(1)挂载点(2)路径2. 文件描述符3. 标准IO流: `stdin`、`原创 2022-04-04 16:37:17 · 8722 阅读 · 1 评论 -
ESP32之ESP-IDF + Clion 环境搭建(四)—— 锦囊①Windows下ESP-IDFv4.4飞速安装
本文章 来自原创专栏《ESP32教学专栏 (基于ESP-IDF)》,讲解如何使用 ESP-IDF 构建 ESP32 程序,发布文章并会持续为已发布文章添加新内容! 每篇文章都经过了精打细磨!↓↓↓通过下方对话框进入专栏目录页↓↓↓CSDN 请求进入目录 _ O x是否进入ESP32教学导航(基于ESP-IDF)? 确定注意:本文为 “锦囊文” ,只针对一个特定版本的ESP-IDF编译环境的安装。想获取通用信息或安装其他版本,请点击上方对话框进入ESP32教学专栏导航一、下原创 2022-02-03 14:50:07 · 8560 阅读 · 2 评论 -
ESP32之 ESP-IDF 教学(十三)—— 分区表
本专栏讲解如何使用 ESP-IDF 构建 ESP32 程序,发布文章并会持续为已发布文章添加新内容!本文介绍了和为分区表以及如何使用分区表,为之后的学习提理论基础。原创 2022-01-03 21:02:34 · 9792 阅读 · 3 评论 -
ESP32之 ESP-IDF + Clion 开发环境搭建(三)—— 使用 Clion 对 ESP32 进行 JTAG 调试
本文章 来自原创专栏《ESP32教学专栏 (基于ESP-IDF)》,介绍如何在Windows和Linux下,通过Clion对ESP32等进行JTAG调试原创 2021-12-30 16:47:49 · 10858 阅读 · 5 评论 -
ESP32之 ESP-IDF + Clion 开发环境搭建(二)—— Linux版
本文介绍了 Linux 下,使用Clion IDE 用官方 ESP-IDF 开发包进行 ESP32 开发的环境搭建原创 2021-12-28 15:24:36 · 5230 阅读 · 4 评论 -
ESP32之 ESP-IDF + Clion 开发环境搭建(一)—— Windows版
本文介绍了Windows下,使用Clion IDE 用官方 ESP-IDF 开发包进行 ESP32 开发的环境搭建原创 2021-12-27 19:59:22 · 17338 阅读 · 25 评论 -
ESP32 之 ESP-IDF 教学(十二)WiFi篇—— LwIP 之 TCP 通信
本文章 来自原创专栏《ESP32教学专栏 (基于ESP-IDF)》 下的一个二级专栏 《ESP32 上的 WiFi 及 Lwip 协议栈》,讲解如何使用 ESP-IDF 构建 ESP32 程序,发布文章并会持续为已发布文章添加新内容! 每篇文章都经过了精打细磨!↓↓↓通过下方链接进入专栏主页↓↓↓专栏主页:点击进入→ESP32 教学专栏 (基于ESP-IDF) 二级专栏:点击进入→ESP32 上的 WiFi 文章目录...原创 2021-10-02 20:46:26 · 8280 阅读 · 8 评论 -
ESP32 之 ESP-IDF 教学(十一)WiFi篇—— WiFi两种模式
本文章 来自原创专栏《ESP32教学专栏 (基于ESP-IDF)》 讲解如何使用 ESP-IDF 构建 ESP32 程序,发布文章并会持续为已发布文章添加新内容! 每篇文章都经过了精打细磨!↓↓↓通过下方链接进入专栏主页↓↓↓专栏主页:点击进入→ESP32 教学专栏 (基于ESP-IDF) 二级专栏:点击进入→ESP32 上的 WiFi 文章目录一、ESP32 WIFI介绍二、WiFi 的启动三、STA模式下扫描原创 2021-09-12 23:34:46 · 25293 阅读 · 22 评论 -
ESP32 之 ESP-IDF 教学(十)—— 电机控制器(MCPWM)
本文章 来自原创专栏《ESP32教学专栏 (基于ESP-IDF)》,讲解如何使用 ESP-IDF 构建 ESP32 程序,发布文章并会持续为已发布文章添加新内容! 每篇文章都经过了精打细磨!↓↓↓通过下方对话框进入专栏主页↓↓↓CSDN 请求进入专栏 _ O x是否进入ESP32教学专栏(基于ESP-IDF)? 确定文章目录一、电机控制器MCPWM简介一、电机控制器MCPWM简介ESP32有两个MCPWM单元,可用于控制不同类型的电机。每个单元有三对PWM输出。(如下图,原创 2021-08-11 21:50:31 · 13866 阅读 · 12 评论 -
ESP32 之 ESP-IDF 教学(九)—— 串口通信(UART)
ESP32 之 ESP-IDF 教学(九)—— 串口通信(UART)文章目录ESP32 之 ESP-IDF 教学(九)—— 串口通信(UART)一、ESP32 的 UART 概览1、简介2、UART 使用简介二、使用 UART 收发数据1、设置 UART 参数① 单步法(结构体法)② 分步法2、分配引脚,安装驱动二、使用 UART 事件三、自定义 UART 中断一、ESP32 的 UART 概览1、简介ESP32芯片有三个UART控制器(UART0、UART1和UART2),具有一组功能相同的寄存器原创 2021-07-23 22:01:33 · 26900 阅读 · 12 评论 -
ESP32 之 ESP-IDF 教学(八)—— 模数转换器(ADC)
ESP32 之 ESP-IDF 学习笔记(七)——模数转换器(ADC)文章目录ESP32 之 ESP-IDF 学习笔记(七)——模数转换器(ADC)一、简介1、两个 ADC 通道简介:2、减小测量误差① 最小化噪声干扰② ★ADC 校准 —— ADC-Voltage 特征曲线一、简介ESP32集成了两个 12位SAR(逐次逼近寄存器)adc ,共支持18个测量通道。1、两个 ADC 通道简介:ADC1:支持 8 个通道,包括:GPIO32 - GPIO39(并非按顺序)ADC2:支持原创 2021-07-17 00:10:11 · 13162 阅读 · 8 评论 -
ESP32 之 ESP-IDF 教学(七)——数模转换器(DAC)
ESP32 之 ESP-IDF 学习笔记(七)——数模转换器(DAC)文章目录ESP32 之 ESP-IDF 学习笔记(七)——数模转换器(DAC)一、ESP32 DAC 概览二、DAC的使用① —— 在通道GPIO上输出指定电压一、ESP32 DAC 概览ESP32有两个8位DAC(数字到模拟转换器)通道,连接GPIO25(通道1)和GPIO26(通道2)。同时,当使用内置DAC模式(`built-in DAC mode`)时,通过I2S驱动器,DAC通道也可以由“数字控制器”利用“写入的DMA原创 2021-07-15 22:07:26 · 5747 阅读 · 5 评论 -
ESP32 之 ESP-IDF 教学(六)——硬件I2C总线外设(I²C)
ESP32 之 ESP-IDF 学习笔记(六)【I2C数据总线(I²C)】文章目录ESP32 之 ESP-IDF 学习笔记(六)【I2C数据总线(I²C)】一、I2C 简介二、I2C 数据帧三、在 ESP-IDF 中 使用 I2C API (仅介绍主机模式)1、使用步骤(主机)① 配置驱动程序`i2c_param_config()`② 安装 I2C 驱动③ 主机模式下的写数据【重点】④ 主机模式下的读数据【重点】一、I2C 简介I2C是一种通过两条双向IO线:SDA(串行数据线)和SCL(串行时钟线)原创 2021-07-12 13:52:51 · 9131 阅读 · 4 评论 -
ESP32 之 ESP-IDF 教学(五(2))——使用C++的工程
ESP32 之 ESP-IDF 学习笔记(五 - 2)【使用C++的工程】文章目录ESP32 之 ESP-IDF 学习笔记(五 - 2)【使用C++的工程】1、导言2、在main文件中使用C++ —— 将 `/main/main.c`更改为`/main/main.cpp`3、在组件(`Components`)中使用C++1、导言在上一篇文章ESP32 之 ESP-IDF 学习笔记(五)【ESP-IDF CMake构建系统(Build System)】中讲到了 ESP-IDF 的 CMake 工程结构,原创 2021-07-13 12:09:31 · 10117 阅读 · 5 评论 -
ESP32 之 ESP-IDF 教学(五)——IDF工程项结构
ESP32 之 ESP-IDF 学习笔记(五)【ESP-IDF CMake构建系统(Build System)】文章目录ESP32 之 ESP-IDF 学习笔记(五)【ESP-IDF CMake构建系统(Build System)】1、构建系统简介① 简介② 概念2、通过 idf.py 使用构建系统3、ESP-IDF 的工程文件详解 及 CMakeList.txt 文件解析【1】ESP-IDF 的工程文件夹详析【2】项目 CMakeList.txt 文件【3】组件 CMakeList.txt 文件1、构原创 2021-07-09 15:11:25 · 12873 阅读 · 3 评论 -
ESP32 之 ESP-IDF 教学(四)——高分辨率软件定时器(esp_timer)
ESP32 之 ESP-IDF 学习笔记(四)【高分辨率软件定时器(esp_imer)】文章目录ESP32 之 ESP-IDF 学习笔记(四)【高分辨率软件定时器(esp_imer)】高分辨率软件定时器(esp_imer)1、为什么选择esp_timer定时器作为esp32首选软件定时器2、esp_timer定时器两种工作方式【1】单次模式【2】周期模式3、使用esp_timer定时器(头文件esp_timer.h)【1】创建定时器对象1、函数`esp_timer_create`简介2、配置结构体`esp原创 2021-07-03 14:34:29 · 5599 阅读 · 2 评论 -
ESP32 之 ESP-IDF 教学(三)——通用硬件定时器(Timer)
ESP32 之 ESP-IDF 学习笔记(三)【通用硬件定时器(Timer)】文章目录ESP32 之 ESP-IDF 学习笔记(三)【通用硬件定时器(Timer)】通用硬件定时器(Timer)1、配置定时器【1】定时器初始化函数`timer_init()`简介配置结构体`timer_config_t`简介【2】装载定时器初值和警报阈值【*3】定时器反初始化2、配置、启用定时器中断【1】打开中断使能【2】创建ISR中断服务程序(interrupt service routine)【2】注册中断【3】使用队列原创 2021-04-02 22:17:15 · 12653 阅读 · 10 评论 -
ESP32 之 ESP-IDF教学(二)——GPIO(2) 中断的简单配置
ESP32 学习之ESP-IDF笔记(二)【GPIO( 2 ) 中断的简单配置】文章目录ESP32 学习之ESP-IDF笔记(二)【GPIO( 2 ) 中断的简单配置】GPIO 中断简单配置1、配置GPIO中断(1)函数`gpio_set_intr_type()`解析(2)配置中断示例(两种方法)2、让你的ESP32响应中断(1)步骤(2)示例中必要的 FreeRTOS API 简介(待续)(2)示例代码GPIO 中断简单配置1、配置GPIO中断通过gpio_config()函数传递一个结构体gpi原创 2021-03-28 22:36:34 · 10665 阅读 · 3 评论 -
ESP32 之 ESP-IDF 教学(一)——GPIO(1) GPIO配置及其简单操作
ESP32 学习笔记(一)GPIO( 1 )文章目录ESP32 学习笔记(一)GPIO( 1 )一、GPIO配置0、头文件 `gpio.h`1、方式一 —— 结构体法*函数简介*一、GPIO配置0、头文件 gpio.h1、方式一 —— 结构体法通过调用gpio_config(const gpio_config_t *pGPIOConfig)函数配置GPIO函数简介1、功能简介GPIO common configuration.(GPIO通用配置)Configure GPIO’s Mod原创 2021-03-26 22:37:02 · 33689 阅读 · 7 评论