当前位置: 首页 > news >正文

ESP-IDF学习记录(1)ESPIDF环境安装,框架了解,资料整理

        以后只要有空就会进行学习记录,主要是自用,学到哪记录到哪,有时候东西记录下来能得到不通的理解。

        最终的目的是为了用esp32驱动屏幕,学习设计LVGL界面,做一些小产品,有益于公司及个人。之前接触多的UI还是上位机的QT,esp32自己接触过arduino用的不熟,都是改别人的,调用一大堆库,idf仅有部分了解。个人感觉用idf只用自己需要的依赖,程序会不会更小一点,更容易理解底层。

        之前买过一堆电子垃圾,做出来一个没有太大用处的东西,用步进电机显示大概时间,屏幕显示天气,但好歹是我完全自己跨行做的第一个东西,元器件采购,pcb设计,焊接,简单外壳设计,程序都是我自己做的,对我来说还是有意义的。

houyawei - 嘉立创EDA开源硬件平台icon-default.png?t=O83Ahttps://oshwhub.com/houyawei/works废话说完了,开始记录学习。咱自己记录的东西,就尽量不复制官方原文了,会放链接和自己的简单理解。

1.安装ESP-IDF

        ①vscode官网下载安装

        ②左边扩展,搜索EDP-IDF并安装

        ③安装IDF环境

https://github.com/espressif/vscode-esp-idf-extension/blob/HEAD/README_CN.mdicon-default.png?t=O83Ahttps://github.com/espressif/vscode-esp-idf-extension/blob/HEAD/README_CN.md扩展工具里面写的教程已经很详细了,要注意:

1)主要是下载源别选github就行,中国源快

2)版本我一般喜欢选择次最新的版本,API不会太老,又相对稳定。在这里选择的是V5.2.2

2.了解ESP-IDF库和框架

        一般大家学习装完环境就去测试helloworld了,我之前一直比较好奇一个东西,arduino里面一大堆别人封装的库,idf里面也应该有的。咱先不研究示例代码,先看看idf的各种库

        ①:框架是两种,一种是简单易用的arduino-esp32。

他是基于esp-idf的,所以idf的API会比arduino新。arduino也可以作为依赖,添加到idf的项目中。

Arduino as an ESP-IDF component - - — Arduino ESP32 latest documentationicon-default.png?t=O83Ahttps://docs.espressif.com/projects/arduino-esp32/en/latest/esp-idf_component.html

        ②:另一种就是我想要学习的ESP-IDF了

                

        1)ESP-WHO

ESP-WHO 是基于乐鑫芯片的图像处理开发平台,其中包含了实际应用中可能出现的开发示例。ESP-WHO 提供了例如人脸检测、人脸识别、猫脸检测和手势识别等示例。您可以基于这些示例,衍生出丰富的实际应用。ESP-WHO 的运行基于 ESP-IDF。ESP-DL 为 ESP-WHO 提供了丰富的深度学习相关接口,配合各种外设可以实现许多有趣的应用。

        2)ESP Rainmaker

ESP RainMaker 是一个完整的轻量级 AIoT 解决方案,能够以简单、经济、高效的方式为客户实现私有云部署。

ESP RainMaker 是一个轻量级的 AIoT 云计算软件,与 AWS 无服务器架构高度集成,支持客户以极少的代码构建、开发和部署具有高安全性的定制 AIoT 解决方案。

        3)ESP-ADF

这是乐鑫的音频开发框架,支持音频播放。

ESP-ADF 以最全面的方式支持 Espressif Systems SoC 的音频应用程序开发。使用 ESP-ADF,您可以轻松添加功能,开发从简单到复杂的音频和视频应用程序:

  • 音乐播放器或录音机支持 MP3、AAC、FLAC、WAV、OGG、OPUS、AMR、TS、EQ、Downmixer、Sonic、ALC、G.711 等音频格式。
  • 播放来自以下来源的音乐:HTTP、HLS(HTTP 实时流)、SPIFFS、SDCARD、A2DP-Source、A2DP-Sink、HFP 等。
  • 集成媒体协议,例如:DLNA、VoIP、RMTP、ESP-RTC(SIP、RTSP 和 RTCP)等。
  • 视频通话、视频录制和视频直播
  • 网络电台
  • 语音识别并与 Alexa、DuerOS 等在线服务集成

        4)ESP-MDF

wifi mesh组网框架

ESP-MDF 在 ESP-WIFI-MESH 协议栈的基础上增加了配网、升级、调试机制及应用示例。使用 ESP-MDF 您可以快速上手 ESP-WIFI-MESH 开发。其主要特点如下:

  • 快速配网:在 app 配网的基础上增加了设备间链式配网,以实现大范围快速配网;
  • 稳定升级:通过断点续传、数据压缩、版本回退和固件检查等机制达到高效升级;
  • 高效调试:支持指令终端、通过无线进行日志传输和调试等多种调试方式;
  • 局域网控制:支持 app 控制、传感器控制等;
  • 丰富的示例:提供了基于 ESP-WIFI-MESH 的照明等综合解决方案。

        5)ESP-IOT Solution

        提供各种iot,外设驱动,一些屏幕驱动就可以在这里面找到

ESP-IoT-Solution 包含物联网系统开发中常用的外设驱动和代码框架,提供了 ESP-IDF 的扩展组件,方便用户实现更简单的开发。

ESP-IoT-Solution 包含的内容如下:

  • 传感器、显示屏、音频设备、输入设备、执行机构等设备驱动;
  • 低功耗、安全加密、存储方案等代码框架或说明文档;
  • 从实际应用的角度出发,为乐鑫开源解决方案提供了入口指引。

        6)ESP-NOW

ESP-NOW 是乐鑫定义的一种无连接 Wi-Fi 通信协议。与传统的 Wi-Fi 协议不同,ESP-NOW 将 OSI 模型中的前 5 层简化为了一层,因此数据无需经过网络层、传输层、会话层、表示层和应用层进行传输,减少了网络拥塞下因数据丢包引起的延迟,实现了快速响应。

7)ESP-Jumpstart

这个是从头到尾介绍一款基于ESP32开发到落地整个流程

ESP-Jumpstart 项目专注于在 ESP32 上构建“产品”,展示了基于 ESP32 的完整产品开发流程。该项目分步介绍了一款真实产品的完整开发流程,即一款功能齐全、随时可推广的“智能电源插座”。

3.后续学习方向

        我想做一个蓝牙播放器,有图形界面,就需要学习以下的东西

        3.1 ESP-IDF的基本示例

        3.2 ESP-IOT Solution外设相关

        3.3 LVGL 图形库

        3.4 ESP-ADF音频处理

4.学习硬件

        一个ESP32C3,某宝搜合宙ESP32C3,其他品牌的也可以,很便宜的开发板,12RMB包邮

这个买简约款就行,9.9的。经典款的多个串口芯片反而不支持直接debug了。

参考:ESP-IDF学习记录(2)ESP-IDF 示例代码分析-CSDN博客文章浏览阅读31次。傻瓜式记录一个示例的打开,编译,运行。后面我再一个个运行简单分析每个demo的内容。https://blog.csdn.net/u011738895/article/details/144790339?spm=1001.2014.3001.5502

        

5.学习资料整理

        

适用于 VS Code 的 ESP-IDF 扩展 - - — ESP-IDF Extension for VSCode latest 文档icon-default.png?t=O83Ahttps://docs.espressif.com/projects/vscode-esp-idf-extension/zh_CN/latest/index.html#ESP-IoT-Solution 编程指南 - - — ESP-IoT-Solution latest 文档icon-default.png?t=O83Ahttps://docs.espressif.com/projects/esp-iot-solution/zh_CN/latest/index.html乐鑫音频应用开发指南 - - — ADF 音频应用开发框架 latest 文档icon-default.png?t=O83Ahttps://docs.espressif.com/projects/esp-adf/zh_CN/latest/index.htmlESP-IDF 编程指南 - ESP32-C3 - — ESP-IDF 编程指南 latest 文档icon-default.png?t=O83Ahttps://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32c3/index.htmlESP32C3-CORE开发板 - LuatOS 文档icon-default.png?t=O83Ahttps://wiki.luatos.com/chips/esp32c3/board.html立创开发板技术文档中心icon-default.png?t=O83Ahttps://wiki.lckfb.com/zh-hans/esp32s3r8n8/实战派开发板文档教程资料 | 立创开发板技术文档中心icon-default.png?t=O83Ahttps://wiki.lckfb.com/zh-hans/szpi-esp32c3/beginner/

//houyawei 20241228

http://www.lryc.cn/news/511489.html

相关文章:

  • Windows系统提示synsoacc.dll文件报错要怎么解决?
  • React(一)—— router/useRef/useState
  • ipad如何直连主机(Moonlight Sunshine)
  • 音视频入门知识(二)、图像篇
  • v-if 和 v-show 的区别
  • 解密MQTT协议:从QOS到消息传递的全方位解析
  • Java-02 深入浅出 MyBatis - MyBatis 快速入门(无 Spring) POM Mapper 核心文件 增删改查
  • Unity功能模块一对话系统(4)实现个性文本标签
  • git在idea中操作频繁出现让输入token或用户密码,可以使用凭证助手(使用git命令时输入的用户密码即可) use credential helper
  • 毫米波雷达技术:(九)快时间窗和慢时间窗的概念
  • 宠物行业的出路:在爱与陪伴中寻找增长新机遇
  • Android MQTT关于断开连接disconnect报错原因
  • Unity3D中Huatuo可行性的思维实验详解
  • ES-聚合分析
  • 【CSS in Depth 2 精译_093】16.2:CSS 变换在动效中的应用(上)—— 图标的放大和过渡效果的设置
  • Linux Debian安装ClamAV和命令行扫描病毒方法,以及用Linux Shell编写了一个批量扫描病毒的脚本
  • Spring创建异步线程,使用@Async注解时不指定value可以吗?
  • 二分和离散化
  • 深度学习实战102-基于深度学习的网络入侵检测系统,利用各种AI模型和pytorch框架实现网络入侵检测
  • vue3使用element-plus,解决 el-table 多选框,选中后翻页再回来选中失效问题
  • 网络的类型
  • 实现类似gpt 打字效果
  • 项目需求分析流程
  • idea连接SQL Server数据库_idea连接sqlserver数据库
  • Scala_【2】变量和数据类型
  • u3d中JSON数据处理
  • idea 安装插件(在线安装、离线安装)
  • springboot maven 构建 建议使用 --release 21 而不是 -source 21 -target 21,因为它会自动设置系统模块的位置
  • 离散数学 复习 详细(子群,元素的周期,循环群,合同)
  • Java后端常见问题 (一)jar:unknown was not found in alimaven