当前位置: 首页 > news >正文

Ubuntu 下搭建ESP32 ESP-IDF开发环境,并在windows下用VSCode通过SSH登录Ubuntu开发ESP32应用

Ubuntu 下搭建ESP32 ESP-IDF开发环境,网上操作指南很多,本来一直也没有想过要写这么一篇文章。因为我其实不太习惯在linux下开发应用,平时更习惯windows的软件操作,只是因为windows下开发ESP32的应用编译时太慢,让人受不了,所以最后还是选择搭建了一个Ubuntu系统下的ESP32 ESP-IDF的开发环境,并在window系统下通过SSH连接Ubuntu,这样就即可以在window下用esp-idf开发esp32的应用,又不用忍受window下编译的漫长等待。

一、安装依赖项

这里我们假设Ubuntu系统已经安装完毕。我使用的是ubuntu 24.04.2 LTS版本(非虚拟机,如果使用虚拟机安装,可能后面有一些步骤会略有不同)。

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

 在ubuntu终端命令行分别输入以上命令并运行。这里一般不会出问题,不多说。

 二、获取ESP-IDF框架

 首先建立工作目录。

mkdir ~/esp
cd ~/esp

这里需要特别强调的一点是:用git命令来clone下来,这就可以可以同步最新的框架版本!不能直接一个downLoad 下载,发现会有错误,切记!

git clone -b v5.4 --recursive https://github.com/espressif/esp-idf.git

另外,官方提供了不少的子模块,我们也一起克隆下来。这里需要用到重定向脚本,我们先下载该脚本。

git clone https://gitee.com/EspressifSystems/esp-gitee-tools.git

然后,我们利用该脚本获取子模块。

cd esp-idf
../esp-gitee-tools/submodule-update.sh

三、安装并设置工具链

除了 ESP-IDF SDK外,您还需要安装 并设置ESP-IDF 使用的各种工具,比如编译器、调试器、Python 包等!

cd ~/esp/esp-idf
./install.sh

这里需要注意的是,因为网络或其它原因,安装过程中可能会中断并报错,需要反复操作,直到最后出现下面的提示:

 All done! You can now run : 
. ./export.sh

看到这两行字符,那么恭喜你,ubuntu下的esp32开发环境基本搭建成功。

四、配置环境变量

每次打开新终端时,在esp-idf目录下运行:

source export.sh

或者:

. ./export.sh

 注意两个"."之间需要加一个空格。

成功后显示如下:

 

如果觉得每次找开新终端都要运行比较麻烦,也可以把该脚本添加到~/.bashrc

echo "source \$HOME/esp/esp-idf/export.sh" >> ~/.bashrc
source ~/.bashrc

五、验证安装

我们用官方提供的样例hello_world来验证上述安装、设置是否成功。

该样例目录:esp32/esp-idf/examples/get-started/hello_world

进入该目录后运行下列命令:

idf.py set-target esp32idf.py build
idf.py -p /dev/ttyUSB0 flash monitor

 

 注意:实际设备端口号可能不是ttyUSB0,使用ls /dev/ttyUSB*查看可用端口。建议使用官方支持的Ubuntu LTS版本

六、设备权限设置

创建udev规则文件(这一节并非必要):

sudo nano /etc/udev/rules.d/99-esp32.rules

添加以下内容:

SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", MODE="0666"
SUBSYSTEM=="tty", ATTRS{idVendor}=="1a86", MODE="0666"

重新加载规则:

sudo udevadm control --reload-rules

 七、window通过SSH连接Ubuntu

Ubuntu 系统SSH服务开启:

开启 Ubuntu 的 SSH 服务以后我们就可以在 Windwos 下通过SSH登陆到 Ubuntu了。

sudo apt-get install openssh-server

同样windows系统也要安装相应的工具软件或服务。我安装的是openssh,配置好环境后,在命令行窗口就可以通过SSH 登录Ubuntu。

 注意两台电脑要在同一个网段。

另外,当ubuntu重装后,那怕IP相同,再远程访问可能会有问题,可能出现如下提示:

 

解决办法如下:

 在windows命令行输入:sshkkeygen -R 192.168.3.165

 

八、Windows下VSCode的配置 

Windows下VSCode 配置esp-idf的开发,官方及网上的介绍很多也很详细,这里就不多说。

这一节,我们简单介绍如何配置VSCode,从而可以通过SSH登录Ubuntu,实现我们的终极目的,在windows下写代码,在Ubuntu下编译。

操作比较简单,按图所示操作就可以。

 

 

选第一个就可以。

 

输入Ubuntu的用户登录密码。

 第一次需要的时间会比较长。

至此,我们的开发环境搭建就成功了。 

相关文章:

  • 【android bluetooth 协议分析 02】【bluetooth hal 层详解 6】【高通蓝牙hal主要流程介绍-下】
  • Jmeter一些元件使用的详细记录
  • 详解MYSQL索引失效问题排查
  • 如何描述BUG
  • ubuntu22.04 安装 SecureCRT8.7.3
  • 5.0.7 TabControl的使用
  • Java+Playwright自动化-2-环境准备与搭建-基于Maven
  • ViewModel
  • 设计模式系列(06):抽象工厂模式(Abstract Factory)
  • Vue组件化
  • 用AxumStatusCode细化Rust Web标准格式响应
  • [Vue]浅浅了解vue3响应式的基本原理
  • Jenkins实践(9):pipeline构建历史展示包名和各阶段间传递参数
  • 使用 scikit-learn 库对乌克兰冲突事件数据集进行多维度分类分析
  • MATLAB实现音频参数均衡器(PEQ)
  • 麒麟系统 Linux(aarch64处理器)系统java项目接入海康SDK问题
  • mediapipe标注视频姿态关键点
  • JavaScript 中 this 指向详解
  • 力扣四道题,力扣LCR 016无重复字符的最长子串力扣452.用最小数量的箭引爆气球LCR026.重排链表力扣.1765地图中的最高点
  • 分布式项目保证消息幂等性的常见策略
  • 网站导航菜单代码/百度快照网址
  • 资讯网站/平台开发
  • 权威的手机网站制作/网站建设seo优化培训
  • 网站开发专业毕业设计/360搜索引擎网址
  • 地方战友网站建设/小程序开发多少钱
  • wordpress官方的三个主题好排名/福州关键词排名优化