Ubuntu:VS Code IDE安装ESP-IDF【保姆级】(草稿)

news/2024/7/16 7:47:26 标签: ubuntu, ide, visual studio code, iot

物联网开发学习笔记——目录索引

Visual Studio Code(简称“VS Code”)是Microsoft向开发者们提供的一款真正的跨平台编辑器。

参考:

VS Code官网:Visual Studio Code - Code Editing. Redefined

乐鑫官网:
ESP-IDF 编程指南 - ESP32   VSCode ESP-ID Extension Install

一、前提条件

Visual Studio Code IDE安装ESP-IDF扩展,需要先完成如下两个步骤:

  1. 需要先完成ESP-IDF的安装,参考:Ubuntu:ESP-IDF 开发环境配置【保姆级】
  2. 下载并安装Visual Studio Code。

下载并安装VS Code

去官网下载:Visual Studio Code - Code Editing. Redefined

我下载的版本是:code_1.83.1-1696982868_amd64.deb

Ubuntu下可以直接双击安装,或者使用如下命令安装:

sudo dpkg -i code_1.83.1-1696982868_amd64.deb

Ubuntu 上VS Code的安装非常简单

运行VSCode,并安装基础扩展插件

①:点击【Extensions】扩展图标

②:选择C/C++扩展插件,点击【Install】

二、VSCode IDE中安装ESP-IDF扩展

①:点击【Extensions】扩展图标

②:在Extensions中搜索关键字 espressifesp-idfesp32esp32s2等

③:点击【Install 】esp-idf extension

打开命令面板①点击【View】, ②选择【Command Palette】

  或者按 F1快捷键打开命令面板,在命令面板输入 : ESP-IDF: Select where to save configuration settings,用户设置、工作空间设置或工作空间文件夹设置. 获取更多信息请看Working with multiple projects ,默认是用户设置.

等待如下进度条完成 

再在命令面板输入 :ESP-IDF: Configure ESP-IDF extension,并点击选中“ESP-IDF: Configure ESP-IDF extension”

进入之后,选中【EXPRESS】 

如下界面

①选择类型乐鑫的服务器,这样下载会更快一些

②选择python工具路径:选择系统python3

③然后点击【Install】开始安装

然后,就慢慢等待安装完成

看到这个界面,恭喜您,正确的安装完成了

三、开始使用VSCode ESP-IDF

现在您已经具备了使用 VSCode ESP-IDF 的所有条件,接下来将介绍如何开始您的第一个工程。

创建工程

F1快捷键打开命令面板,在命令面板输入 :ESP-IDF: New Project

①在命令面板输入 :ESP-IDF: New Project

②选中ESP-IDF: New Project

进入New Project页面 

下面这步根据自己具体情况 

根据自己创建的项目情况选择,我使用hello_world演示 

 之后在左下角弹出提示信息,选择【Yes】

然后就创建好,并打开了新建的项目窗口 

到这一步,创建工程就完成了 

配置工程 

执行esp-idf 的menuconfig,第一次menuconfig的时间很长,耐心等待

 完成后,会自动打开【SDK Configuration editor】页面,在此页面您可以根据开发板情况修改配置项,如我的ESP32开发板flash为4M,我进入如下修改

修改完成,打开sdkconfig文件,搜索相关内容确认一下,修改是否正常生效。 

编译工程

编译非常简单,直接点击下发的ESP-IDF Build project按键即可。

第一次编译时间会比较长,耐心等待就好,后面再次编译就很快了。

烧录到开发板

直接点击下发的ESP-IDF Flash device按键即可。

 成功烧录完成提示

注意:如果烧录,注意检查串口端口号是否选择正确,和 /dev/ttyUSB*的权限。

串口输出log

点击下发的ESP-IDF Monitor device,打开串口,check串口log输出。

到此,恭喜您已完成 VSCode 图形IDE 扩展 ESP-IDF开发环境的搭建,并可以开始ESP32的入门学习了!

---------------------------------------------------------------------------------------------------------------------------------

备注

查看开发板端口号

1. 首先电脑和开发板使用usb数据线相连

2. 查看开发板连接的端口号

Ubuntu 20.04 LTS系统默认自动usb转串口驱动程序,使用如下命令参考端口号

ls -l /dev/ttyUSB*
crw-rw---- 1 root dialout 188, 0 10月 15 15:45 /dev/ttyUSB0
 

/dev/ttyUSB0权限问题

烧写开发板可能会出现 Failed to open port /dev/ttyUSB0 错误消息。

此时可以将用户添加至 Linux Dialout 组。

当前登录用户应当可以通过 USB 对串口进行读写操作。在多数 Linux 版本中,您都可以通过以下命令,将用户添加到 dialout 组,从而获许读写权限:

sudo usermod -a -G dialout $USER

在 Arch Linux 中,需要通过以下命令将用户添加到 uucp 组中:

sudo usermod -a -G uucp $USER

请重新登录,确保串口读写权限生效。

临时解决方法,也可以简单给对应端口添加读写权限,但是这种方法每次插拔开发板之后,需要重新下发命令:

sudo chmod a+rw /dev/ttyUSB0

串口终端程序

 PuTTY SSH Client是一款非常好用的串口终端程序,既可用于 Windows 也可用于 Linux。

可以快速直观的设置串口参数:波特率 = 115200(需要根据程序修改),数据位 = 8,停止位 = 1,奇偶校验 = N。

 

物联网开发学习笔记——目录索引_liuzl_2010的博客-CSDN博客


http://www.niftyadmin.cn/n/5094178.html

相关文章

CICD:Circle CI 实现CICD

持续集成解决什么问题 提高软件质量效率迭代便捷部署快速交付、便于管理 持续集成(CI) 集成,就是一些孤立的事物或元素通过某种方式集中在一起,产生联系,从而构建一个有机整体的过程。 持续,就是指长期…

codeigniter 4.1.3 gadget chain

EXP code 找到一条很有意思的codeigniter框架的链。 <?php namespace CodeIgniter\HTTP {class CURLRequest {protected $config ["debug" > "./eee.php"];} }namespace CodeIgniter\Session\Handlers {class MemcachedHandler{public function …

react-------JS对象、数组方法实际应用集合

1、向空对象里添加键值对 对象的属性可以使用[ ] 或者 . 而数组只能使用 [index] const value {} value[a] 1 value[b] 2 console.log(value) // { a:1, b:2 }const obj {} obj[user]admin obj[password]123456 console.log(obj) // { user:admin, password:123456 …

docker 安装(unbuntu安装)

替换源 有时候因为墙的原因&#xff0c;总是不成功&#xff0c;因此我们直接将apt源换成阿里云的 阿里云ubuntu镜像源 需要在阿里云找到指定版本的源&#xff0c;我这里是Ubuntu20 sudo vim /etc/apt/sources.list更换内容&#xff08;可以先将sources.list备份&#xff09; …

数据结构-冒泡排序Java实现

目录 一、引言二、算法步骤三、原理演示四、代码实战五、结论 一、引言 冒泡排序是一种基础的比较排序算法&#xff0c;它的思想很简单&#xff1a;重复地遍历待排序的元素列表&#xff0c;比较相邻元素&#xff0c;如果它们的顺序不正确&#xff0c;则交换它们。这个过程不断重…

软件测试中如何测试算法?

广义的算法是指解决问题的方案,小到求解数学题,大到制定商业策略,都可以叫做算法。而我们 今天讨论的软件测试中的算法,对应的英文单词为Algorithm ,专指计算机处理复杂问题的程序或 指令。 随着最近几年人工智能等领域的快速发展,算法受到前所未有的重视,算法测试也随之兴起。…

为什么大厂都不推荐使用@Autowired注解

目录 一、引言二、原因分析1.什么是字段注入&#xff1f;2.为什么应该停止使用字段注入?可测试性不变性与Spring更紧密的耦合空指针异常循环依赖 三、结论 一、引言 当我们在使用IDEA开发的时候&#xff0c;注入对象时使用Autowired时&#xff0c;IDEA会有个提示&#xff0c;这…