ESP32入门——开发环境搭建

目录

一、背景说明

二、ubuntu编译+esp-idf

三、windows编译+esp-idf


一、背景说明

ESP32的开发环境可分为两种:

1. ubuntu编译+esp-idf

2.windows编译+esp-idf

官方推荐用第一种,因为ubuntu编译速度快

二、ubuntu编译+esp-idf

为了能够使用ubuntu系统,我们windows用户可以在电脑中安装虚拟机并创建ubuntu虚拟机。然后在windows上面安装mobaxterm工具,以便能够登录到ubuntu账户;在windows上面安装vscode,并利用Remote SSH登录到ubuntu账户,以便进行开发编译。

(为什么esp-idf运行在Ubuntu,还需要在windows上面安装这么多东西?这是因为由于电脑资源限制,我安装的ubuntu系统是服务器版本,没有用户交互界面,所以需要借助windows上面的一些工具进行开发,代码的编辑主要还是在vscode上面完成的)

1.下载并安装虚拟机VMware Workstation

2.下载ubuntu20.04.6服务器版镜像(ubuntu-20.04.6-live-server-amd64.iso)。为什么选择服务器版?因为资源占用少

镜像下载地址:Index of /ubuntu-releases/20.04/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

3.在虚拟机VMware Workstation中安装ubuntu20.04,过程中分配的内存要大一点,如100G或200G,注意要选择SSH,同时注意选择不更新。安装完成后,需要使用你安装过程中设置的账号密码登录(假设账号名为nola),使用sudo apt-get install net-tools安装网络工具,以便于用ifconfig指令能够读取ubuntu的ip

4.在windows中安装mobaxterm工具

5.在mobaxterm工具中登录到ubuntu20.04

6.利用mobaxterm工具,在Ubuntu中安装开发相关的工具,指令如下:

1)安装Ubuntu必要的开发工具:

sudo apt-get install git wget flex bison gperf python3-pip python3-venv cmake ninja-build libffi-dev libssl-dev dfu-util libusb-1.0.0 net-tools

2)安装esp-idf(先拉取esp-gitee-tools,然后利用它辅助拉取esp-idf的SDK,这样可以解决github的网络问题,因为esp-gitee-tools可以将github的地址替换成镜像地址):

mkdir esp32

cd esp32

git clone https://gitee.com/EspressifSystems/esp-gitee-tools.git

此时输入ls指令可以看到esp-gitee-tools

cd ./esp-gitee-tools/

此时输入ls指令可以看到jihu-mirror.sh

./jihu-mirror.sh

./jihu-mirror.sh set

cd ..

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

此时输入ls指令可以看到esp-gitee-tools  esp-idf

cd ./esp-idf

git checkout v5.2

git submodule update --init --recursive

../esp-gitee-tools/install.sh

3)编译

到此基本环境就安装完毕,接下来就可以进行开发了。我以现在的开发版例程进行学习,如下:

git clone --recursive https://gitee.com/vi-iot/esp32-board.git

此时输入ls指令可以看到esp32-board  esp-gitee-tools  esp-idf

cd ./esp32-board

此时输入ls指令可以看到
aliot    ble_basic  button  display     ledc          mqtt  nvs     partition  rtos    smartconfig  spiffs  sr602  weather      wifi
ap_prov  ble_env    dht11   helloworld  lvgl_display  ntc   onenet  README.md  sdcard  softap       sr04    uart   web_monitor  ws2812

设置esp32的环境变量:

cd ../esp-idf

source export.sh

以上设置成功后,若电脑重启环境变量又无效了,idf.py命令无法被识别,这是因为上面设置的环境变量是临时的,每次重启需要重新设置。那么如何一劳永逸的设置呢?如下:

回到默认终端登录路径

cd ~

输入ls -al可以看到很多文件,存在.profile文件,该文件是登录中断后会默认执行的,我们可以在里面加入设置环境变量的语句

vim ./.profile

在弹出的文件底部加入source esp32/esp-idf/export.sh,保存后退出

可以通过退出ubuntu终端后重新登录,验证是否设置生效:

exit

按下R键重新登录

编译例程程序helloworld:

cd ../esp32-board/

cd ./helloworld

idf.py build

插入板子,注意把板子接入到ubuntu,烧录:

idf.py flash

如果提示Permission denied: /dev/ttyUSB0错误,请运行sudo chmod 777 /dev/ttyUSB0 赋予权限。如果我们重新插入开发板或者重启电脑,都有可能会出现这个权限问题。一劳永逸的解决办法如下:

sudo usermod -aG dialout nola

此时再运行idf.py flash会出现/dev/ttyUSB0正在忙或者不存在的问题,解决办法是回到虚拟机,选择虚拟机中的ubuntu,右键后在下拉的菜单中选择设置,选择USB控制器,选择USB 3.1后点击确认。此时重新连接终端进行烧录错误就不存在了

调试 (退出调试请按ctrl+]键):

idf.py monitor

7.在windows上面安装VSCode,在VSCode里面进行如下操作

1)安装Remote - SSH插件,以便于能够登录到ubuntu。登录成功后如下:

2)选择打开文件夹esp32/esp32-board/helloworld

3)下载插件(注意选择SSH:192.168.152.128安装插件):

下载插件C/C++、ESP-IDF

4)将esp-idf的源码路径加入到工程中,可以搜索函数、跳转函数、查看函数源码等

实现方式:按下ctrl+shift+P,选择ESP-IDF: Add vscode Configuration Folder

5)优化配置:

vscode中C/C++插件:点击C/C++插件旁边的小齿轮,找到扩展设置,在弹出的输入框中输入空格+workspace,找到100%CPU处,将值调整为medium。(这是因为此处默认是最高值,这会导致这个插件在运行时会100%占用ubuntu的CPU,显然我们不希望那么做)

vscode中连接ubuntu时,在进行某些操作时总是需要输入密码,如何可以不用输入密码?SSH登录是一个加密登录的方式,可以使用密码登录,也可以使用证书登录,用证书的方式就可以不用输入密码了。如何做呢?即在ubuntu中添加windows的公钥。

打开windows下的Powershell,生成证书文件。

ssh-keygen -t ed25519 -C wsy001223@163.com

生成的证书路径如下:C:\Users\nola\.ssh,其中id_ed25519(私钥)与id_ed25519.pub(公钥)就是本次生成的文件。

复制id_ed25519.pub文件的内容,将通过mobaXterm,将内容粘贴进ubuntu默认登录路径.ssh文件夹下的认证密钥文件中。(通过vscode修改.ssh文件夹下的认证密钥文件也可以)

三、windows编译+esp-idf

1.安装git

下载地址:Git - Downloading Package

2.在windows上面安装VSCode,在VSCode里面进行如下操作

1)下载插件:下载插件C/C++、ESP-IDF

2)左侧栏选中ESP-IDF小图标,点击Configure ESP-IDF Extension

3)在弹出来的界面中选择ADVANCED。在你要安装的路径上面新建一个esp32文件夹,如E:\esp32。随后在第一、第二项选择版本,第三、第四项分别填入E:\esp32、E:\esp32\.espressif,最后开始安装

可能出现python安装问题,因为网络问题。

如果失败了,可以配置网络环境(如VPN)后重试。直接在ESP-IDF首页选择USE EXISTING SETUP进行安装,可以不重复已经下载成功的,仅下载未成功安装的

3. 在esp32 文件中使用git如下指令下载开发板例程:

git clone https://gitee.com/EspressifSystems/esp-gitee-tools.git

cd ./esp-gitee-tools

./jihu-mirror.sh set

cd ..

git clone --recursive https://gitee.com/vi-iot/esp32-board.git


4.选择helloworld工程,使用vscose上面的图标进行编译、烧录、调试

退出调试需要按下ctrl+]键

5.此处有疑问:如果我不使用vscode里面的图标,如何利用命令行进行编译、烧录、调试

1)无法直接在vscode中使用命令行,因为vscode无法识别idf.py

2)新建两个系统环境变量

IDF-PATH: 如E:\esp32\v5.2.3\esp-idf

IDF-TOOLS-PATH: E:\esp32\.espressif

3) 新建CMD命令窗口,输入命令

cd /d %IDF_PATH%/../..

set PATH=%IDF_TOOLS_PATH%/python_env/idf5.2_py3.11_env/Scripts/;%PATH%

%IDF_PATH%/export.bat

4)此时打开CMD命令窗口进入esp32-board文件夹任意例程,即可开始编译

idf.py fullclean

idf.py build

idf.py menuconfig

idf.py flash

### ESP32-C3 开发环境配置教程 #### 所需软件准备 为了顺利开展基于ESP32-C3的项目开发工作,开发者需要准备好一系列必要的工具和支持包。对于希望利用VSCode作为主要集成开发环境(IDE)工作的用户来说,在Windows操作系统环境下,除了安装Visual Studio Code本身之外,还需要额外安装Remote - Containers、Remote Development以及ESP-IDF插件来支持容器化开发流程[^2]。 #### 安装驱动程序 针对USB转串口通信的需求,确保能够正常识别并操作连接至PC端的ESP32-C3模块,建议先完成对应芯片厂商所提供的官方驱动程序部署。具体而言,可以通过PowerShell或CMD窗口输入特定指令实现自动化安装过程: ```powershell winget install --interactive --exact dorssel.usbipd-win ``` 上述命令会引导用户逐步完成usbipd-win组件的下载与设置,从而保障后续编程过程中数据传输通道畅通无阻[^3]。 #### 配置开发框架 初次接触Espressif IoT Development Framework (ESP-IDF)的新手可以参照官方文档指导快速入门。该指南不仅涵盖了创建首个应用程序所需的全部步骤——从初始化空白模板到最终编译固件映像文件;同时也提供了关于如何将生成的目标代码安全可靠地上传至目标板卡的具体方法论介绍[^1]。 #### 硬件连接说明 物理层面上建立稳定可靠的通讯链路至关重要。通常情况下,只需简单地采用标准Micro USB线缆一端接入计算机主机预留接口处,另一端则插入ESP32-C3核心控制单元相应位置即可满足基本需求。值得注意的是,在某些特殊应用场景下可能还需考虑外接电源适配器供电方案的选择问题。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值