ESP32 学习笔记 - 环境搭建

本文详细介绍如何在Ubuntu系统上搭建ESP32开发环境,包括安装必要的软件包、配置工具链及获取ESP-IDF等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、安装软件包

打开终端

输入命令(以下命令都是Ubuntu系统的)

sudo apt-get install git wget libncurses-dev flex bison gperf python python-click python-pip python-setuptools python-serial python-cryptography python-future python-pyparsing python-pyelftools cmake ninja-build ccache

会提示需要输入密码

 

输入密码后有可能会提示

使用下面的命令解锁一下就行了

sudo rm /var/cache/apt/archives/lock 
sudo rm /var/lib/dpkg/lock

成功以后就是下面的界面

 

二、安装工具链

乐鑫是默认将工具链安装在 ~/esp/ 目录的,我也将工具链安装到这里吧。

先创建并进入该目录:

mkdir -p ~/esp
cd ~/esp 

 

 使用 wget 命令下载 64 位的工具链:

 下载过程

将工具链解压:

tar -xzf xtensa-esp32-elf-gcc8_2_0-esp32-2019r1-linux-amd64.tar.gz

解压后的工具链位于路径~/esp/xtensa-esp32-elf下面。该目录下面的bin目录就是我们用来编译 ESP-IDF 工程所需的可执行程序。如果要使系统直接能够这些程序,

要使用工具链,你还需要在 ~/.profile 文件中更新环境变量 PATH,需要将这个bin文件夹路径添加到系统的环境变量PATH中去。这里直接使用echo命令将其添加到脚本文件~/.bashrc中(系统每次启动刚时都会执行这个脚本)。

使用gedit .profile打开.profile 文件

gedit .profile

.profile 文件的最下方添加下面的代码,如果路径跟我的路径不同下面代码中的路径需要自行修改

export PATH="$HOME/esp/xtensa-esp32-elf/bin:$PATH"

 

三、获取ESP-IDF

工具链(包括用于编译和构建应用程序的程序)安装完后,你还需要 ESP32 相关的 API/库。API/库在ESP-IDF仓库中。要获取这些 API/库,打开一个终端,进入某个你希望存放 ESP-IDF 的目录,然后 git clone 以下指令(我将ESP-IDF 下载至 ~/esp/esp-idf):

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

接收有点慢...慢慢等

接收完以后需要设置环境变量

使用gedit .profile打开.profile 文件

gedit .profile

.profile 文件的最下方添加下面的代码,如果路径跟我的路径不同下面代码中的路径需要自行修改

export IDF_PATH=/home/hj/esp/esp-idf

重点:.profile 文件中添加的两次环境变量是编译的关键,两次添加完成以后需要重启电脑或者重新登录才能生效

 

现在可以开始创建 ESP32 应用程序了。为了快速开始,我们这里以 IDF 的 examples 目录下的 get-started/hello_world 工程为例进行说明。

将 get-started/hello_world 拷贝到 ~/esp 目录:

cd ~/esp
cp -r $IDF_PATH/examples/get-started/hello_world .

 

在终端窗口中,输入 cd ~/esp/hello_world 进入 hello_world 所在目录,然后启动工程配置工具 menuconfig

cd ~/esp/hello_world
make menuconfig

如果没问题就会进入这个界面

在菜单中,进入 Serial flasher config > Default serial port 

配置串口(工程将会加载到该串口上)。

输入回车确认选择,选择 <Save> 保存配置,然后选择 <Exit> 退出应用程序。

然后就可以编译和烧写应用程序了,执行指令:

make flash

第一次编译可能会出现几个错误

错误一:

/dev/ttyUSB0 permission denied

对端口没有权限

解决方式:

sudo chmod 777/dev/ttyUSB0

这种方式重启电脑后又会出现问题,网上还有一种方式,我试了一下没成功

sudo usermod -aG dialout hj(这里写你的用户名)

为了方便调试,最好安装一个cutecom

https://blog.youkuaiyun.com/zhaoqi2617/article/details/72238546

初次之外我还安装了sublime text3用来编辑代码,这里提供个deb版本的安装包

链接:https://pan.baidu.com/s/1QOOsgpimZBnQMv1ehC_V8Q 密码:5b06

 

 

 
 

 

转载于:https://www.cnblogs.com/huanjun/p/9187532.html

### 关于ESP32和CH340的学习资料与教程 #### ESP32简介 ESP32是一款由Espressif Systems开发的高度集成的Wi-Fi和蓝牙SoC (System on Chip),适用于各种物联网应用。该芯片集成了双核处理器、丰富的外设接口以及强大的无线通信能力。 #### CH340概述 CH340是一种USB转串口芯片,广泛应用于Arduino和其他微控制器项目中用于编程和数据传输。它能够将计算机上的USB信号转换成TTL电平的UART信号,从而允许开发者通过PC轻松调试和上传程序到目标板卡上[^1]。 #### 接线指南 当使用带有内建CH340G USB-to-UART桥接器的设备来给ESP8266烧录固件时,可以简单地利用单根USB电缆完成硬件连接;而对于ESP32来说,情况也相似——如果采用支持OTG功能并内置了相应驱动程序的操作系统,则只需一条标准Micro USB或Type-C至USB A的数据线即可建立物理链接[^2]。 #### 开发环境搭建 为了更好地学习如何操作这两个组件,在安装必要的IDE之前还需要配置好对应的工具链: - **Windows/Linux/macOS**: 下载并安装最新版本的Arduino IDE 或 VSCode配合PlatformIO插件。 对于想要深入理解两者之间交互机制的人士而言,建议参考官方文档中的具体章节了解更详细的设置过程。 #### 示例代码展示 下面给出一段简单的Python脚本作为入门实例,展示了怎样借助pySerial库读取来自ESP32的信息并通过COM端口发送指令回去: ```python import serial ser = serial.Serial('COM3', baudrate=9600, timeout=1) while True: if ser.in_waiting > 0: line = ser.readline().decode('utf-8').rstrip() print(line) # 发送命令回传给ESP32 command = "Hello from PC\n" ser.write(command.encode()) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值