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

【桌面小屏幕项目】ESP32开发环境搭建

视频教程链接:

【【有手就行系列】嵌入式单片机教程-桌面小屏幕实战教学 从设计、硬件、焊接到代码编写、调试 ESP32 持续更新2022】 https://www.bilibili.com/video/BV1wV4y1G7Vk/?share_source=copy_web&vd_source=4fa5fad39452b08a8f4aa46532e890a7

一、esp32资料汇总

ESP32 Wi-Fi & 蓝牙 MCU I 乐鑫科技

ESP-IDF 编程指南 - ESP32 - ‒ ESP-IDF 编程指南 release-v4.4 文档

二、环境搭建

2.1 Window开发环境搭建参考

较简单,适合小白用户

DesktopScreen Window开发环境搭建

2.2 Linux开发环境搭建参考

较为复杂,适合专业用户

2.2.1 虚拟机环境搭建参考:

1、虚拟机安装

VMwareWorkstation下载链接

最新超详细VMware虚拟机下载与安装

打开共享文件夹

VMware中虚拟机Ubuntu访问Windows7主机文件夹的设置流程_shuwu-CSDN博客

cp /mnt/hgfs/vmshare/test.txt  .
cp test1.txt /mnt/hgfs/vmshare/

2、虚拟机中安装Ubuntu系统

Index of /ubuntu-releases/18.04/->ubuntu-18.04.5-desktop-amd64.iso 下载完成后验证MD5

超详细VMware安装Ubuntu虚拟机步骤

vmware workstation16许可证密钥 - yg0070 - 博客园

Ubuntu刚安装后,给root用户设置密码的具体步骤:打开一个终端,然后输入下面的命令

sudo passwd 然后输入密码

-共享文件夹

VMware设置共享文件夹后,虚拟机中仍然看不到,执行以下指令

sudo mkdir /mnt/hgfs
sudo vmhgfs-fuse .host:/ /mnt/hgfs/ -o allow_other

3、在Window系统安装代码编辑器VSCode

Window安装VSCode

国内源下载或者直接下载下发安装包,直接安装即可。

暂时无法在飞书文档外展示此内容

4、在虚拟机Ubuntu系统中配置SSH和Samba,用于支持远程访问

SSH安装&客户端工具安装

在ubuntu终端中执行:
sudo apt-get install openssh-server 
sudo /etc/init.d/ssh start
ps -e|grep ssh
sudo passwd root 若未设置过root密码,可自行选择设置
查看ubuntu ip确定和windows一样
ifconfig

Samba服务器搭建

sudo apt-get update 
sudo apt-get install samba
sudo gedit /etc/samba/smb.conf
末尾添加以下
[share]comment = samba home directorypath = /home/xxxx/esp 你本机路径public = yesbrowseable = yespublic = yesread only = nowritable = yescreate mask = 0777directory mask = 0777available = yessecurity = share重启
sudo service smbd restart
sudo ufw allow samba

在 Windows 系统上右击 此电脑 ------->映射网络驱动器

在连接前确定虚拟机网络ip和主机ip为同一网段,可使用桥接模式

5、在Window VSCode中通过SSH命令行方式访问Ubuntu

打开VSCode安装C/C++、SSH客户端插件

配置连接Ubuntu

添加配置信息

登录,如果网络配置没问题,你可以在新窗看到需要输入密码,输入ubuntu密码后可登录成功。

更多内容参考:

Embeded 2 环境搭建

2.2.2 乐鑫ESP32 SDK环境搭建

安装环境依赖工具

通过SSH登录ubuntu后,在Vscode终端中执行
sudo apt-get update
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

下载idf源码(课程使用idf版本为4.4)

mkdir esp
cd ~/esp
git clone -b release/v4.4 --recursive https://github.com/espressif/esp-idf.git
如果下载过程中出现子模块没更新成功,可以进入esp_idf目录内,单独更新子模块
git submodule update --init --recursive

如果还是由于github访问原因下载不成功,也可以直接下载sdk

把压缩拉入到ubuntu,在压缩包路径执行解压指令
tar -xzvf esp-idf.tar.gz -C ~/esp/

安装编译链

进入到解压的esp-idf文件中,安装编译代码需要的工具链
cd ~/esp/esp-idf
export IDF_GITHUB_ASSETS="dl.espressif.com/github_assets"
./install.shFYI:
此步骤出错时,确定下ping www.baidu.com,看下是否联网成功,多安装几次
若最终还是不行,可考虑更换源
https://blog.csdn.net/anjoel/article/details/124805571?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-1-124805571-blog-79127695.pc_relevant_3mothn_strategy_and_data_recovery&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-1-124805571-blog-79127695.pc_relevant_3mothn_strategy_and_data_recovery&utm_relevant_index=1

设置环境

安装完成工具链后,把esp-idf路径设为本地路径,在终端执行(yourpath为你本机路径):
. yourpath/esp/esp-idf/export.sh如果您需要经常运行 ESP-IDF,您可以为执行 export.sh 创建一个别名,具体步骤如下,
1、在终端中使用vim打开~/.bashrc,然后把以下路径添加到本地环境变量中
vim ~/.bashrc
2、按键盘i按键进行编辑,写入以下命令
alias get_idf='. yourpath/esp/esp-idf/export.sh'
3、按esc按键退出编辑,写入:wq保存退出
4、执行以下命令同步环境变量
source ~/.bashrc
5、直接执行get_idf即可

判断是否搭建成功

kemp@ubuntu:~/work/esp/esp-idf$ idf.py --version
ESP-IDF v4.4.2-296-g4b8915d7af-dirtykemp@ubuntu:~/work/esp/esp-idf$ git log
commit 4b8915d7af37b0cdb9ae2bc3a95c9f1bc797f6e0 (HEAD -> release/v4.4, origin/release/v4.4)
Merge: 7cedbfabdf e4df3e2ad7
Author: Island <island@espressif.com>
Date:   Wed Sep 21 11:31:55 2022 +0800Merge branch 'bugfix/lpn_not_recv_message_to_all_node_4.4' into 'release/v4.4'ble_mesh: stack: Add option for lpn auto sub all-nodes(v4.4)See merge request espressif/esp-idf!20264

安装环境出问题时可参考官方:

快速入门 - ESP32 - ‒ ESP-IDF 编程指南 release-v4.4 文档

FYI

如果你已经下载了其它版本的IDF,可以自行切换

版本查看与同步
cd $IDF_PATH
git fetch
git checkout vX.Y.Z
git submodule update --init --recursive
重新执行设置后,get_idf

相关文章:

【桌面小屏幕项目】ESP32开发环境搭建

视频教程链接&#xff1a; 【【有手就行系列】嵌入式单片机教程-桌面小屏幕实战教学 从设计、硬件、焊接到代码编写、调试 ESP32 持续更新2022】 https://www.bilibili.com/video/BV1wV4y1G7Vk/?share_sourcecopy_web&vd_source4fa5fad39452b08a8f4aa46532e890a7 一、esp…...

CSS 滚动容器与固定 Tabbar 自适应的几种方式

问题 容器高度使用 px 定高时&#xff0c;随着页面高度发生变化&#xff0c;组件展示的数量不能最大化的铺满&#xff0c;导致出现底部留白。容器高度使用 vw 定高时&#xff0c;随着页面宽度发生变化&#xff0c;组件展示的数量不能最大化的铺满&#xff0c;导致出现底部留白…...

IP 地址追踪工具

IP 地址跟踪工具是一种网络实用程序&#xff0c;允许您扫描、跟踪和获取详细信息&#xff0c;例如 IP 地址的 MAC 和接口 ID。IP 跟踪解决方案通过使用不同的网络扫描协议来检查网络地址空间来收集这些详细信息。一些高级 IP 地址跟踪器软件&#xff08;如 OpUtils&#xff09;…...

最新企业网盘产品推荐榜发布

随着数字化发展&#xff0c;传统的文化存储方式已无法跟上企业发展的步伐。云存储的出现为企业提供了新的文件管理存储模式。企业网盘作为云存储的代表性工具&#xff0c;被越来越多的企业所青睐。那么在众多企业网盘产品中&#xff0c;企业该如何找到合适的企业网盘呢&#xf…...

实用的面试经验分享:程序员们谈论他们的面试历程

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…...

6.oracle中listagg函数使用

1. 作用 可以实现行转列&#xff0c;将多列数据聚合为一列&#xff0c;实现数据的压缩 2. 语法 listagg(measure_expr&#xff0c;delimiter) within group ( order by order_by_clause); 解释&#xff1a; measure_expr可以是基于任何列的表达式 delimiter分隔符&#xff0c…...

习题练习 C语言(暑期)

编程能力小提升&#xff01; 前言一、转义字符二、重命名与宏定义三、三目运算符四、计算日期到天数转换五、计算字符串长度六、宏定义应用七、const常量八、C语言基础九、const常量&#xff08;二&#xff09;十、符号运算十一、记负均正十二、SWITCH&#xff0c;CASE十三、错…...

C++中虚函数表的概念

当一个类对象指针调用虚函数时&#xff0c;这就涉及到 运行时多态 的概念。这意味着实际调用的函数取决于对象的实际类型&#xff0c;而不仅仅是指针的静态类型。 假设我们有以下的类层次结构&#xff1a; class Base { public:virtual void print() {std::cout << &qu…...

代码随想录算法训练营第四十八天 | 198.打家劫舍,213.打家劫舍II,337.打家劫舍III

代码随想录算法训练营第四十八天 | 198.打家劫舍&#xff0c;213.打家劫舍II&#xff0c;337.打家劫舍III 198.打家劫舍213.打家劫舍II337.打家劫舍III 198.打家劫舍 题目链接 视频讲解 你是一个专业的小偷&#xff0c;计划偷窃沿街的房屋。每间房内都藏有一定的现金&#xff…...

uniapp项目实战系列(1):导入数据库,启动后端服务,开启代码托管

目录 前言前期准备1.数据库的导入2.运行后端服务2.1数据库的后端配置2.2后端服务下载依赖&#xff0c;第三方库2.3启动后端服务 3.开启gitcode代码托管 ✨ 原创不易&#xff0c;还希望各位大佬支持一下&#xff01; &#x1f44d; 点赞&#xff0c;你的认可是我创作的动力&…...

在互联网+的背景下,企业如何创新客户服务?

随着互联网的发展&#xff0c;开始数字化转型的潮流&#xff0c;移动互联网平台为各个行业带来了发展的新方向。企业有了移动互联网的加持&#xff0c;为客户提供了更好的服务。当移动互联网平台能够为客户提供更好的用户体验时&#xff0c;相应地&#xff0c;客户也给企业带来…...

国内的化妆品核辐射检测

化妆品核辐射物质检测是指检测化妆品中的放射性物质&#xff0c;包括放射性核素和放射性同位素。这些放射性物质主要来源于环境中的放射性污染&#xff0c;如空气、水和土壤中的放射性物质&#xff0c;以及化妆品生产过程中的放射性污染&#xff0c;如原料、设备、工艺等。化妆…...

春秋云镜:CVE-2019-9042(Sitemagic CMS v4.4 任意文件上传漏洞)

一、题目 靶标介绍&#xff1a; Sitemagic CMS v4.4 index.php?SMExtSMFiles 存在任意文件上传漏洞&#xff0c;攻击者可上传恶意代码执行系统命令。 进入题目&#xff1a; admin/admin /index.php?SMExtSMFiles&SMTemplateTypeBasic&SMExecModeDedicated&SMFil…...

20230828工作日志:

今天遇到了很多问题&#xff0c;下次可以做得更好更快的几个地方&#xff1a; 1 sql语句的检查 肯定要先在navicate 里执行看&#xff0c;是否有语法错误。即使没有&#xff0c;也还是要注意一些问题&#xff1a;IDEA里换行的时候&#xff0c;“后面要空一格&#xff0c;如果连…...

flink on yarn 部署

需要jars -rwxr-xrwx 3 root supergroup 58284 2022-11-30 03:44 /lib/flink/commons-cli-1.5.0.jar -rw-r--r-- 3 root supergroup 48497 2022-12-10 03:04 /lib/flink/flink-cep-scala_2.12-1.14.3.jar -rw-r--r-- 3 root supergroup 189468 2022-12-10…...

postgresql基于postgis常用空间函数

1、ST_AsGeoJSON 图元转geojson格式 select ST_AsGeoJSON(l.geom) from g_zd l limit 10 2、 ST_Transform 坐标转换 select st_transform(l.shape, 3857) from sde_wf_cyyq l limit 10select st_astext(st_transform(l.shape, 3857)) from sde_wf_cyyq l limit 103、st_aste…...

详细讲解移植u-boot.2022.10版本移植到开发板基本方法

大家好&#xff0c;我是ST​。​ 今天给大家讲一讲如何将u-boot.2022.10版本移植到imx6ull开发板上。 环境 选项内容编译主机UbuntuLTS 18.04目标板ATK I.MX6ULL&#xff08;512MB DDR3 8GB EMMC&#xff09;u-boot版本2022.10交叉编译工具链gcc-linaro-7.5.0-2019.12-i686…...

Vue.js2+Cesium1.103.0 十一、Three.js 炸裂效果

Vue.js2Cesium1.103.0 十一、Three.js 炸裂效果 Demo ThreeModelBoom.vue <template><div:id"id"class"three_container"/> </template><script> /* eslint-disable eqeqeq */ /* eslint-disable no-unused-vars */ /* eslint-d…...

Nodejs快速搭建简单的HTTP服务器,并发布公网远程访问

前言 Node.js 是能够在服务器端运行 JavaScript 的开放源代码、跨平台运行环境。Node.js 由 OpenJS Foundation&#xff08;原为 Node.js Foundation&#xff0c;已与 JS Foundation 合并&#xff09;持有和维护&#xff0c;亦为 Linux 基金会的项目。Node.js 采用 Google 开发…...

爬虫入门01

1. 请求头中最常见的一些重要内容 User-Agent : 请求载体的身份标识(⽤啥发送的请求)Referer: 防盗链(这次请求是从哪个⻚⾯来的? 反爬会⽤到)cookie: 本地字符串数据信息(⽤户登录信息, 反爬的token) 2. 响应头中一些重要内容 cookie: 本地字符串数据信息(⽤户登录信息, 反…...

PostgreSQL游标深度解析:大数据集处理与Python应用实践

1. 项目概述&#xff1a;为什么我们需要关注PostgreSQL游标&#xff1f;在数据库开发的世界里&#xff0c;我们常常听到“游标”这个词&#xff0c;尤其是在处理Oracle或SQL Server这类商业数据库时。但在PostgreSQL的语境下&#xff0c;很多开发者&#xff0c;尤其是从其他数据…...

前端学习打卡Day9:CSS 关系选择器、综合实战案例|古诗鉴赏网页制作

一、今日学习目标掌握 CSS四种关系选择器的语法、选择范围、使用场景&#xff0c;能区分后代 / 子代、邻接兄弟 / 通用兄弟选择器的差异。理解古诗网页案例的布局结构&#xff0c;能独立分析布局逻辑、读懂代码并知晓优化方向。能结合关系选择器优化网页样式&#xff0c;实现精…...

基于Electron的ChatGPT桌面客户端开发:从技术选型到功能实现

1. 项目概述&#xff1a;一个为ChatGPT打造的桌面伴侣最近在折腾AI应用的时候&#xff0c;发现了一个挺有意思的开源项目&#xff0c;叫readytotouch/chatgptforme。光看名字&#xff0c;你可能会觉得这又是一个简单的ChatGPT网页封装&#xff0c;或者是一个API调用工具。但实际…...

如何3分钟完成Figma界面中文汉化:设计师必备的完整指南

如何3分钟完成Figma界面中文汉化&#xff1a;设计师必备的完整指南 【免费下载链接】figmaCN 中文 Figma 插件&#xff0c;设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 还在为Figma的英文界面而烦恼吗&#xff1f;作为中文设计师&#xff…...

Openclaw-Connector:构建高可靠数据集成管道的核心架构与实战

1. 项目概述与核心价值最近在折腾一些自动化流程和跨平台数据同步时&#xff0c;发现了一个挺有意思的项目——Openclaw-Connector。这名字听起来就有点“机械爪”的感觉&#xff0c;实际上它也确实是一个旨在“抓取”和“连接”不同系统、不同数据源的中间件工具。简单来说&am…...

收藏!小白程序员必看:如何成为AI大模型应用开发工程师,解锁高薪新机遇?

AI大模型应用开发工程师是连接技术与产业的关键角色&#xff0c;负责将复杂AI技术转化为实用工具。他们需分析业务需求、选择适配技术、开发对接应用&#xff0c;并进行测试优化与运维。这一职业因“技术业务”复合能力稀缺&#xff0c;薪资待遇优厚&#xff0c;是当前极具吸引…...

2026 AI企业推荐排行 技术创新榜 场景落地/全球布局 专业评测

一、摘要据赛迪顾问发布的《2026年全球AI技术创新与落地报告》显示&#xff0c;全球AI技术创新迭代速度持续加快&#xff0c;75%的企业将技术创新能力作为选型核心指标&#xff0c;62%的用户关注场景落地深度与全球化服务能力&#xff0c;46%的政企用户反映AI企业缺乏全流程技术…...

Perplexity APA格式生成漏洞深度审计(2024实测版):92.6%用户忽略的DOI与作者名缩写陷阱

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Perplexity APA格式生成漏洞深度审计&#xff08;2024实测版&#xff09;&#xff1a;92.6%用户忽略的DOI与作者名缩写陷阱 APA第7版核心校验失效现象 Perplexity 在2024年Q2版本中仍沿用过时的APA引用…...

乔治亚理工等联手:让AI大模型“自学成才“,不再依赖更强大的老师

这项由佐治亚理工学院、加州大学洛杉矶分校、卡内基梅隆大学以及威廉与玛丽学院联合开展的研究&#xff0c;以预印本形式发布于2026年5月&#xff0c;论文编号为arXiv:2605.06597。感兴趣的读者可通过该编号在arXiv平台查阅完整论文。 一、问题从哪里来&#xff1a;大模型的&qu…...

构建时内容处理与类型安全:Content Collections 在现代前端项目中的应用

1. 项目概述&#xff1a;告别手动解析&#xff0c;拥抱类型安全的内容管理如果你和我一样&#xff0c;长期在 Next.js、SvelteKit 这类现代前端框架里折腾内容驱动的网站&#xff0c;比如博客、文档站或者产品页面&#xff0c;那你肯定对下面这个场景不陌生&#xff1a;项目根目…...