乐鑫Esp32学习之旅① 爬坑学习新旅程,虚拟机Linux搭建esp32环境,打印 “Hellow World”。(带Demo)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://xuhong.blog.csdn.net/article/details/80208099

  • 本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途。如有不对之处,请留言,本人及时更改。

1、 爬坑学习新旅程,虚拟机搭建esp32开发环境,打印 “Hellow World”。
2、 巧用eclipes编辑器,官方教程在在Windows下搭建esp32开发环境,打印 “Hellow World”。
3、 认识基本esp32的GPIO接口,开始点亮您的第一盏 LED和中断回调实现按键功能 。
4、体会esp32的强大的定时器功能, 实现定时2s闪烁一盏LED灯。
5、接触实践esp32的pwm宽度脉冲功能, 实现呼吸效果闪烁一盏LED灯。
6、smartConfig和微信airKiss在esp32的实现,一键配网轻松快捷连接路由器。
7、利用GPIO中断做一个按键的短按和长按的回调事件,再也无须担心触发源。
8、乐鑫esp32 SDK编程利用rmt驱动ws2812七彩灯,实现彩虹渐变效果。
9、入门 乐鑫esp-adf 音频框架开发,造一个蓝牙耳机,实现切换歌曲,获取歌曲信息等功能。

一、认识其本质。


这里写图片描述


  • 乐鑫ESP8266学习的七七八八了,下面开始新的旅程,我们来玩玩ESP32,其功能强大之处在于可以同时支持 WI-FI+BlueTooth , 即 wifi加蓝牙 。可见之处多么强大,还可以同时开启蓝牙和wifi哦!

  • ESP32是一款WiFi和蓝牙系统级芯片(SoC),具有行业领先的射频性能、低功耗和高度集成的优势。

  • ESP32集成了完整的发射/接收射频功能,包括天线开关,射频balun,功率放大器,低噪放大器,过滤器,电源管理模块和先进的自校准电路。自校准电路实现了动态自动调整以消除外部电路的缺陷。

  • ESP32带有2个32位、LX6 CPU,主频高达240MHz,采用7级流水线架构。

  • ESP32还集成了丰富的模拟传感和数字接口。 ESP32的超低功耗射频架构和拥有专利的省电技术延长了实际应用的电池续航时间。


二、学习资料参考。


三、搭建环境所需要的材料(3个)。


官方Linxu环境搭建ESP32相关文档:https://esp-idf.readthedocs.io/en/latest/get-started/linux-setup.html


① ToolChain 工具链下载:

  • 分为 Linux 64位的和 32位的 。目前2018.5.5的乐鑫最新IDF框架支持的工具链需要到工具链版本80,切记切记!

版本80的64位系统下载链接:点我下载

版本80的32位系统下载链接:点我下载


② 乐鑫IDF框架下载:

  • 乐鑫IDF框架是什么?这里我就不多说了! 用git命令来拉取下来,这就可以可以同步最新的框架版本!懒散的我直接一个downLoad 下载,发现会有错误,可能是会把某些文件没下载,切记!还是用前辈的方法拉取下来!
  git clone --recursive https://github.com/espressif/esp-idf.git


③ 乐鑫推荐搭建8266的开发环境集成!

可以参考机智云的文档集成8266开发环境介绍:点我查看

注意点①: 使用乐鑫推荐的方式来安装虚拟镜像ESP8266_lubuntu_20141021.ova的Linux版本是 32位,所以我们如果选择此方式的话,那么前面下载的工具链为32位,那本文的也是基于32位的工具链,其实和64位的集成方式一样,只是下载不一样的代码!

注意点②: 注意设置共享文件夹位置,我们下载的压缩包都是放在共享文件夹的!


四、开始安装。


  • ① 我首先在共享文件夹下面新建子文件夹ESP32_Only,专门放ESP32工程的子文件夹Esp32Project ,以及放IDF的子文件夹IDF,以及放工具链的子文件夹toolsChain

  • ② 再把我们上面下载的压缩包工具链压缩包放在toolsChain文件夹!并且解压到此文件夹!

  • IDF框架压缩包放在IDF,通过git指令来拉取到到此文件夹!

  git clone --recursive https://github.com/espressif/esp-idf.git


这里写图片描述


在解压压缩包时候可能出现了压缩包解压出错!此刻要以管理员身份运行你的解压工具,再来解压这个压缩包,切记切记!


五、环境变量集成。


  • ①:先控制台切换到我们的工具链的解压目录,确保路径一致:
cd /mnt/Share/ESP32_Only/toolsChain/xtensa-esp32-elf

这里写图片描述


  • ②:编辑局部的Shell变量:
sudo vim /etc/profile
  • 输入上面的指令之后,将会出现以下的界面,我们需要的修改此文件的配置:

  • 编辑此文件的顺序:先点击i开始注入我们的代码,弄好之后点击ESC退出编辑,再输入:wq保存退出!

  • 我们注入的代码其实很简单,如下代码,表示指定我们的编译工具目录和IDF的SDK目录:

export PATH=$PATH:/mnt/Share/ESP32_Only/toolsChain/xtensa-esp32-elf/bin
export IDF_PATH=/mnt/Share/ESP32_Only/IDF/esp-idf


这里写图片描述


  • ③:编辑完毕之后,我们还要使之生效:
source /etc/profile
  • ④:检查下是否安装集成成功:
 xtensa-esp32-elf-gcc -v

发现出下面输出,恭喜!集成成功:

gcc version 5.2.0 (crosstool-NG crosstool-ng-1.22.0-80-g6c4433a) 


这里写图片描述


六、运行工程。


  • ① 打开 IDF/esp-idf/examples/get-started下面的hello_world工程,直接拷贝到我们上面新建的Esp32Project目录下,其实放在哪里都一样。

  • ② 控制台切换到此目录:
/mnt/Share/ESP32_Only/Esp32Project/hello_world

这里写图片描述


  • ③ 配置此工程选项 , 出现配置弹窗(注意控制台的窗体大小放大一点否则会报错):
make menuconfig

  • 主要修改如下:

    • 第一个 :SDK tool configuration ---> 配置SDK指向目录,如果我们之前弄的不出错,此处可不理会!Py版本选择默认的2就是了!
    • 第二个:Serial flasher config --->主要修改的是串口下载配置:我们是在windows的串口工具下载的,所以第一个不用理会,第二个选择波特率,我们默认115200 ,最主要的是Flash Size,安信可的esp32模组是 4M的!之后点击save! 之后你会看见在这个文件夹下面多了2个文件,sdkconfig,此是配置文件,不要删除!

-这里写图片描述


  • ④ 开始编译,首次编译可能要等3分钟,甚至更长,此时会有不断的Log打印,莫急莫急!之后编译就很快了:
  make all -j8
  • 这里是成功编译后LOG:

这里写图片描述


七、烧录文件。


需要三个文件:hello-world.binpartitions_singleapp.binbootloader.bin,其中前2个在工程目录下面的build文件夹,第三个在build文件夹的bootloader目录下;


这里写图片描述


下载烧录工具:点我下载最新版


这里写图片描述


烧录地址,烧录时候,和8266一样,GPIO0为低电平,同时复位即可进去烧录模式:


这里写图片描述


看看我们的串口打印:(各位改下几个单词就是Hellow World 的打印啦!)


这里写图片描述


GitHub: https://github.com/xuhongv/StudyInEsp32

QQ交流群:434878850


展开阅读全文

没有更多推荐了,返回首页