esp32开发笔记之一:esp32开发环境搭建vscode+ubuntu
最近想用esp32做一个物联网项目,踩坑N个终于有点心得,写下来避免和我一样的小白踩无谓的坑。
写在前面:
第一,大家一定要用linux系统作为编译工具,速度上是windows无法比的,不要因为不熟悉linux而选择windows。举个例子编译步骤1000个,windows是各位推进,而linux是按十位或者百位推进。我选择的是WSL ubuntu,如果小伙伴对linux命令行模式有点抵触,可以用虚拟机加ubuntu desktop版即桌面版。
第二、使用vscode+esp-idf作为编程开发工具,毕竟vscode图形界面更直观,而且vscode安装插件也更便捷。对于对linux命令行恐惧的小伙伴更友好。虽然纯linux速度更好,更便捷。
一、安装vs code
vs code官方下载地址:Download Visual Studio Code - Mac, Linux, Windows
安装的话就一直下一步就可以,需要注意的点是最后一步,一定要勾选第二项和第三项,如果不勾选,后期再加只能修改注册表,太麻烦。
二、设置vscode(先进行下一节安装wsl ubuntu后再进行这一步操作)
由于是使用ubuntu编译所以要是用vscode远程打开ubuntu文件,因此vscode要安装wsl插件才才能打开ubuntu系统内的工程文件。以下插件一定要在安装好wsl ubuntu系统后再安装,windows系统安装好vscode后,先不要急着开。打开也没用。一定一定。一下操作都是先安装vscode,然后看下一节,安装好ubuntu后,再回来设置vscode。为了不水文章。就都写在这里了。
1、安装wsl插件,打开vscode,按1-2-3步骤,打开扩展,搜索wsl,安装wsl
2、登录到wsl ubuntu系统安装插件。安装好wsl插件后,左侧会出现1处的远程资源管理图标。点击远程资源管理,然后在列表中右键wsl的ubuntu系统,选择“connect in current window”。
连接wsl ubuntu系统成功后,严格按1-2-3步骤,点击左侧1扩展,第二步选择wsl:ubuntu一定一定切记,然后3处搜索“c/c++”和“ESP-IDF”两个插件
出现以下,就是安装正确了
喜欢用中文的可以安装Chinese插件
相关文章:
![](https://i-blog.csdnimg.cn/direct/a62c98e379da43b295af9b91b8b5a836.png)
esp32开发笔记之一:esp32开发环境搭建vscode+ubuntu
最近想用esp32做一个物联网项目,踩坑N个终于有点心得,写下来避免和我一样的小白踩无谓的坑。 写在前面: 第一,大家一定要用linux系统作为编译工具,速度上是windows无法比的,不要因为不熟悉linux而选择win…...
![](https://i-blog.csdnimg.cn/direct/7c740a7d50464258b053dffce6e06346.png)
赛灵思(Xilinx)公司Artix-7系列FPGA
苦难从不值得歌颂,在苦难中萃取的坚韧才值得珍视; 痛苦同样不必美化,从痛苦中开掘出希望才是壮举。 没有人是绝对意义的主角, 但每个人又都是自己生活剧本里的英雄。滑雪,是姿态优雅的“贴地飞行”,也有着成…...
![](https://i-blog.csdnimg.cn/direct/e52bf83c836a48f4861814f66e4cb9ba.png)
Trie树算法
Trie树,也称为前缀树或字典树,是一种特殊的树型数据结构。它用于存储一组字符串,使得查找、插入和删除字符串的操作非常高效。类似这种, 模板: 这是用数组来模拟上图中的树的结构,逻辑上和上图结构一致。 …...
![](https://www.ngui.cc/images/no-images.jpg)
NLTK分词以及处理方法
在自然语言处理(NLP)的领域中,文本的处理是一个基础且核心的环节,特别是在大规模数据分析和文本挖掘中。无论是聊天机器人、情感分析,还是机器翻译,分词都是必不可少的步骤之一。分词的目的是将长篇的文本拆解为较小的单位(如单词或句子),这些单位是后续分析和处理的基…...
![](https://www.ngui.cc/images/no-images.jpg)
vue3树形组件+封装+应用
文章目录 概要应用场景代码注释综合评价注意事项功能拓展代码说明概要 创建一个基于Vue 3的树形结构组件,用于展示具有层级关系的数据,并提供了节点展开/折叠、点击等交互功能。以下是对其应用场景、代码注释以及综合评价和注意事项的详细说明。 应用场景 这个组件适用于需…...
![](https://i-blog.csdnimg.cn/direct/f67884418ea8476fb9e2fb0b2ad26a5d.png)
kotlin项目无法访问Java类的问题
使用IntelliJ创建一个Kotlin项目,然后在src/main/kotlin中创建一个java接口:Animal.java,然后在Main.kt中打印这个java接口,如下: fun main() {println(Animal::class.java) }代码在编辑器中并没有报错,但…...
![](https://i-blog.csdnimg.cn/direct/054f23729f324fd3924e37a49b00693c.png)
计算机网络 (30)多协议标签交换MPLS
前言 多协议标签交换(Multi-Protocol Label Switching,MPLS)是一种在开放的通信网上利用标签引导数据高速、高效传输的新技术。 一、基本概念 MPLS是一种第三代网络架构技术,旨在提供高速、可靠的IP骨干网络交换。它通过将IP地址映…...
![](https://i-blog.csdnimg.cn/direct/c922ae55ed484497a66e668c49c3849d.jpeg#pic_center)
qt-C++笔记之自定义继承类初始化时涉及到parents的初始化
qt-C笔记之自定义继承类初始化时涉及到parents的初始化 code review! 参考笔记 1.qt-C笔记之父类窗口、父类控件、对象树的关系 2.qt-C笔记之继承自 QWidget和继承自QObject 并通过 getWidget() 显示窗口或控件时的区别和原理 3.qt-C笔记之自定义类继承自 QObject 与 QWidget …...
![](https://i-blog.csdnimg.cn/direct/bf9404da47354bfca70e49a7fac4bcec.png)
人才选拔中,如何优化面试流程
在与某大型央企的深入交流中,随着该企业的不断壮大与业务扩张,对技术人才的需求急剧上升,尽管企业加大了招聘力度并投入了大量资源,但招聘成效却不尽如人意。经过项目组细致调研与访谈,问题的根源逐渐浮出水面…...
![](https://www.ngui.cc/images/no-images.jpg)
2501wtl,皮肤技术
下载地址 设计目标 最重要的是使用方便,已有程序创建一个COM对象,调一个方法就可把界面外观全部改成Mac风格的. 另外一个目标是要有扩展性. 所以,基本设计是定义一个统一的接口,然后用不同实现.每一个实现单独放在一个COMDLL中,调用者选择一个类标创建对象就行了. 接口的定义…...
![](https://i-blog.csdnimg.cn/direct/f119060685f741a6a387a6291bc74c06.png)
【面试题】技术场景 6、Java 生产环境 bug 排查
生产环境 bug 排查思路 分析日志:首先通过分析日志查看是否存在错误信息,利用之前讲过的 elk 及查看日志的命令缩小查找错误范围,方便定位问题。远程 debug 适用环境:一般公司正式生产环境不允许远程 debug,多在测试环…...
![](https://i-blog.csdnimg.cn/direct/78663de962914887bf01d4503dfe87b1.png)
word论文排版常见问题汇总
word论文排版常见问题汇总 常用快捷键: Alt F9 正常模式与域代码模式切换 Ctrl F9 插入域代码 F9 刷新域代码显示,要注意选定后刷新才会有效果 word中在当前列表的基础上修改列表 在使用word时,我们会定义一个列表,并将其链接…...
![](https://i-blog.csdnimg.cn/img_convert/4927b3fcef1f3fcd0fa28dfe89eba285.png)
传奇3仿韩服单机版安装教程+GM管理面板
今天为大家带来一款怀旧网单《传奇3仿韩服》的游戏架设,适用于单机娱乐, 仅供怀旧,本人已经安装游戏成功,特此带来详细安装教程。 适用环境 单机 视频演示 传奇3仿韩服单机 亲测截图 架设步骤 关闭默认杀毒软件和其它自己下的杀…...
![](https://www.ngui.cc/images/no-images.jpg)
第26章 汇编语言--- 内核态与用户态
汇编语言是低级编程语言的一种,它与特定计算机的硬件架构紧密相关。内核态和用户态是操作系统中进程运行的两种不同模式,它们用来区分操作系统内核代码和其他应用程序代码的执行环境。下面我将简要解释这两种状态,并给出一个简单的示例来展示…...
![](https://i-blog.csdnimg.cn/direct/3a17d82c62144017801f7f6ee2dbb3f6.png)
Spring bean的生命周期和扩展
接AnnotationConfigApplicationContext流程看实例化的beanPostProcessor-CSDN博客,以具体实例看bean生命周期的一些执行阶段 bean生命周期流程 生命周期扩展处理说明实例化:createBeanInstance 构造方法, 如Autowired的构造方法注入依赖bean 如UserSer…...
![](https://i-blog.csdnimg.cn/direct/eabe0a0ea552457cba7bce78b66fefc7.png)
计算机网络 (33)传输控制协议TCP概述
一、定义与基本概念 TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。它工作在OSI模型的第四层,即传输层,为用户提供可靠的、有序的和无差错的数据传输服务。TCP协议与UDP协议是传输层的两大主要协议,但两者在设计上有明显的不同&…...
![](https://www.ngui.cc/images/no-images.jpg)
Python3 JSON
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript编程语言的一个子集,但JSON是独立于语言的,很多编程语言都支持JSON格式数据的…...
![](https://www.ngui.cc/images/no-images.jpg)
Leetcode 698 Partition to K Equal Sum Subsets
题意 给一个数组,要求把数组里的元素分成k个子集,满足每个子集中数的总和是相等的。问是否能分成k个子集 题目链接 https://leetcode.com/problems/partition-to-k-equal-sum-subsets/description/ 思考 想象你有k个桶,然后你有n个小球&…...
![](https://i-blog.csdnimg.cn/img_convert/04b8ae2d373626634d0606f24ef14dba.png)
可靠的人形探测,未完待续(III)
一不小心,此去经年啊。问大家新年快乐! 那,最近在研究毫米波雷达模块嘛,期望用在后续的产品中,正好看到瑞萨的活动送板子,手一下没忍住。 拿了板子就得干活咯,我一路火花带闪电,开整…...
![](https://www.ngui.cc/images/no-images.jpg)
Git文件夹提交错了,怎么撤销?
最近提交了一些不应该提交的文件夹到git中,现在需要移除它们,现在简单记录一下操作日志: 情况一 文件夹已经被添加到 Git,但未提交 如果文件夹已经被 git add 添加到暂存区中,但尚未提交,你可以使用以下命令将其从暂存区中移除: git rm -r …...
![](https://i-blog.csdnimg.cn/direct/5a9dde925810495699042595926a55fc.png)
小程序textarea组件键盘弹起会遮挡住输入框
<textarea value"{{remark}}" input"handleInputRemark" ></textarea> 如下会有遮挡: 一行代码搞定 cursor-spacing160 修改后代码 <textarea value"{{remark}}" input"handleInputRemark" cursor-spacin…...
![](https://www.ngui.cc/images/no-images.jpg)
Android车机DIY开发之学习篇(二)编译Kernel以正点原子为例
Android车机DIY开发之学习篇(二)编译Kernel以正点原子为例 1.代码在/kernel-5.10文件夹下 2.在kernel-5.10目录下执行如下命令编译 : 编译之前,需要将 clang 导出到 PATH 环境变量: 如果是 Android12 执行下面这条命令 export PATH../pr…...
![](https://i-blog.csdnimg.cn/direct/29eacd711dc64a278b6934b3568ad2b9.png)
qt 窗口(window/widget)绘制/渲染顺序 QPainter QPaintDevice Qpainter渲染 失效 无效
qt窗体布局 窗体渲染过程 qt中窗体渲染逻辑顺序为 本窗体->子窗体/控件 递归,也就是说先渲染父窗体再渲染子窗体。其中子窗体按加入时的先后顺序进行渲染。通过下方的函数调用堆栈可以看出窗体都是在widget组件源码的widgetprivate::drawwidget中进行渲染的&am…...
![](https://i-blog.csdnimg.cn/direct/c68e5a01c0ab4c52ba104f8d55e35c90.png)
Ubuntu下载时不显示无线网图标并显示Cable unplugged
我用的是ubuntu22-04-5.iso一下载出来发现无法连接网络甚至直接显示Wired是Cable unplugged. 下面是解决方法: step1: step2:点击编辑中的虚拟网络编辑器 step3: step4: step5: step6:取消勾选自动检测可用的DNS服务器 step7:在window上按下winR输入c…...
![](https://img-blog.csdnimg.cn/direct/135b53b5f5c443c28858992462ee4c98.gif#pic_center)
微信小程序实现人脸识别登录
hello hello~ ,这里是 code袁~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 🦁作者简介:一名喜欢分享和记录学习的在校大学生…...
![](https://www.ngui.cc/images/no-images.jpg)
atoi函数的概念和使用案例
atoi 函数是 C 语言标准库中的一个函数,它用于将字符串转换为整数。atoi 的名称是 “ASCII to integer” 的缩写。该函数定义在 <stdlib.h> 头文件中。 概念 atoi 函数会从字符串的开始位置开始转换,直到遇到第一个非数字字符或遇到字符串结束符…...
![](https://i-blog.csdnimg.cn/direct/4a2ed23cbb4c4b5cbd4458be492590f7.png)
Mysql--运维篇--日志管理(连接层,SQL层,存储引擎层,文件存储层)
MySQL提供了多种日志类型,用于记录不同的活动和事件。这些日志对于数据库的管理、故障排除、性能优化和安全审计非常重要。 一、错误日志 (Error Log) 作用: 记录MySQL服务器启动、运行和停止期间遇到的问题和错误信息。 查看: 默认情况下…...
![](https://i-blog.csdnimg.cn/direct/346ad93737b343858a976c02373e11e5.png)
poi处理多选框进行勾选操作下载word以及多word文件压缩
一、场景 将数据导出word后且实现动态勾选复选框操作 eg: word模板 导出后效果(根据数据动态勾选复选框) 二、解决方案及涉及技术 ① 使用poi提供的库进行处理(poi官方文档) ② 涉及依赖 <!-- excel工具 --><depen…...
![](https://www.ngui.cc/images/no-images.jpg)
QT 键值对集合QMap
在QT中,可以使用QMap作为键值对的集合。QMap是Qt的一个模板类,它存储了键值对,并且可以通过键来快速查找值。 导入 #include <QMap> 以下是一些使用QMap的方法: 1.创建并初始化一个 QMap<int, QString> UserDepa…...
![](https://www.ngui.cc/images/no-images.jpg)
NetMQ里Push-Pull模式,消息隔一收一问题小记
问题: 本机环境下,在push端向pull端发送消息的过程中,发现同一个进程里的pusher和puller代码,可以准确地完成收发; 然而,将代码放在两个进程里,将pusher发送的消息从1计数,puller端竟…...
![](https://images2018.cnblogs.com/blog/26751/201806/26751-20180620173236641-1458882665.jpg)
北京百度糯米团购有做网站的电话吗/网页设计软件dreamweaver
十多年前,大学刚毕业,在Autodesk上海做c开发工程师。 十一年后,已经人到中年,还在努力中。↖(^ω^)↗ 努力,奋斗~ 转载于:https://www.cnblogs.com/SunWentao/p/9204971.html...
![](https://images2018.cnblogs.com/blog/1083701/201804/1083701-20180417234306609-412156299.png)
拓和科技有限公司网站/网站优化排名易下拉效率
背景说明: 一、htop是TOP的增强版; 二、dstat 是一个可以取代vmstat,iostat,netstat和ifstat这些命令的多功能产品; 三、perf是一款Linux性能分析工具。Linux性能计数器是一个新的基于内核的子系统,它提…...
![](https://s6.51cto.com/wyfs02/M02/2F/AC/wKioL1Og6-TT52jtAAEzeAZQaFM372.jpg)
大丰区城乡和住房建设局网站/推广怎么推
http://www.cnblogs.com/TankXiao/archive/2013/01/08/2818542.html#code4xxHTTP状态码,我都是现查现用。 我以前记得几个常用的状态码,比如200,302,304,404, 503。 一般来说我也只需要了解这些常用的状态码…...
![](https://cdn.luogu.org/upload/pic/1114.png)
个人房产查询系统网站官网/百度收录提交网站后多久收录
因为要讲座,随便写一下,等讲完有时间好好写一篇splay的博客。 先直接上题目然后贴代码,具体讲解都写代码里了。 参考的博客等的链接都贴代码里了,有空再好好写。 P2042 [NOI2005]维护数列 题目描述 请写一个程序,要求维…...
![](/images/no-images.jpg)
网页设计教程下载/金昌网站seo
1. 重复的HTTP请求数量应尽量减少 (1)减少调用其他页面、文件的数量。 (2)精灵图 2. 文件资源优化**1**压缩Javascript、CSS代码文件压缩 **2**CDN托管 **3** 缓存使用 **4**文件合并 3. 在文件头部放置css样式的定义 这项设置…...
![](/images/no-images.jpg)
委托 网站开发 进什么费用/网课培训机构排名前十
1、OOP对象属性与方法 object helloworld {def main(args: Array[String]) {//定义一个对象,对象里面有私有属性和方法class Person {//Scala里面的字段都包括了方法 私有属性val包括了get()和set()防范//val 属性包括了get()方法private va…...