我爱普洱茶 发表于 4 天前

Ubuntu下ESP32-IDF开辟情况搭建

Ubuntu下ESP32-IDF开辟情况搭建



https://i-blog.csdnimg.cn/direct/b6efdb627c5a46359ad30f8a2c329897.png#pic_center
一、前言

​ 开辟ESP32,我们首先就要安装开辟情况,其实市面上有超等多的开辟和编译工具,都可以编译ESP32工程,在这里我们使用ESP-IDF举行开辟,因为ESP-IDF 库是官方目前主推的库,最新的特性更新以及 bug 修复都在 ESP-IDF 上举行发布,而且大部分源码是开源的,大家可以随意获取和查看。基于 ESP-IDF开辟还不敷,我们还须要开辟工具,ESP-IDF 可以在 windows、linux、mac 上举行开辟,但官方主推的还是 linux 平台上开辟,下面我们就开始搭建情况。
二、软件安装

https://i-blog.csdnimg.cn/direct/1a5379653fab4d6390bd7ef64b5fb876.png#pic_center
https://i-blog.csdnimg.cn/direct/ed0f28e5ed0c408f9ffdb6c7f00796e3.png#pic_center
我们须要准备上面四个软件:

[*]VS Code:代码编辑工具。
[*]VMware:假造机软件。
[*]MobaXterm:是一款免费的终端工具,可以通过SSH远程登陆到我们的假造机上。
[*]ubuntu:我们选用ubuntu作为Linux系统,这也是官方主推的,这里使用ubuntu20.04桌面版,其他的版本可能会有问题。
具体的安装方法在之前我们开辟Linux的时间都有安装过,这里我们直接使用
三、开辟情况搭建

3.1 ESP-IDF安装:

如今我们把我们的假造机打开,并通过MobaXterm SSH远程登陆:
https://i-blog.csdnimg.cn/direct/ebd1946d99664cf48f713ec12219b1b1.png#pic_center
登陆之后我们通过下面下令安装一些须要的工具:
sudo apt-get install git wget flex bison gperf python3-pip python3-venv cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0 net-tools
接下来我们把乐鑫的ESP32-SDK下载下来,我们首先创建一个文件夹,并且进入到这个文件夹:
mkdir ESP32
cd ESP32
在下载SDK之前,我们首先须要下载一个工具,因为 github 的访问问题,我们很难直接从 github 上拉取完备的 ESP-IDF 源码,但乐鑫官方提供了一个下载工具,我们通过这个工具可以轻松的获取到 ESP-IDF:
git clone https://gitee.com/EspressifSystems/esp-gitee-tools.git
https://i-blog.csdnimg.cn/direct/bb7d1c477560401992c69674027e36ed.png#pic_center
我们进入这个文件夹,执行gitee工具切换镜像脚本:
cd esp-gitee-tools
./jihu-mirror.sh set
https://i-blog.csdnimg.cn/direct/2e9c54ee91c646afa431b5628a56434c.png#pic_center
执行完毕之后我们退回到ESP32目录,然后我们就可以下载ESP32-SDK了:
cd ..
git clone --recursive https://github.com/espressif/esp-idf.git
https://i-blog.csdnimg.cn/direct/fe8372dace424f0ba3e27bede0aa180a.png#pic_center
接下来我们进入esp-idf目录下,把ESP-IDF的版本切换成V5.2:
cd esp-idf
git checkout v5.2
https://i-blog.csdnimg.cn/direct/86ac91df80ed48c59a0c34e773cac7a5.png#pic_center
因为我们更新成V5.2版本,然后我们将相应的子模块也切换到对应的版本上:
git submodule update --init --recursive
https://i-blog.csdnimg.cn/direct/14a513b6c9e54257b7d67db3729c739b.png#pic_center
这样就切换完成了,我们输入下面下令查看一下:
git branch
https://i-blog.csdnimg.cn/direct/3a1bf230ce674e32826896f9c8bfcf27.png#pic_center
在实际的操作过程中我们发现安装一些包的时间速率有点慢,我们输入下面两条下令切换源:
pip config set global.index-url http://mirrors.aliyun.com/pypi/simple
pip config set global.trusted-host mirrors.aliyun.com
https://i-blog.csdnimg.cn/direct/31f8c99426254997908e75dccdc8beb9.png#pic_center
3.2 安装编译工具:

我们直接在esp-idf目录下执行下面下令:
../esp-gitee-tools/install.sh
https://i-blog.csdnimg.cn/direct/507caa7f4bbe427b94ac5c1c0f7114a0.png#pic_center
接下来我们返回到ESP32路径下,然后从git上下载我们的例程源码:
cd ..
git clone --recursive https://gitee.com/vi-iot/esp32-board.git
https://i-blog.csdnimg.cn/direct/0707ab0f48824e5fb62a6cdabc2d9349.png#pic_center
我们可以看到这里有很多例程源码,我们都是可以单独编译的,在编译之前我们要设置一下ESP-IDF的情况变量:
cd ..
cd esp-idf
source export.sh
https://i-blog.csdnimg.cn/direct/f64f90bca0f4411fbe2832511cacd01b.png#pic_center
四、编译并烧录代码

在前面我们已经把我们的开辟情况搭建好了,也安装了编译工具,接下来我们就开始编译一下我们的例程代码:
cd esp32-board                        //进入到我们的例程源码路径下
cd helloworld                        //进入其中一个工程路径
idf.py build                        //编译代码
https://i-blog.csdnimg.cn/direct/066a001619f9414d92562d0113dc00a8.png#pic_center
我们可以看到编译完成了,因为我们是第一次编译,所以时间会比较久,然后我们将我们的开辟板插到电脑上:
https://i-blog.csdnimg.cn/direct/4c4ef68f97fc45adbb82c7031172a860.png#pic_center
我们的假造机检测到开辟板插入,我们选择毗连到假造机,然后假造机的右下角就会出现这个标识:
https://i-blog.csdnimg.cn/direct/362f57758890430896fa46199050897a.png#pic_center
然后我们输入下面指令把代码下载到我们的开辟板:
idf.py flash
https://i-blog.csdnimg.cn/direct/23d8f1e443204bc3a8d92f07ac9884b8.png#pic_center
我们发现我们的权限并不敷,然后我们该怎么办呢?输入下面下令我们直接把我们dev路径下的ttyUSB0改成最高权限:
sudo chmod 777 /dev/ttyUSB0
这样的方法有一个毛病,当我们重新拔插开辟板的时间,再次烧录它还是会提示权限不敷,那我们通过下面一个指令解决这个问题:
sudo usermod -aG dialout usrname
这里的usrname须要换成自己的用户名,然后重启即可!
https://i-blog.csdnimg.cn/direct/c83908ebeb0245edad1c3684acf89e82.png#pic_center
我们可以看到成功将我们的例程下载进去了,那我们如何查看调试信息呢?通过下面这个指令:
idf.py monitor                //查看串口调试信息
ctrl+]                                //退出
五、ESP32代码编辑工具

在上面我们已经在ubuntu上搭建好了IDF开辟情况,同时我们也可以编译和烧录我们的代码,那我们就要在VS Code上编写我们的代码,在之前的Linux开辟中我们的VS Code已经通过远程SSH的方式毗连到了我们的假造机上了,我们可以在上面编写我们的代码:
https://i-blog.csdnimg.cn/direct/b85000efdc6a4537a7f741c52bc06207.png#pic_center
但是我们开辟ESP32是基于官方的IDF SDK来开辟的,里面封装了大量的API供我们调用,我们在编写代码的时间如何查到我们这些API函数呢?
须要安装一个插件:ESP-IDF(注意:要安装到我们的假造机上,不要安装到本机)
https://i-blog.csdnimg.cn/direct/98d0b12b5b734f198e4dce0b3d535899.png#pic_center
查看API原型:
https://i-blog.csdnimg.cn/direct/0b2954911eca4441b5d618d313f92511.png#pic_center

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Ubuntu下ESP32-IDF开辟情况搭建