ESP32/8266开发环境超详细安装步骤
nanshan 2025-08-02 20:21 2 浏览 0 评论
本文详细阐述了本站视频“[ESP32/8266]超详细的开发环境搭建说明”中所介绍的步骤和执行的命令,也包含了安装过程中可能出现的错误和解决方法!值得你细品。
视频中介绍了ESP8266开发环境建议使用Linux环境,因为真的比其windows平台开发工具快很多,很多,很多!!!
所以我们需要有一点点Linux基础,当然你非要用Windows平台,那么请忽略本文~
对了。视频中没有介绍ESP32的开发环境搭建,但是我在本文中有介绍。因为都是在Linux下搭建,所以建议你学着搭建一下Linux虚拟机,然后就可以选择安装ESP32或者ESP8266开发环境了。
Linux开发环境搭建
在windows电脑上安装一个Ubuntu Server(Linux)虚拟机(VirtualBox + Ubuntu Server)
- VirtualBox 6.1.20 官方下载地址:https://www.virtualbox.org/wiki/Downloads
- Ubuntu Server 20.04.2 LTS 官方下载地址:https://cn.ubuntu.com/download
安装Ubuntu服务器版本的主要目的是把它当成ESP开发服务器使用,方便多人使用,而且体积也小很多。
我们可通过SSH客户端工具Putty或者SecureCRT连接,使用命令行进行程序安装,编译等工作。免得在Ubuntu里操作,省心些,毕竟我们还不习惯在Ubuntu系统里做事情嘛。
Ubuntu虚拟机安装没啥说的,从官方途径下载文件后,按照视频介绍安装即可。
安装虚拟机增强包
Ubuntu虚拟机安装完后,一般都需要安装虚拟机增强包。它可以帮助虚拟机与主机建立文件共享,方便文件传输!好用的功能!必须装上!
如果出现了上面的错误,不用管。按照下面的方法继续安装
1.挂载cdrom(增强包镜像光盘)
所需命令如下:
sudo mount /dev/cdrom /mnt/
mount: /mnt: WARNING: device write-protected, mounted read-only.
2.执行脚本安装
进入已挂载的光盘,执行安装脚本
cd /mnt
ls
AUTORUN.INF TRANS.TBL VBoxWindowsAdditions-x86.exe
autorun.sh VBoxLinuxAdditions.run
cert VBoxSolarisAdditions.pkg
/* VBoxLinuxAdditions.run 是适合于我们的系统的安装脚本文件执行*/
sudo ./VBoxLinuxAdditions.run
reboot
内容如下
安装成功后,重启系统,就可以去配置共享文件夹了
并通过如下命令挂载所配置的共享目录
sudo mkdir /mnt/myesp
sudo mount -t vboxsf myesp /mnt/myesp
下载安装免费SSH客户端工具-PuTTY
在Ubuntu虚拟机安装完成后,就可以使用该工具访问Ubuntu系统进行接下来的操作了。方便快捷!
- PuTTY官方地址:https://www.chiark.greenend.org.uk/~sgtatham/putty/
SecureCRT这个工具更好用些,但是收费!
Linux服务器安装成功后,接下来就可以安装ESP8266开发环境了,想安装ESP32开发环境的同学直接下拉到后面去看吧!
1. 安装开发工具包
使用下面的命令,一次性安装所有的工具包
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 libncurses5-dev lrzsz
由于版本一直在更新,建议参考一下官方安装指导
- https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/get-started/linux-setup.html
但是 “ libncurses5-dev lrzsz ”这两个工具最好都一起安装
2. 下载ESP8266编译工具
进入官方页面查看最新工具
- https://github.com/espressif/ESP8266_RTOS_SDK.git
从官方页面提供的资料来看,ESP8266 最新版本的编译工具链目前是v8.4.0版本(截至视频发布时间。可能已经更新了,你可以从官方途径下载最新的版本)
下载编译工具
//下载
wget https://dl.espressif.com/dl/xtensa-lx106-elf-gcc8_4_0-esp-2020r3-linux-amd64.tar.gz
//解压其到当前文件夹
tar -zvxf xtensa-lx106-elf-gcc8_4_0-esp-2020r3-linux-amd64.tar.gz
//修改其权限为777
sudo chmod 777 -R xtensa-lx106-elf
3. 下载ESP8266 SDK
git clone --recursive https://github.com/espressif/ESP8266_RTOS_SDK.git
4. 设置环境变量
环境配置很简单,就是设置2个变量即可!先拿到刚才下载的编译工具链路径和SDK路径!以我的环境为例,如下:
export PATH=$PATH:/home/esp/tools/xtensa-lx106-elf/bin
export IDF_PATH=/home/esp/ESP8266_RTOS_SDK
设置步骤:
- 打开文件后按下 i 表示添加内容: vim ~/.bashrc
- 在文件空处添加上述的2个变量即可
- 按下esc 键,再 :wq 表示写入保存,并执行命令使配置生效: source ~/.bashrc
- 测试工具链环境是否设置成功: xtensa-lx106-elf-gcc -v
- 测试IDF_PATH路径是否设置成功: echo $IDF_PATH
5. 编译例程代码
拷贝SDK中的例程“hello_world”到自定义目录中,以我的为例,如下
cp ESP8266_RTOS_SDK/examples/get-started/hello_world/ ./ -a
进入该hello_world目录,执行命令:
make menuconfig
进行配置。配置可默认,大概看一下,然后退出保存即可。
可能遇到的错误和解决办法
1. 提示错误:/usr/bin/env: ‘python’: No such file or directory
解决办法:可将系统安装的python3做一个软链接
sudo ln -s /usr/bin/python3 /usr/bin/python
2. 提示版本错误
解决办法:按照提示执行
/usr/bin/python -m pip install --user -r /home/esp/ESP8266_RTOS_SDK/requirements.txt
如果没有什么错误,那么就可以执行编译操作了。
首次编译需要编译所有的代码(包括SDK源码)
make all
之后可仅仅编译自己的APP代码
make app
可通过添加CPU多核 -j8 参数快速编译代码!例如
make all -j8
编译成功后,如下图
内容如下:
To flash all build output, run 'make flash' or:
python /home/esp/ESP8266_RTOS_SDK/components/esptool_py/esptool/esptool.py --chip esp8266 --port /dev/ttyUSB0 --baud 115200 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 40m --flash_size 2MB 0x0 /home/esp/hello_world/build/bootloader/bootloader.bin 0x10000 /home/esp/hello_world/build/hello-world.bin 0x8000 /home/esp/hello_world/build/partitions_singleapp.bin
esp@esp:~/hello_world$
其中如下三个文件即为我们需要烧录的程序
Flash地址 BIN文件
0x0 bootloader.bin -- 启动文件
0x10000 hello-world.bin -- 自己的APP程序
0x8000 partitions_singleapp.bin -- 配置文件
6. 烧录工具配置
下面使我烧录模块 ESP-12S的参考配置,主要注意一下FLASH SIZE
这里开始介绍安装ESP32开发环境搭建
说明:以下搭建步骤,我也是参考官方网站的说明,随着时间的推移官方可能有变动,所有建议大家也去官方网站看看。本文搭建是以ESP-IDF SDK版本4.2为基础。
环境搭建
https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/get-started/linux-setup.html#
SDK下载
https://www.espressif.com/zh-hans/support/download/sdks-demos
好了,接下来大家就参考一下下面的步骤吧
注意:本文中Linux基本路径为"/home/esp",可能跟你的不一样,所以你需要修改成你的路径。
1. 下载ESP-IDF SDK v4.2
#安装解压工具unzip
sudo apt install unzip
#下载esp-idf
wget https://dl.espressif.com/github_assets/espressif/esp-idf/releases/download/v4.2/esp-idf-v4.2.zip
#解压zip文件
unzip esp-idf-v4.2.zip
下载方式有两种,一种是通过github下载,但是国内访问太慢了,所以直接从官方下载zip包,非常很快。
2. 安装工具
#进入esp-idf目录
cd esp-idf-v4.2
#设置优先选择官方 Espressif 下载服务器
export IDF_GITHUB_ASSETS="dl.espressif.com/github_assets"
#开始安装工具
./install.sh
3. 设置环境变量
#打开系统文件.profile
vi ~/.profile
#在 .profile 文件中末尾添加环境设置脚本
#注意 复制包含命令前面的“.”
. /home/esp/esp-idf-v4.2/export.sh
#使能当前设置
source ~/.profile
4. 编译测试工程
环境设置完成后,我们可以复制esp-idf中的Demo例程“hello_world”进行编译测试
#复制例程到指定目录,本例只是复制到根目录而已
cp esp-idf-v4.2/examples/get-started/hello_world/ . -a
#进入例程目录
cd hello_world
#设置“目标”芯片
idf.py set-target esp32
#工程配置
idf.py menuconfig
#开始编译
idf.py build
复制例程
设置目标芯片
配置工程
menuconfig工程配置配置时,参数默认即可。
menuconfig 工具的常见操作见下。
上下箭头:移动
回车:进入子菜单
ESC 键:返回上级菜单或退出
英文问号:调出帮助菜单(退出帮助菜单,请按回车键)。
空格``或 ``Y 键:选择 [*] 配置选项;N 键:禁用 [*] 配置选项
英文问号 (查询配置选项):调出有关该选项的帮助菜单
/ 键:寻找配置工程
配置工程后,就可以编译工程了
esp@esp:~/hello_world$ idf.py build
Executing action: all (aliases: build)
Running ninja in directory /home/esp/hello_world/build
Executing "ninja all"...
[4/931] Generating ../../partition_table/partition-table.bin
Partition table binary generated. Contents:
*******************************************************************************
# ESP-IDF Partition Table
# Name, Type, SubType, Offset, Size, Flags
nvs,data,nvs,0x9000,24K,
phy_init,data,phy,0xf000,4K,
factory,app,factory,0x10000,1M,
*******************************************************************************
[140/931] Performing configure step for 'bootloader'
-- Building ESP-IDF components for target esp32
-- Adding linker script /home/esp/esp-idf-v4.2/components/esp32/ld/esp32.peripherals.ld
-- Adding linker script /home/esp/esp-idf-v4.2/components/esp_rom/esp32/ld/esp32.rom.ld
-- Adding linker script /home/esp/esp-idf-v4.2/components/esp_rom/esp32/ld/esp32.rom.newlib-funcs.ld
-- Adding linker script /home/esp/esp-idf-v4.2/components/esp_rom/esp32/ld/esp32.rom.libgcc.ld
-- Adding linker script /home/esp/esp-idf-v4.2/components/bootloader/subproject/main/ld/esp32/bootloader.ld
-- Adding linker script /home/esp/esp-idf-v4.2/components/bootloader/subproject/main/ld/esp32/bootloader.rom.ld
-- Components: bootloader bootloader_support efuse esp32 esp_common esp_rom esptool_py log main micro-ecc partition_table soc spi_flash xtensa
-- Component paths: /home/esp/esp-idf-v4.2/components/bootloader /home/esp/esp-idf-v4.2/components/bootloader_support /home/esp/esp-idf-v4.2/components/efuse /home/esp/esp-idf-v4.2/components/esp32 /home/esp/esp-idf-v4.2/components/esp_common /home/esp/esp-idf-v4.2/components/esp_rom /home/esp/esp-idf-v4.2/components/esptool_py /home/esp/esp-idf-v4.2/components/log /home/esp/esp-idf-v4.2/components/bootloader/subproject/main /home/esp/esp-idf-v4.2/components/bootloader/subproject/components/micro-ecc /home/esp/esp-idf-v4.2/components/partition_table /home/esp/esp-idf-v4.2/components/soc /home/esp/esp-idf-v4.2/components/spi_flash /home/esp/esp-idf-v4.2/components/xtensa
-- Configuring done
-- Generating done
-- Build files have been written to: /home/esp/hello_world/build/bootloader
[142/931] Performing build step for 'bootloader'
[1/2] Linking C executable bootloader.elf
[2/2] Generating binary image from built executable
esptool.py v3.0
Generated /home/esp/hello_world/build/bootloader/bootloader.bin
[931/931] Generating binary image from built executable
esptool.py v3.0
Generated /home/esp/hello_world/build/hello-world.bin
Project build complete. To flash, run this command:
/home/esp/.espressif/python_env/idf4.2_py3.8_env/bin/python ../esp-idf-v4.2/components/esptool_py/esptool/esptool.py -p (PORT) -b 460800 --before default_reset --after hard_reset --chip esp32 write_flash --flash_mode dio --flash_size detect --flash_freq 40m 0x1000 build/bootloader/bootloader.bin 0x8000 build/partition_table/partition-table.bin 0x10000 build/hello-world.bin
首次编译,过程有点慢~稍等一会哈。如果一切正常,编译完成后将生成三个.bin 文件,跟ESP8266类似,可参考本文中ESP8266部分。
好了,终于写完了~~~我要去喝杯咖啡了。哈哈哈。对了。别忘了点个赞啥的哈!
相关推荐
- 安全软件更新:OpenSSH 9.3和OpenSSL 3.1
-
最近开源安全软件领域也相继更新了最新版本。其中上周OpenSSL发布了最新的3.1版本,而OpenSSH则在昨天发布最新版本9.3。虽然带来的新功能不多,只是bug和漏洞方面的修复,但是作为比较重要的...
- 阿里云新增的轻量应用服务器(欧洲与美洲)美国(硅谷)配置方法
-
近期,阿里云的轻量应用服务器新增了欧洲与美洲地域,可以在美国(硅谷)部署服务器了,但是没有LAMP应用镜像,所以在配置服务器时遇到几个问题,SSH登录不了,提示【Algorithmnegotiati...
- OpenSSH 10.0发布 旨在更好地抵御量子计算机的攻击
-
OpenSSH10.0现已支持这一广泛使用的SSH客户端/服务器实现。OpenSSH10.0包含多项改进,包括更好地防御未来量子计算机可能发起的攻击。OpenSSH10.0放弃了对过去...
- 腾讯云国际站: 腾讯云服务器怎麽SSH远程连接
-
本文由【云老大】TG@yunlaoda360撰写准备工作获取服务器的公网IP地址:在腾讯云控制台找到云服务器实例,查看其基本信息,获取公网IP地址。确保服务器已安装SSH服务:一般Linux系统默...
- 旧电脑改服务器,这 6 个坑能让你白忙 3 天(附实测解决办法)
-
前几天收到粉丝私信,说照着教程把旧电脑改成服务器,结果折腾了3天还是没成功——要么是启动后连不上网,要么是跑两天就自动关机。其实我第一次改的时候也踩了不少坑,光是让旧电脑稳定运行,就重装了6...
- 使用win10自带的ssh服务器
-
我太喜欢ssh了,因为它的功能实在太强大,而且几乎不占用啥资源。(PS:类似的软件:p7zip,tightvnc)。因此,无论是哪个系统,我总想着安装一个ssh的服务器。之前我在虚拟机中安装了个win...
- Python sys模块使用教程
-
1.知识导图2.sys模块概述2.1模块定义与作用sys模块是Python标准库中的一个内置模块,提供了与Python解释器及其环境交互的接口。它包含了许多与系统相关的变量和函数,可以用来控制P...
- 满足AI时代高效办公需求 惠普战99 AI商务超能本评测
-
身处智能化时代的浪潮之中,人工智能正在深刻影响着我们工作和生活的方式,从聊天机器人到自动驾驶,从智能制造到药物研发,人工智能的力量无处不在。如今,随着各类AI应用逐渐占据主流计算平台,并在各种触手可及...
- 使用 vLLM 生产环境部署 DeepSeek,算力减半、吞吐增十倍!
-
需求:之前使用Ollama部署过deepseek-r1:32b模型,非常方便快捷,适合个人快速部署使用。如果作为企业生产环境应该使用什么方式部署呢?一般都采用vllm、sglang进行部署...
- 我把 ML 模型编译成 C 后,速度竟提升了 1000 倍!
-
【CSDN编者按】在本文中,我们来尝试将micrograd神经网络编译成C。具体内容如下:简单了解一下神经网络;看看micrograd如何前向传播和反向传播;复习链式法则;分析为什么mi...
- 这才是真·非公旗舰!索泰RTX 5080天启OC显卡评测
-
近年来,电脑硬件的RGB灯光逐渐成为标配,厂商在产品差异化这一方面则开拓了二次元IP形象这一新的领域,但要说哪家厂商在这一领域最吸引眼球,我想索泰应该要属独领风骚的一个。早在2020年,索泰便推出了以...
- 性能测试工具Iperf 验证SDN网络
-
1实验目的掌握Iperf在Linux环境下的安装和常用命令行参数的含义熟悉Iperf应用实例掌握SDN网络中使用Iperf测试网络带宽等2实验原理网络性能测试主要是监测网络带宽的使用率,将网络带宽...
- 方案 | 感受沉浸式音效的魅力:Roger和他的豪华影院
-
随着沉浸式音效的不断普及,诸如杜比全景声、DTS:X或Auro3D等技术不断引入到家庭影院音响系统中来,并带来了前所未有的震撼效果。也因此,越来越多的业主想要搭建一间具备沉浸式音效的影院,以享受更高...
- LLVM IR入门:编写自定义优化Pass的完整教程与性能影响分析
-
LLVMIR:编译器优化的核心纽带LLVM作为模块化编译器框架的典范,其中间表示(IR)是连接前端(如Clang)与后端(目标架构代码生成)的桥梁。与传统编译器不同,LLVMIR具有平台无关性和...
- iperf-LINUX测速工具
-
#iperf-测速工具安装包下载地址https://github.com/esnet/iperfhttps://downloads.es.net/pub/iperf/iperf-3.9.tar.gz官...
你 发表评论:
欢迎- 一周热门
-
-
UOS服务器操作系统防火墙设置(uos20关闭防火墙)
-
极空间如何无损移机,新Z4 Pro又有哪些升级?极空间Z4 Pro深度体验
-
手机如何设置与显示准确时间的详细指南
-
NAS:DS video/DS file/DS photo等群晖移动端APP远程访问的教程
-
如何在安装前及安装后修改黑群晖的Mac地址和Sn系列号
-
如何修复用户配置文件服务在 WINDOWS 上登录失败的问题
-
一加手机与电脑互传文件的便捷方法FileDash
-
日本海上自卫队的军衔制度(日本海上自卫队的军衔制度是什么)
-
10个免费文件中转服务站,分享文件简单方便,你知道几个?
-
爱折腾的特斯拉车主必看!手把手教你TESLAMATE的备份和恢复
-
- 最近发表
- 标签列表
-
- linux 查询端口号 (58)
- docker映射容器目录到宿主机 (66)
- 杀端口 (60)
- yum更换阿里源 (62)
- internet explorer 增强的安全配置已启用 (65)
- linux自动挂载 (56)
- 禁用selinux (55)
- sysv-rc-conf (69)
- ubuntu防火墙状态查看 (64)
- windows server 2022激活密钥 (56)
- 无法与服务器建立安全连接是什么意思 (74)
- 443/80端口被占用怎么解决 (56)
- ping无法访问目标主机怎么解决 (58)
- fdatasync (59)
- 405 not allowed (56)
- 免备案虚拟主机zxhost (55)
- linux根据pid查看进程 (60)
- dhcp工具 (62)
- mysql 1045 (57)
- 宝塔远程工具 (56)
- ssh服务器拒绝了密码 请再试一次 (56)
- ubuntu卸载docker (56)
- linux查看nginx状态 (63)
- tomcat 乱码 (76)
- 2008r2激活序列号 (65)