第一部分:

1. 官网教程地址

https://docs.espressif.com/projects/esp-idf/zh_CN/v4.0.1/get-started/linux-setup.html

 

2.官网教程提到针对ubuntu,需要输入下列指令

sudo apt-get install git wget libncurses-dev flex bison gperf python python-pip python-setuptools cmake ninja-build ccache libffi-dev libssl-dev

实测报错,类似下图的这种报错,百度了很多博客,我无法解决涉及到的软件包的依赖关系。

esp32刷成python了 esp32刷linux_esp32刷成python了

 

3. 我的针对上述问题的解决办法,最笨的办法:重新使用iso镜像来制作一个全新的虚拟机,

因为全新,所以还未安装任何个人软件,在此基础上搭建ESP32的开发环境,应该是不会面临需要解决软件包依赖关系的窘境。

esp32刷成python了 esp32刷linux_ubuntu_02

以后要保留着这份制作好的最原始的ubuntu系统了,以备不时之需,而不是钱到用时放恨少。

PS:后记,建议您下载ubuntu18.04 , 而不是我这里展示的ubuntu16.04

 

4.新的ubuntu装好后,还不能马上直接敲入上述指令(即步骤2的指令),因为此时的下载源是美国的,实测,是真的很慢很慢,有可能会下载一天。

所以我们还需要更换ubuntu的下载源。

 

5.更换ubuntu的下载源为国内源

1.备份原始源文件source.list
sudo  cp   /etc/apt/sources.list   /etc/apt/sources.list.bak

2.
sudo  chmod  777  /etc/apt/sources.list

3.
sudo  gedit   /etc/apt/sources.list

4.删除原来的文件内容, 然后复制下面 阿里源 的内容到上面打开的文件内并保存

deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse

5. 更新源
sudo apt update

办完这些事以后,就可以愉快高效地执行上述步骤2的指令了。

执行效果如下所示:

esp32刷成python了 esp32刷linux_ubuntu_03

 

6.接着设置Ubuntu 默认使用 Python 3, 按照上述官方教程操作即可。

现在基本的环境就准备好了,下一步就是获取ESP32的SDK开发包了, 即按照官方教程,去获取一个叫做ESP-IDF(中文意思就是ESP的IOT开发套件)的开发包。

 

 

第二部分:

这部分是后面追加的,按照上述第一部分搭建好环境后,去安装IDF,由于git clone 获取IDF包很慢,又没办法FQ,好不容易下载好了,安装起来又是各种报错,实在解决不掉。

百度的各类博客也有说,这是需要安装个十次八次的。 我暂时也没撤了,业余精力也有限。

那就暴击之!直接使用安信可公司提供的ubuntu,里面内置了一版IDF,且把开发环境都配置好了。

附上百度网盘地址:

链接:https://pan.baidu.com/s/16q6CAVMupFhJmqxvGT2h-w
提取码:x1hq

 

使用VMWare打开这个ubuntu,PS:这个ubuntu不可以直接windows鼠标拖拽文件,你也先不要着急去解决这个问题,先去编译第一个点灯工程,然后下载到你的板子去运行吧!

(为什么不要着急去解决ubuntu和windows鼠标拖拽文件的问题,因为这个属于次要问题,

有可能你在解决的过程中,会把安信可公司配置好的开发环境给破坏了!到时候点灯都跑不起来,

所以还是先跑个点灯,心里有了底,再去折腾其他的次要问题吧)

 

次要问题有很多的,也是很重要的问题。

例如这个ubuntu是内置了IDF,但是我们在网上浏览ESP32的相关示例工程,他们往往是基于不同版本或者更新版本的IDF,那么怎么替换IDF呢,这个也是要研究的。

 

后面无可避免地,还是要学会在ubuntu内安装ESP32开发环境。

 

说说怎么编译下载“hello word”程序

esp32刷成python了 esp32刷linux_ubuntu_04

 

进入到hello_word文件夹内:

esp32刷成python了 esp32刷linux_esp32刷成python了_05

 

按下图方式打开命令行终端:

esp32刷成python了 esp32刷linux_ubuntu_06

 

执行make

esp32刷成python了 esp32刷linux_esp32刷成python了_07

这里可以看到,提示你去 run “make flash”

 

接着把板子的IO0引脚接地,然后接上串口,经过USB转TTL模块, 连接到电脑的USB接口内。

再按下图操作将其连接至ubuntu内

esp32刷成python了 esp32刷linux_esp32刷成python了_08

 

在执行下图命令,你将看到显示 /dev/ttyUSB0  这是USB的设备节点,

有了这个,在ubuntu上就可以和ESP32模块通过USB转TTL模块进行通信了(包括显示ESP32打印出的串口数据、烧录程序到ESP32)

esp32刷成python了 esp32刷linux_开发环境_09

 

现在我们可以指向make flash来烧录程序了,如下图所示

esp32刷成python了 esp32刷linux_esp32刷成python了_10

上图划线处会一直等待,需要你按一下板子上的复位键。

esp32刷成python了 esp32刷linux_开发环境_11

 上图这样就是烧录好了,先把板子上的IO0接地去除,(程序运行时IO0不可接地), 按一下复位键程序就跑起来了,

 

此时我们再打开串口调试助手也不迟, 执行make monitor

esp32刷成python了 esp32刷linux_esp32刷成python了_12

可以看到,成功打印出了  你好世界!