ESP32开发快速入门
文章平均质量分 68
主要介绍esp32如何快速入门,专栏里的部分文章之前是放在我的知乎专栏里的,新的文章将和知乎同步更新
z755924843
十余年的嵌入式开发,从单片机到arm,从freertos到linux android,从边缘计算到物联网,所有技术都有涉猎。但还是对嵌入式情有独钟。
展开
-
spiffs 文件系统在esp32中的应用
spiffs 介绍SPIFFS 是一个开源文件系统,用于 SPI NOR flash 设备的嵌入式文件系统,支持磨损均衡、文件系统一致性检查等功能。spiffs 源码地址spiffs 特点编辑切换为居中添加图片注释,不超过 140 字(可选)而我们知道乐鑫的esp32的大部分存储都依赖于SPI flash ,spiffs可以说对于esp32 真可谓是最合适不过的了。原创 2022-11-26 21:17:00 · 1282 阅读 · 0 评论 -
ESP32+ILI9341驱动LittleVGL
只是简单的整理一下,实际上并没有什么难度,只要熟悉了esp32的开发流程之后移植LittleVGL可以说十分容易。欢迎关注我的个人网站物联网开发入门 - 知乎 (zhihu.com)原创 2022-11-26 21:17:19 · 1725 阅读 · 0 评论 -
esp-adf音频框架 :audio element
为了能够控制从输入,处理到输出的数据生命周期的特定阶段,audio_element对象提供了在每个阶段触发回调. 可用的回调函数有七种类型:打开,查找,处理,关闭,销毁,读取和写入.打开,查找,处理,关闭,销毁,读取和写入.在audio_element_cfg_t 中配置。Element的一般功能是在输入中获取一些数据,对其进行处理,然后输出到下一个。每个元素都作为单独的任务运行。对象是使用ADF开发的应用程序的基本构建块。实际上,每个解码器,编码器,滤波器,输入流或输出流都是音频元素。原创 2022-11-26 21:17:58 · 593 阅读 · 0 评论 -
esp-adf音频框架 :audio stream->HTTP Stream
http stream hook 类型HTTP_STREAM_PRE_REQUEST = 0x01, //将在HTTP客户端与服务器建立连接之前调用事件处理程序/** 当HTTP Client请求数据时,将调用事件处理程序。* 如果fucntion返回值(-1:ESP_FAIL),则HTTP Client将停止.* 如果fucntion返回值> 0,则HTTP Stream将忽略post_field* 如果fucntion返回值= 0,HTTP流继续从post_field发送数据(如果有)原创 2022-11-26 21:18:50 · 482 阅读 · 0 评论 -
esp-adf音频框架 :audio stream->I2S Stream
【代码】esp-adf音频框架 :audio stream。原创 2022-11-26 21:18:23 · 1026 阅读 · 0 评论 -
esp-adf框架笔记 1 概述
ESP-ADF 在 ESP-IDF(乐鑫物联网开发框架,广泛运用于 ESP32 的 SDK)的基础上开发而成,具有高度的灵活性,既可作为一整套应用方案,面向配网、OTA (Over The Air) 等各类应用场景,亦可作为开发平台,供开发人员搭建各类定制化应用场景。ESP-ADF 具有一系列丰富的功能特色,涵盖编解码器、发送端和接收端音频流、管线化支持、唤醒词引擎,以及其他各类服务和控制等。乐鑫音频开发框架:支持音频格式:MP3、AAC、WAV、OGG、AMR、TS、OPUS、SPEEX 等。原创 2022-11-25 10:29:01 · 1927 阅读 · 0 评论 -
esp-adf 音频框架:record_raw_http.c 简单分析
【代码】esp-adf 音频框架: 基于 record_raw_http.c 简单分析框架原理。原创 2022-11-25 10:23:35 · 388 阅读 · 0 评论 -
esp32开发快速入门 8 : MQTT 的快速入门,基于esp32实现MQTT通信
简介MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。2. 通信方式。原创 2022-11-25 10:19:40 · 5840 阅读 · 0 评论 -
esp32开发快速入门 7 : smartconfig 例程分析
smartconfig 直译过来就是智能配置,它是一种可以是wifi快速连接到网络的技术。可以省去直接将wifi账号和密码写入到无线设备中的过程,通过手机将无限设备连接到网络中去。smartconfig只是无线连接的一种,乐鑫还支持airkiss 方式将设备连接到网络。具体原理我就不过多介绍了,只是简单介绍一下esp32 如何通过smartconfig技术接入到网络中。esp32 进入smartconfig模式:将自己设置成wifiAP模式,以UDP的模式将此信息广播出去,等待有wifi接入。原创 2022-11-25 10:16:35 · 1504 阅读 · 0 评论 -
esp32开发快速入门 6 : esp32存储简介
应用程序可调用 nvs_open API 选择使用带有 nvs 标签的分区,也可以通过调用 nvs_open_from_part API 选择使用指定名称的任意分区。例如,您可以使用 /fat 前缀注册 FAT 文件系统驱动,之后即可调用 fopen("/fat/file.txt", "w")。命名空间的名称在调用 nvs_open 或 nvs_open_from_part 中指定,调用后将返回一个不透明句柄,用于后续调用 nvs_read_、nvs_write_ 和 nvs_commit 函数。原创 2022-11-25 10:11:29 · 1552 阅读 · 0 评论 -
esp32开发快速入门 5 : I2C(驱动SSD1306)
对于学嵌入式的来说,i2c在熟悉不过了,两根线数据线(SDA)和时钟线(SCL)在加上一根地线就可以完成通信。。具体硬件上怎么实现的我们暂且不管,我们只需记住这些概念就行了。原创 2022-11-25 10:04:49 · 2139 阅读 · 0 评论 -
esp32开发快速入门 4 : GPIO
esp32 是乐鑫即ESP8266后又一款标杆性的芯片,拥有低功耗,wifi&蓝牙双模,音频视频的应用等优点,在加上它良好的开源社区使得它在国内外物联网领域都十分流行。3. 之后只需要执行 gpio_set_level(gpio_num_t gpio_num, uint32_t level);2. 将gpio_config_t 赋值后,使用 gpio_config(&io_conf);esp-idf对于各种外设提供了丰富的接口函数和例程,用户只需阅读例程和函数注释就完全可以使用esp32的各种外设。原创 2022-11-25 09:56:55 · 781 阅读 · 0 评论 -
esp32开发快速入门 1
在物联网中大多数的设备使用的都是实时操作系统。在工作的这几年我明显的能够发现单片机开发越来越简单,各个芯片制造商不断的推到自家的软件开发辅助工具,使得工程师开发起来越来越容易,以stm32为例,一个stm32cubemx解决了大部分代码需求,前几年写的大段代码,现在有可能只需要在cubemx选择几个配置就解决。2. 沟通简化:实时操作系统都是统一的API接口,降低了开发难度和多人配合时的沟通成本,多人开发时大家都使用统一的API,大家只要定义基本的接口就可以了,不用去指定复杂的API文档。原创 2022-11-25 09:54:28 · 1271 阅读 · 0 评论 -
esp32开发快速入门 3:FreeRTOS(2)
假设当task1函数执行完buf[0]++后,切换到任务task2,task2也执行了buf[0]++,此时buf[0]=3,在切换回task1,此时在执行sum=buf[0]+buf[1]=3+2=5,这和我们想要的结果完全不同,当然只是我举的例子实际情况有可能和我说的不同,但我只想想说明这个问题,让人明白RTOS中不能使用这样的全局变量的原因。任务1向消息队列发送数据时,任务2取出数据,但是当发送数据的速度比取出的快就会导致消息队列放满的青睐。任务1 将数据发送给消息队列,任务2冲消息队列中接收数据。原创 2022-11-25 09:54:36 · 1933 阅读 · 2 评论 -
esp32开发快速入门 2:FreeRTOS(1)
以上是一个最简单了示例,我在每一个函数中都调用了vTaskDelay这个函数,vTaskDelay这个函数是延时函数(相对延时,延时时间并不准确),调用这个函数的原因在于跳出当前任务,因为RTOS是抢占是调度器,就是移植执行最好优先级的任务,所以如果不让最高优先级停下来的话 ,其他任务是不可能有执行机会的。另外注意,前缀要小写。创建任务: 使用函数xTaskCreate ,这个函数是freeRTOS提供的创建任务的函数,FreeRTOS官方已经提供了详细的注释,如果有阅读英文的能力最好是看官方提供的注释。原创 2022-11-25 09:54:10 · 913 阅读 · 0 评论 -
解决ESP32 make flash 报错:a fatal error occurred :MD5 of file does not match data in flash!
百度了一下,可是压根就没有相关问题,而且对esp32深入分析的文章都没有,只能Google了,本人英文水平有限,找了好久,就当我打算把这块板子扔了的时候找到解决方法,试了一下 我去 还真行!公司有项目用到wifi ,立马想到了esp8266和ESP32,esp32是一款相当不错的芯片,但是问题资料太少,而且大部分都是英文,对于新手来说遇到问题真的很难解决。这不不知道怎么搞的运行make flash 就失败了,但是make app-flash 却可以成功,以为是工程的问题,重新配置了工程,但是还是失败。原创 2018-09-14 15:58:59 · 14335 阅读 · 6 评论