【ESP32-S2-Kaluga-1测评】3. 入坑ubuntu,ubuntu下更新

hehung   2020-8-2 19:48 楼主


上一篇贴子,是在windows中进行开发的,但是遇到了很多无解的问题,有兴趣的小伙伴可以看一下,期望能够得到解答:【ESP32-S2-Kaluga-1测评】2. 更新固件

所以我决定使用虚拟机搭载ubuntu系统试一试。

开干,虚拟机搭载系统的过程就不赘述了,不是重点,重点是怎样让我的esp32-s2跑起来。

 

1. 在子目录下创建一个文件夹

    创建一个文件夹,名字叫做esp。

    使用如下的的命令切换到该目录,之后拷贝github的工程到该目录,这个命令是直接下载的master分支的。

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

    这个过程比较耗时,因为在github上下载实在是太慢了,都是几十k的下载

    如下是下载完成的截图。

    1.jpg  

   

2. 安装所需工具

    在1中已经拷贝esp-idf工具了,现在需要安装,使用如下面命令进入到esp-idf文件夹。

    cd esp-idf

 

   然后使用下面的命令安装esp-idf工具组

   install.bat

 

  这个过程也会花费一段时间,需要耐心等待

 

    在安装的过程中可能会提示pip版本不是最新的,现在最新的是20.3等等这样的提示,直接导致安装失败:

    (You are using pip version 8.1.1, however version 20.2 is available.)

3.jpg

    提示上面的信息之后直接更新一下pip版本就行了,命令如下:

    pip install --upgrade pip

 

  4.jpg

    之后在使用./install.sh来安装工具组。

    安装完成之后的提示如下:

     5.jpg

 

3. 设置环境变量

    我们刚才已经安装好了工具组,接下来需要配置好环境变量。

  . $HOME/esp/esp-idf/export.sh

2.jpg

    也可以直接使用命令:. ./export.sh 来讲工具组添加到环境变量

    注意命令开始的 “.” 与路径之间应有一个空格!

    安装好了之后的截图如下:

6.jpg

    安装上面的方法安装完了之后,我试了一下查看idf版本信息的命令,看看能不能运行,因为我使用windows 10安装的时候是不能够识别这个命令的。但是使用虚拟机成功地显示出来了版本信息,太棒了,继续接下来的操作。

    idf.py --version

7.jpg

 

4. 创建工程

    我在esp目录下面创建了一个名字叫做myProjects的文件夹,用来存放我们自己的工程。

    使用下面的命令退回到上一级目录,并进入我们刚才创建的那个目录下去。

    cd ../myProject/
 

    使用下面的命令拷贝esp-idf下面的examples里面的hello_world工程到我们自己创建的myProjects目录下。

   cp -r $IDF_PATH/examples/get-started/hello_world .

 

   执行了上面的命令之后可以使用自己打开文件夹myProjects看看下面是不是已经有了一个名字叫做hello_world的文件夹,有的话就就便是已经移动成功了。

    继续接下来的操作。

 

5. 连接设备

    我们先参考官方文档中的linux系统下面查看串口的方式进行一步一步的操作。

    点我跳转到官方链接

    具体操作方式如下:

    (1)首先不连接我们的esp32-s2开发板,使用下面的命令查看一下当前存在的一些端口,需要记住。

    ls /dev/tty*

 

8.jpg

 

    (2)连接上我们的esp32-s2开发板,两个USB口都需要连接,然后再次使用上面的命令,查看多出来的端口信息就是我们的串口。

    连接上了ESP32-S2之后需要点击一下虚拟机下面的USB图标,使串口设备连接到虚拟机,而不是原来的主机。

    90.jpg

    如下图所示,多出来的就是我们得到ESP32-S2端口,USB0和USB1

9.jpg

 

6. 查看ESP32-S2的连接状态

    我们需要使用一个串口查看工具putty来查看我们的esp32-S2是不是连接成功了。

    直接输入下面的命令进行安装即可。

    sudo apt-get install putty

 

  然后打开putty工具

91.jpg

    按照官方文档的提示进行设置,如下:

92.jpg

    点击Open,但是没有反应,我又重新连接到了windows,使用其他的串口工具测试了一下COM3,和COM4(在windows中是COM3和COM4),其中COM3没有反应,COM4可能正常接收到数据。

 

    最后找到了解决方法,不要点击串口这个,直接在这个窗口中选择如下就可以正常连接了,ttyUSB0连接之后没有数据显示,ttyUSB2连接之后可以打印串口数据。

96.jpg

如下,这是我下载了Hello_world程序之后串口打印的数据,原始程序打印出来不是这个样子的:

97.jpg

    

7. 设置目标芯片

    使用下面的命令设置目标芯片

    idf.py set-target esp32s2

 

    设置完成之后如下图所示

93.jpg

 

7. 编译工程

    使用下面的命令编译工程

    idf.py build

 

   下图表示工程编译成功。
94.jpg

 

8. 下载工程

    使用下面的命令下载工程bin文件

    idf.py -p /dev/ttyUSB0 flash    

    但是提示拒绝访问,是因为没有开放串口穿线的原因,使用下面的命令开放串口权限

    sudo usermod -a -G dialout $USER

    sudo chmod 777 /dev/ttyUSB0

    sudo chmod 777 /dev/ttyUSB0

    然后再次使用上述的命令 idf.py -p /dev/ttyUSB0 flash 进行下载,能够进行下载了,但是按下了boot按钮还是没有效果.

 

    最开始的那个虚拟机有点问题,我从新升级了Vmware和下载了最新版的ubuntu 20,配置过程一言难尽呀,好多东西都要重新下载,并且安装的时候安装不了了python-pip,我只好在网下下载了一个pip的包,手动安装了,好在最终终于能用了。重新进行了尝试,使用串口2终于下载成功了

    直接就下载了,不需要按什么按钮。但是最开始我安装的ubuntu16没有成功,很烦人,这个过程就搞了3个星期,主要是在github下载esp-idf包和依赖包的时候是在是太慢了,今天终于下载完成了,而且中断了就要重新下载。

    不知道串口一是干什么用的,串口2可以用来下载,命令如下: idf.py -p /dev/ttyUSB0 flash

95.jpg

8. 串口打印

    使用命令监控串口数据:idf.py -p /dev/ttyUSB1 monitor
数据正常打印。

97.jpg

    完事。

 

这个板子开发之路真的是一言难尽呀,但是总算搞好了。

 

 

 

 

 

 

补充内容 (2020-8-8 23:22): 8.下载工程里面开通串口权限,需要开通两个,那个地方写错了,现在改不了了,应该是sudo chmod 777 /dev/ttyUSB0sudo chmod 777 /dev/ttyUSB1 本帖最后由 hehung 于 2020-8-8 21:02 编辑

回复评论 (2)

使用了一下官方的camera相机源码,终于没有显示混乱的现象了

点赞  2020-8-9 00:08

 ESP32-S2-Kaluga-1测评汇总
https://bbs.eeworld.com.cn/thread-1134201-1-1.html

玩板看这里: https://bbs.eeworld.com.cn/elecplay.html EEWorld测评频道众多好板等你来玩,还可以来频道许愿树许愿说说你想要玩的板子,我们都在努力为大家实现!
点赞  2020-8-16 14:33
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复