ESP32开发(三):搭建Linux开发环境--VSCode操作、python安装卸载

一、 概述

这篇笔记本来不应该出现的。只是windows加密环境下开发,会有编译偶尔失败等不确定问题。所以尝试下linux下搭建开发环境,顺便就记录一下过程。

基于博客VirtualBox 6.1安装Ubuntu16.04创建的ubuntu虚拟机进行。

2022.06.13补充,最好使用ubuntu20.04,一路安装会很顺利,能够避免很多麻烦。

二、安装VSCode

2.1 安装依赖环境

在ESP32的官方文档快速入门 - 安装准备中选择Linux,也可以直接点击进入

在这里插入图片描述
会给出Linux 平台工具链的标准设置:
在这里插入图片描述
在ubuntu中打开终端,安装依赖环境:

sudo apt-get install git wget flex bison gperf python3 python3-pip python3-setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0

在这里插入图片描述

2.2 获取 ESP-IDF

mkdir -p ~/esp
cd ~/esp
git clone -b v4.4.1 --recursive https://github.com/espressif/esp-idf.git

在这里插入图片描述
注:遇到错误“fatal: unable to access ‘https://github.com/espressif/esp-idf.git/’: gnutls_handshake() failed: The TLS connection was non-properly terminated.”,修改为http仍然无效。重启虚拟机后,可开始克隆。
我这里克隆到最后,会提示有一个子模块无法克隆。重新克隆,仍然会有一个子模块失败。

我删除了已克隆的文件,到VSCode使用插件直接装:

rm -rf esp-idf/

2.3 安装Espressif IDF插件

VSCode安装,在之前的一篇笔记中已经写过(点击进入),笔记中的2.1节和2.2节即可。安装完搜索插件espressif,点击安装。之后使用快捷键Ctrl+Shift+P打开命令面板,输入ESP-IDF: Config,配置插件:
在这里插入图片描述
上面克隆失败了,直接选择第一个:
在这里插入图片描述
设置如下:
在这里插入图片描述
等待下载。我这里最终仍然失败了:
在这里插入图片描述
SyntaxError: future feature annotations is not defined。SyntaxError:未定义未来的功能注释。应该是python版本太低了。

2.3.1 查看python版本

查看系统的python版本:
在这里插入图片描述
默认的是2.7.12,修改默认为python3:
在这里插入图片描述
参考链接:添加链接描述

2.3.2 安装pip

在这里插入图片描述
在这里插入图片描述

2.3.3 安装python 3.8

sudo add-apt-repository ppa:jonathonf/python-3.8
sudo apt-get update
sudo apt-get install python3.8

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
修改python默认为3.8:

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 2

在这里插入图片描述
参考链接:添加链接描述

继续安装ESP-IDF,显示:
在这里插入图片描述
测试pip
在这里插入图片描述
添加链接描述添加链接描述都是改名称,测试并不能解决问题。
在这里插入图片描述

sudo cp apt_inst.cpython-35m-x86_64-linux-gnu.so apt_inst.cpython-38m-x86_64-linux-gnu.so
sudo cp apt_pkg.cpython-35m-x86_64-linux-gnu.so apt_pkg.cpython-38m-x86_64-linux-gnu.so
sudo cp brlapi.cpython-35m-x86_64-linux-gnu.so brlapi.cpython-38m-x86_64-linux-gnu.so
sudo cp _cffi_backend.cpython-35m-x86_64-linux-gnu.so _cffi_backend.cpython-38m-x86_64-linux-gnu.so
sudo cp cups.cpython-35m-x86_64-linux-gnu.so cups.cpython-38m-x86_64-linux-gnu.so
sudo cp cupsext.cpython-35m-x86_64-linux-gnu.so cupsext.cpython-38m-x86_64-linux-gnu.so
sudo cp _dbus_bindings.cpython-35m-x86_64-linux-gnu.so _dbus_bindings.cpython-38m-x86_64-linux-gnu.so
sudo cp _dbus_glib_bindings.cpython-35m-x86_64-linux-gnu.so _dbus_glib_bindings.cpython-38m-x86_64-linux-gnu.so
sudo cp hpmudext.cpython-35m-x86_64-linux-gnu.so hpmudext.cpython-38m-x86_64-linux-gnu.so
sudo cp pcardext.cpython-35m-x86_64-linux-gnu.so pcardext.cpython-38m-x86_64-linux-gnu.so
sudo cp pycurl.cpython-35m-x86_64-linux-gnu.so pycurl.cpython-38m-x86_64-linux-gnu.so
sudo cp scanext.cpython-35m-x86_64-linux-gnu.so scanext.cpython-38m-x86_64-linux-gnu.so
sudo cp _yaml.cpython-35m-x86_64-linux-gnu.so _yaml.cpython-38m-x86_64-linux-gnu.so
sudo rm apt_inst.cpython-38m-x86_64-linux-gnu.so
sudo rm apt_pkg.cpython-38m-x86_64-linux-gnu.so
sudo rm brlapi.cpython-38m-x86_64-linux-gnu.so
sudo rm _cffi_backend.cpython-38m-x86_64-linux-gnu.so
sudo rm cups.cpython-38m-x86_64-linux-gnu.so
sudo rm cupsext.cpython-38m-x86_64-linux-gnu.so
sudo rm _dbus_bindings.cpython-38m-x86_64-linux-gnu.so
sudo rm _dbus_glib_bindings.cpython-38m-x86_64-linux-gnu.so
sudo rm hpmudext.cpython-38m-x86_64-linux-gnu.so
sudo rm pcardext.cpython-38m-x86_64-linux-gnu.so
sudo rm pycurl.cpython-38m-x86_64-linux-gnu.so
sudo rm scanext.cpython-38m-x86_64-linux-gnu.so
sudo rm _yaml.cpython-38m-x86_64-linux-gnu.so

2.3.5 卸载python

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 2

sudo apt-get remove python3.8 # 卸载python3.8
sudo apt-get remove --auto-remove python3.8 # 卸载python3.8及其依赖

2.3.6 更换为ubuntu22.04

使用最新的ubuntu系统,默认的python已经是3.10,这样就避免了升级python的问题。直接安装成功:
在这里插入图片描述

三、创建工程

VSCode是以文件夹为工作区的,可以先创建一个esp32_pro文件夹,后续工程都放在这个目录下。VSCode打开esp32_pro文件夹:
在这里插入图片描述
使用快捷键Ctrl+Shift+P打开命令面板,输入ESP-IDF: Show Examples Projects
在这里插入图片描述
继续选择:
在这里插入图片描述
选择示例工程,使用hello_world:
在这里插入图片描述
设置存放路径(2022.08.18补充,这里无需再单独创建项目文件夹,否则最后会形成hello_word/hello_world两级,比较别扭):
在这里插入图片描述

四、编译下载程序

在这里插入图片描述
首次编译会比较慢 多等一会。编译完成后点击进行下载,选择串口方式:
在这里插入图片描述
继续选择:在这里插入图片描述
结果下载失败
在这里插入图片描述
No such file or directory: ‘/dev/ttyUSB1’,没有/dev/ttyUSB1。

1. 设备连接到虚拟机

开发板默认连接在windows,需要切换到ubuntu虚拟机内。在虚拟机右下角的USB设备图标上右键,勾选QinHeng…:
在这里插入图片描述
这时在终端使用ls dev/tty*指令查看,多了一个/dev/ttyUSB0(ubuntu22.04连接开发板无变化,重装ch341驱动无效。在ubuntu16.04可以搜索到设备,最终使用了ubuntu20.04)。修改目标串口:
在这里插入图片描述
继续选择:
在这里插入图片描述

2. 设置目标板

默认是esp32,我的开发板是esp32c3:
在这里插入图片描述
继续选择:
在这里插入图片描述
重新下载,结果仍然失败:
在这里插入图片描述

3. 添加用户到Dialout组

从终端信息看是没有权限。在官方文档中有相关内容:
在这里插入图片描述
添加用户到Dialout组

sudo usermod -a -G dialout guanyuan

在这里插入图片描述
也可以参考这篇文章:添加链接描述
继续下载,结果还是失败:
在这里插入图片描述

4. 手动进入下载模式

打开终端给出的解决方法链接(点击进入):
在这里插入图片描述
继续进入Manual Bootloader:
在这里插入图片描述
需要按下按钮。回到VSCode再次下载。链接过程中,按下开发板的按键,可以看到下载成功:
在这里插入图片描述

五、查看程序运行

在这里插入图片描述

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
ESP32-C2是一款低功耗的Wi-Fi和蓝牙组合芯片,可用于物联网和嵌入式应用开发。在VSCode中配置ESP32-C2的开发环境可以让你更方便地进行代码编写、调试和烧录。 下面是配置ESP32-C2在VSCode开发环境的步骤: 1. 安装ESP-IDF开发框架:ESP-IDF是ESP32-C2的官方开发框架,提供了丰富的API和工具供开发者使用。你可以从ESP-IDF的官方GitHub仓库下载最新版本的框架,并按照官方文档进行安装和设置。 2. 安装VSCode插件:在VSCode中搜索并安装"PlatformIO IDE"插件,这是一个强大的开发平台,支持多种嵌入式硬件平台,包括ESP32-C2。 3. 创建项目:在VSCode中使用PlatformIO插件创建一个新项目。选择ESP32-C2作为目标硬件平台,并选择合适的开发板。 4. 配置项目:在项目中的platformio.ini文件中,你可以配置编译选项、串口设置、上传选项等。根据你的实际需求进行配置。 5. 编写代码:在src目录下创建你的代码文件,并编写你的应用程序代码。 6. 编译和烧录:使用PlatformIO插件提供的编译和烧录功能,将代码编译成固件并烧录到ESP32-C2芯片中。 7. 调试:通过PlatformIO插件提供的调试功能,你可以在VSCode中进行代码调试,方便定位问题和进行代码优化。 这些就是在VSCode中配置ESP32-C2开发环境的基本步骤。当然,具体的配置细节可能会因个人需求和开发环境而有所不同。你可以参考ESP-IDF和PlatformIO的官方文档来获得更详细的指导。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值