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

        注意:ESP32C3只支持低功耗蓝牙,不支持经典蓝牙。也就是不支持蓝牙音乐播放器

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

esp32-freertos-sdk 工具包 See the Getting Started guide links above for a detailed setup guide. This is a quick reference for common commands when working with ESP-IDF projects: Setup Build Environment (See Getting Started guide for a full list of required steps with details.) Install host build dependencies mentioned in Getting Started guide. Add tools/ directory to the PATH Run python -m pip install -r requirements.txt to install Python dependencies Configuring the Project idf.py menuconfig Opens a text-based configuration menu for the project. Use up & down arrow keys to navigate the menu. Use Enter key to go into a submenu, Escape key to go out or to exit. Type ? to see a help screen. Enter key exits the help screen. Use Space key, or Y and N keys to enable (Yes) and disable (No) configuration items with checkboxes "[*]" Pressing ? while highlighting a configuration item displays help about that item. Type / to search the configuration items. Once done configuring, press Escape multiple times to exit and say "Yes" to save the new configuration when prompted. Compiling the Project idf.py build ... will compile app, bootloader and generate a partition table based on the config. Flashing the Project When the build finishes, it will print a command line to use esptool.py to flash the chip. However you can also do this automatically by running: idf.py -p PORT flash Replace PORT with the name of your serial port (like COM3 on Windows, /dev/ttyUSB0 on Linux, or /dev/cu.usbserial-X on MacOS. If the -p option is left out, idf.py flash will try to flash the first available serial port. This will flash the entire project (app, bootloader and partition table) to a new chip. The settings for serial port flashing can be configured with idf.py menuconfig. You don't need to run idf.py build before running idf.py flash, idf.py flash will automatically rebuild anything which needs it. Viewing Serial Output The idf.py monitor target uses the idf_monitor tool to display se
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值