mirror of
https://github.com/DuRuofu/ESP32-Guide.git
synced 2026-10-02 22:22:53 +08:00
docs: 更新开发环境安装的文档
This commit is contained in:
@@ -41,8 +41,8 @@
|
||||
|
||||
| 章节 | 教程 | 文字教程 | 视频教程 | 配套代码 |
|
||||
| -------------- | ---------------------- | :--: | :--: | :--: |
|
||||
| 一、认识ESP32 | 1.1 ESP32介绍 | ✔ | | 无 |
|
||||
| 一、认识ESP32 | 1.2 ESP32开发环境搭建 | ✔ | | 无 |
|
||||
| 一、认识ESP32 | 1.1 ESP32介绍 | ✔ | ✔ | 无 |
|
||||
| 一、认识ESP32 | 1.2 ESP32开发环境搭建 | ✔ | ✔ | 无 |
|
||||
| 一、认识ESP32 | 1.3 初试ESP32-HelloWorld | ✔ | | |
|
||||
| 二、IDF基础与工具使用 | 2.1 ESP32工程结构及构建 | ✔ | | |
|
||||
| 二、IDF基础与工具使用 | 2.2 ESP-IDF项目配置 | ✔ | | |
|
||||
@@ -97,14 +97,16 @@
|
||||
本节主要介绍ESP32的基本概念,包括其硬件特点、应用场景及功能优势。通过本节内容,初学者可以快速了解ESP32的核心能力以及在物联网开发中的广泛应用。
|
||||
|
||||
> 在线文字教程:[ESP32介绍](docs/01.认识ESP32/1.1-ESP32介绍/ESP32介绍.md)
|
||||
> 在线视频教程:[ESP32介绍]
|
||||
> 在线视频教程:[ESP32介绍](https://www.bilibili.com/video/BV1u861YHEso/?spm_id_from=333.1007.top_right_bar_window_history.content.click&vd_source=ef5a0ab0106372751602034cdd9ab98e)
|
||||
|
||||
## 1.2 ESP32开发环境搭建
|
||||
|
||||
本节将详细讲解如何在不同操作系统(Windows/Linux/Mac)上搭建ESP-IDF开发环境,涵盖工具链安装、环境变量配置及调试工具的准备等内容。通过本节,读者可以完成开发环境的搭建,为后续开发做好准备。
|
||||
|
||||
> 在线文字教程:[ESP-IDF开发环境搭建](./docs/01.认识ESP32/1.2-ESP32开发环境搭建/ESP32开发环境搭建.md)
|
||||
> 在线视频教程:[ESP-IDF开发环境搭建]
|
||||
> 在线视频教程-1:[认识ESP32—1.2.1 Win下安装ESP-IDF开发环境](https://www.bilibili.com/video/BV14o62YQEBC?vd_source=ef5a0ab0106372751602034cdd9ab98e&spm_id_from=333.788.videopod.sections)
|
||||
> 在线视频教程-2:[认识ESP32—1.2.2 Linux下安装ESP-IDF开发环境](https://www.bilibili.com/video/BV1vLrKYHExy/?vd_source=ef5a0ab0106372751602034cdd9ab98e#reply251069588753)
|
||||
> 在线视频教程-3:
|
||||
|
||||
## 1.3 初试ESP32-HelloWorld
|
||||
|
||||
@@ -499,4 +501,4 @@ ESP-IDF:
|
||||
其他:
|
||||
|
||||
- 查询可用串口:`ls /dev/ttyUSB*`
|
||||
- 添加串口权限(需重启):`sudo usermod -aG dialout username`
|
||||
- 添加串口权限(需重启):`sudo usermod -aG dialout username`
|
||||
@@ -23,7 +23,9 @@ ESP32指的是ESP32裸芯片,但我们常说的“ESP32”一词通常指ESP32
|
||||
这里还需要补充一点,**初学者应该分清楚芯片,模组,开发板的区别**:
|
||||
|
||||

|
||||
芯片是最基础的核心部件,仅适合专业硬件开发;模组在芯片基础上增加了天线、电源等外围电路,便于嵌入产品;而开发板是在模组或者芯片的基础上,增加外围电路,整合了电源管理、调试接口(如 USB 转串口)、外接引脚等。所以初学者仍建议先用开发板学习,再深入了解芯片和模组的细节。
|
||||
**芯片**是乐鑫生产的基本集成电路(IC),它是整个 ESP 系列的核心。这些芯片通常包含处理器(CPU)、内存、通信接口、GPIO(通用输入输出)等硬件功能。
|
||||
**模组**是乐鑫芯片的封装,集成了芯片、晶振、天线、flash。乐鑫的模组通常提供预先集成好的无线功能(如 Wi-Fi、蓝牙等),并具备 FCC、CE 等认证,因此开发者可以更加专注于应用程序的开发,而无需关注无线通信的细节,加快产品的上市速度。
|
||||
**开发板**是在模组或者芯片的基础上,增加外围电路,整合了电源管理、调试接口(如 USB 转串口)、外接引脚等。所以初学者仍建议先用开发板学习,再深入了解芯片和模组的细节。
|
||||
|
||||
|
||||
---
|
||||
|
||||
@@ -260,6 +260,11 @@ nano ~/.bashrc
|
||||
|
||||

|
||||
|
||||
要立即启用修改后的 .bashrc 文件,无需重启终端,只需要使用以下命令加载 .bashrc 文件:
|
||||
|
||||
```sh
|
||||
source ~/.bashrc
|
||||
```
|
||||
### 2.2.5 测试编译
|
||||
|
||||
打开历程目录下的hello_world程序:
|
||||
@@ -272,56 +277,124 @@ nano ~/.bashrc
|
||||
|
||||
至此Linux下开发环境安装完成。
|
||||
|
||||
```
|
||||
# get_idf_env
|
||||
alias idf53='. $HOME/esp/v532/esp-idf/export.sh'
|
||||
|
||||
```
|
||||
# 三、(进阶)Windows下使用ssh调用Linux系统下的开发环境
|
||||
|
||||
|
||||
在Windows下使用VS Code通过SSH调用Linux系统的开发环境,可以有效提升编译速度,下面是详细的步骤:
|
||||
SSH (Secure Shell) 是一种网络协议,用于在不安全的网络上安全地访问远程设备和服务器。它提供了强大的加密功能,可以保护用户和服务器之间的通信免受窃听、篡改和中间人攻击。
|
||||
|
||||
## 3.1 安装Remote - SSH插件
|
||||
使用 ssh 命令登录远程服务器:
|
||||
|
||||
``` sh
|
||||
ssh -p 22 user@host
|
||||
```
|
||||
|
||||
其中 -p:指定端口号 、user:登录的用户名。host:登录的主机、默认的端口号为22,当端口号为22的时候,可以省略,直接使用如下方式:
|
||||
|
||||
```sh
|
||||
ssh user@host
|
||||
```
|
||||
|
||||
在Windows下使用VS Code通过SSH调用Linux系统的开发环境,可以在有效提升编译速度的同时,进一步提升开发体验,下面是详细的步骤:
|
||||
|
||||
## 3.1 配置SSH连接,确保可以连接
|
||||
|
||||
1. 确保Linux服务器已启动,并记录其IP地址或主机名,在Linux使用`ifconfig`命令查询虚拟机IP(也可以使用`ip a`命令),找不到命令 `ifconfig`,但可以通过以下命令安装它:
|
||||
|
||||
```sh
|
||||
sudo apt install net-tools
|
||||
```
|
||||
|
||||
查看IP:
|
||||
|
||||

|
||||
|
||||
|
||||
2. 在 Ubuntu 上启用 SSH,打开终端,并且安装openssh-server软件包
|
||||
|
||||
```sh
|
||||
sudo apt install openssh-server
|
||||
```
|
||||
|
||||
一旦安装完成之后,SSH 服务将会被自动启动。可以s输入下面的命令验证 SSH 是否正在运行:
|
||||
|
||||
```sh
|
||||
sudo systemctl status ssh
|
||||
```
|
||||
|
||||
如果防火墙被启用,还需要下面的命令打开了 SSH 端口
|
||||
|
||||
```sh
|
||||
sudo ufw allow ssh
|
||||
```
|
||||
|
||||
3. 在Windows的CMD进行测试连接,ssh 用户名@服务器IP地址
|
||||
|
||||

|
||||
|
||||
这一步可能需要在Windows上安装OpenSSH客户端(默认Windows 10及以上版本自带)
|
||||
## 3.2 安装Remote - SSH插件
|
||||
|
||||
打开VS Code,点击左侧的扩展市场图标,搜索`Remote - SSH`插件并安装。
|
||||
|
||||

|
||||
|
||||
## 3.2 配置SSH连接
|
||||
|
||||
1. 确保Linux服务器已启动,并记录其IP地址或主机名。
|
||||
2. 在Windows上安装OpenSSH客户端(默认Windows 10及以上版本自带)。
|
||||
3. 打开VS Code,按下`Ctrl+Shift+P`,输入`Remote-SSH: Add New SSH Host`并选择该项。
|
||||
4. 输入SSH连接命令,例如:
|
||||
ssh 用户名@服务器IP地址
|
||||
然后选择一个保存SSH配置的路径(默认路径是`~/.ssh/config`)。
|
||||
5. 如果是首次连接,请在终端中手动测试SSH连接:
|
||||
ssh 用户名@服务器IP地址
|
||||
输入密码以验证连接是否正常。如果有提示接受主机密钥,请输入`yes`。
|
||||
## 3.3 通过Remote - SSH连接到Linux服务器
|
||||
|
||||
1. 按下`Ctrl+Shift+P`,输入`Remote-SSH: Connect to Host`并选择该项。
|
||||
2. 在弹出的列表中选择刚刚添加的SSH主机,等待连接。
|
||||
3. 成功连接后,VS Code会显示远程的文件系统。
|
||||
## 3.4 在Linux系统中配置ESP-IDF环境
|
||||
1. 打开VS Code,按下`Ctrl+Shift+P`,输入`Remote-SSH: Add New SSH Host`并选择该项。
|
||||
2. 输入SSH连接命令,例如:
|
||||
ssh 用户名@服务器IP地址
|
||||
然后选择一个保存SSH配置的路径(默认路径是`~/.ssh/config`)。
|
||||
|
||||
1. 在SSH连接的Linux终端中执行以下命令以激活ESP-IDF环境:
|
||||
. ~/esp/esp-idf/export.sh
|
||||
(如果已在`.bashrc`中配置快捷命令,可以直接执行对应的别名命令,如`source-esp523`)。
|
||||
|
||||
2. 确保Linux的开发环境已经安装完毕(参考前文2.2部分)。
|
||||
## 3.5 在VS Code中打开ESP-IDF工程
|
||||
## 3.4 在VS Code中打开ESP-IDF工程
|
||||
|
||||
1. 使用VS Code的`File -> Open Folder`功能,选择Linux服务器中的ESP-IDF项目目录:
|
||||
~/esp/esp-idf/examples/get-started/hello_world
|
||||
例如: `~/esp/esp-idf/examples/get-started/hello_world`
|
||||
2. 打开项目后,VS Code会加载远程的文件结构。
|
||||
|
||||
## 3.5 配置密钥,实现免密连接
|
||||
|
||||
1. 在Windows下使用`ssh-keygen`生成密钥,按提示操作:
|
||||
默认保存路径是 ~/.ssh/id_rsa(直接按回车即可)。可为密钥设置密码,如果不想设置,直接回车跳过。生成完成后,会在默认路径下生成:
|
||||
- 公钥:~/.ssh/id_rsa.pub
|
||||
- 私钥:~/.ssh/id_rsa
|
||||
2. 将公钥复制到远程服务器
|
||||
在本地机器上,找到你的公钥文件(通常在 ~/.ssh/id_rsa.pub)并查看内容,进行复制。
|
||||
使用 SSH 登录到远程服务器,创建 .ssh 目录并设置权限
|
||||
|
||||
``` sh
|
||||
mkdir -p ~/.ssh
|
||||
chmod 700 ~/.ssh
|
||||
```
|
||||
|
||||
添加公钥到 authorized_keys 文件,编辑 ~/.ssh/authorized_keys 文件,将复制的公钥粘贴到文件中并保存.
|
||||
|
||||
``` sh
|
||||
nano ~/.ssh/authorized_keys
|
||||
```
|
||||
|
||||
最后,设置 authorized_keys 文件的权限:
|
||||
|
||||
``` sh
|
||||
chmod 600 ~/.ssh/authorized_keys
|
||||
```
|
||||
|
||||
## 3.6 编译和调试项目
|
||||
|
||||
1. 在终端窗口中,运行以下命令以编译项目:
|
||||
idf.py build
|
||||
` idf.py build`
|
||||
|
||||
2. 如果需要烧录代码到开发板,确保开发板通过USB连接到Linux服务器,然后运行以下命令:
|
||||
idf.py -p /dev/ttyUSB0 flash
|
||||
`idf.py -p /dev/ttyUSB0 flash`
|
||||
(根据实际情况替换正确的串口设备路径。)
|
||||
|
||||
3. 编译和烧录完成后,可以通过以下命令监控串口输出:
|
||||
idf.py -p /dev/ttyUSB0 monitor
|
||||
` idf.py -p /dev/ttyUSB0 monitor`
|
||||
|
||||
|
||||
## 参考链接
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 149 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 64 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 105 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 119 KiB |
@@ -1,8 +1,4 @@
|
||||
|
||||
| 文档名称 | 版本 | 作者 | 时间 | 备注 |
|
||||
| ------------ | ------ | ------- | ---------- | ---- |
|
||||
| ESP32工程结构及构建 | v1.0.0 | DuRuofu | 2024-02-18 | 首次建立 |
|
||||
|
||||
## 一、编译并烧录示例程序
|
||||
|
||||
首先编译一个示例程序:hello_world
|
||||
|
||||
Reference in New Issue
Block a user