ESP32那些事儿
文章平均质量分 55
淮山柳舍
这个作者很懒,什么都没留下…
展开
-
ESP32那些事儿(一):前言
刚刚换了一家新东家,本来去之前说是有一个宏伟的产品,去之后却是要先从一个IOT小产品开始。刚开始有点小失望,不过自从选型为ESP32这款小网红芯片后,觉得尝试一下未尝不可。对我等做过手机、电视、PAD的老嵌入式程序员来说,这不是小CASE嘛。不过经过几个礼拜的开发,发现麻雀虽小,但也五脏俱全。 这其中也遇到一些小坑,趁项目不太紧的时候,能够分享给大家,也不失为一种自我总结,共同...原创 2018-06-12 09:39:27 · 3621 阅读 · 2 评论 -
ESP32那些事儿(二):磨刀不误砍柴功-做好项目开发前的准备工作
如果你是第一次接触FreeRTOS和ESPRESSIF的产品,例如我,那还是要先来个整体印象,然后再逐个深化。做项目的都知道,老板们是不允许我们四平八稳的研究完然后再开始项目。 那也不妨碍咱们要有自己的节奏,既要平衡项目的进度,也要按照事情的规律来做事情 。这就需要快速的准备一些预备知识,磨刀不误砍柴功,仓促上阵,只会欲速则不达。 一、了解ESP32芯片 ESP32的基本...原创 2018-06-12 09:59:56 · 10328 阅读 · 6 评论 -
ESP32那些事儿(四):纵览全局之代码架构
摸清楚系统架构后,项目的整体情况已经成竹在胸了,是不是有点摩拳擦掌,信心十足的要开始码代码了。 但是代码如何下手呢?做项目的话不能再像Demo程序一样,我们有多个功能,有多个人参与开发,代码的组织也需要提前设计一番,当然此刻有一个详细的设计文档最好,不过做嵌入式开发通常不会这么详细。 Freertos作为一个实时的操作系统,非常的短小精悍,需要注意的是和类Linux系统不同的是...原创 2018-06-12 13:41:33 · 4883 阅读 · 0 评论 -
ESP32那些事儿(五):瑞士军刀之ESP32的常用API分析
事实上,所有在esp32上用到的api在esp-idf中都能找到,但是对于我们来讲这是一个大而全的API参考指南,在项目的初期,我们没有必要花费太多的时间详细的阅读每一个API的使用,挑一些常用的API进行学习,而后再根据使用情况来查询参考文档,这样才能达到事半功倍的效果,那么这里就罗列一些常用的API吧:1、ESP_LOG 我们写程序最本能的就是关键的步骤都要打一些日志到串口终端,...原创 2018-06-12 13:45:29 · 6480 阅读 · 0 评论 -
ESP32那些事儿(六):功能开发之蓝牙及WiFi功能
蓝牙和WIFI是ESP32的核心功能,蓝牙和wifi的共存也是esp32的独门武功,但时候后续也会发现共存的时候会有很多问题。不管怎样,蓝牙和wifi在esp-idf中有很多的例子,大家都可以参考。本篇只做简单的流程介绍。 1、蓝牙a2dp sink的初始化 蓝⽛牙是⼀一种短距通信系统,其关键特性包括鲁棒性、低功耗、低成本等。蓝⽛系统分为两种不不同的技术:经典蓝牙 (C...原创 2018-06-12 15:41:05 · 23381 阅读 · 2 评论 -
ESP32那些事儿(七):功能开发之I2S和I2C驱动
1、基于ESP32 API的I2C1、I2S的使用 I2S为三线总线,3个信号分别为:① 串行时钟SCK,也叫位时钟(BCK)。即每发送1位数字音频数据,SCK上都有1个脉冲。SCK的频率=2×采样频率×采样位数。在数据传输过程中,I2S总线的发送器和接收器都可以作为系统的主机来提供系统的时钟频率。② 帧时钟WS,即命令(声道)选择,用于切换左右声道的数据。WS的频率等于采样频率,由系统主...原创 2018-06-14 14:35:38 · 7987 阅读 · 3 评论 -
ESP32那些事儿(八):功能开发之音乐播放功能
本篇对于在线音乐播放不做讨论,如果整个系统只有在线音乐播放的功能,系统资源应该是没有问题的。同时也可以支持多种音频的CODEC。 对于本地音频文件播放,由于ESP32芯片系统通常存储和内存资源有限,如果不外挂SRAM,片内只有512KB可用内存,例如我们的项目只有512KB的内存,和4MB的Flash,对于这样的项目,如果要求有音频播放的需求,则要就要考虑: 文件如何存储?内...原创 2018-06-14 15:53:25 · 14469 阅读 · 3 评论 -
ESP32那些事儿(九):功能开发之OTA功能
1、升级策略 从前面对Bootloader的分析中,我们知道ESP32的OTA升级基本上也是可靠的,可靠的意思是即使升级失败,写入IMAGE不完整,设备还是可以用的。 对于OTA升级,大家印象比较深刻的就是Android手机的升级,Android手机的升级确实是比较完善和健壮的,对于IOT设备来说,也没有差分Image的机制,所以只要简单有效即可。 后来我们确定的方案就是后台静默...原创 2018-06-14 16:08:02 · 3924 阅读 · 0 评论 -
ESP32那些事儿(十):其他功能
这些功能只做抛砖引玉,不做详细描述了。1、websocket在和服务器端通讯的时候,可能会用到Websocket协议,其实大家用MQTT协议的时候,好多库底层也是用Websocket实现的。我们使用了libwebsocket,libwebsocket支持很多平台,在ESP32中也做了移植,支持的还比较好。2、spiffs和Fat文件系统在保存音频文件的分区中,可以使用Spiffs或者Fat文件系统...原创 2018-06-14 16:39:16 · 3064 阅读 · 0 评论