ESP32教程之三:搭建Linux开发环境(使用docker彻底解决所有问题)

   日期:2021-03-20     浏览:224    评论:0    
核心提示:一、摘要其实不论在Linux还是Windows上搭建ESP32开发环境,都有依赖问题,导致最终无法成功搭建开发,这是个痛点,我们一直致力于ESP32开发的研究,本篇文章先彻底解决Linux开发环境搭建的所有问题(使用docker技术),之后会彻底解决Windows开发环境问题。二、什么是docker?三、为什么能解决所有Linux开发环境的问题?四、安装docker。五、获取esp-idf环境镜像。六、创建容器,使用docker进行开发。注:代码包加速拉取参考文章:怎么加速拉取github代码

一、摘要

其实不论在Linux还是Windows上搭建ESP32开发环境,都有依赖问题,导致环境搭建浪费大量时间,甚至最终还是失败,这是个痛点,让我们很烦躁,我们一直致力于ESP32开发的研究,本篇文章先彻底解决Linux开发环境搭建的所有问题(使用docker技术),之后会彻底解决Windows开发环境问题。

二、什么是docker?

docker是一种虚拟化技术,表面上看与虚拟机一样,是一个虚拟的系统,事实上他远远比一个操作系统消耗的资源少,因为docker只是一个Linux系统的一个服务进程。

三、为什么能解决所有Linux开发环境的问题?

docker是一种虚拟机技术,所以只要做一次好的ESP32的Linux环境,然后把这个环境做成一个docker镜像,那么不论你是什么样的Linux系统,只要你安装一个docker软件,然后使用做好的这个镜像,开启docker服务,那么你就有了一个完美的开发环境。

四、安装docker。

以ubuntu为例,安装docker:

step 1: 安装必要的一些系统工具
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
step 2: 安装GPG证书
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
Step 3: 写入软件源信息
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
Step 4: 更新并安装 Docker-CE
sudo apt-get -y update
sudo apt-get -y install docker-ce

其他的Linux系统自行百度搜索即可快速安装。
注:如果安装缓慢,可以修改安装源,也可以百度。

五、获取esp-idf环境镜像。

我们提供了一个制作好的esp32-idf的docker镜像,名字为:idf_v4x_full_v3.tar。
百度网盘地址:

链接:https://pan.baidu.com/s/1u-5FiTGH51SuhrL0eOs_4g 
提取码:z8e9 

六、创建容器,使用docker进行开发。

注:代码包加速拉取参考文章:怎么加速拉取github代码包(以ESP-IDF为例)
(1)加载镜像,创建容器。
加载镜像命令:sudo docker load -i idf_v4x_full_v3.tar

查看镜像:sudo docker image ls

使用镜像创建容器:sudo docker run -it -d d2098b4ed96c,其中d2098b4ed96c就是刚才加载的docker镜像的ID。

查看容器:sudo docker ps

注:容器需要使用到网络端口号,所以docker命令的运行需要超级权限,如果感觉麻烦可以使用Linux别名命令alias sdocker="sudo docker",之后直接使用sdocker即可。

(2)使用容器环境进行esp-idf开发。
(2.1)直接使用内部的esp-idf代码包。
在容器内部,我们已经提供了esp32-idf开发的代码包(已为v4.3版本),在目录下面,可以使用git pull进行与github进行同步。
使用命令sudo docker exec -it dccbce0f4778 /bin/bash,其中是刚才创建容器的ID号。

出现如下终端,说明成功进入容器,

到一个esp32-idf的一个例程下面输入 idf.py menuconfig,就会弹出如下配置界面。

(2.2)挂在外部的esp-idf代码包。
如果在宿主机里面有了esp-idf的软件包,可以在创建容器的时候,把这个路径覆盖到容器的一个目录下面,使用命令:sudo docker run -it -v 宿主机路径:容器目录 -d d2098b4ed96c
到容器的目录下面就能看到宿主机的代码包,然后就可以进行继续开发了。


可以看到我们已经成功的把宿主机的目录挂载到容器中,

注:
(1)也可以把多个宿主机的目录覆盖到容器中,只要加-v选项,比如可以把宿主机的/dev覆盖到容器的/dev,此时,就可以在容器中使用idf.py flash命令直接进行烧写代码。
由于/dev/下面都是设备文件所以,进行/dev覆盖的时候,还需要加参数--privileged

sudo docker run -it --privileged -v /dev:/dev -d d2098b4ed96c

(2)docker可以使用一个镜像创建无数多容器,容器使用还有很多其他操作,百度即可。
停止容器命令:docker kill 容器ID
删除容器命令:docker rm 容器ID

七、总结。

(1)安装docker软件。
(2)下载镜像环境包。
(3)加载docker镜像。
(4)创建容器。
(5)进入容器。
(6)进行开发。

QQ交流群:454308668

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
更多>相关资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服