百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 文章教程 > 正文

ESP32/8266开发环境超详细安装步骤

xsobi 2025-01-13 18:50 24 浏览

本文详细阐述了本站视频“[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(增强包镜像光盘)

所需命令如下:

Bash
sudo mount /dev/cdrom /mnt/
mount: /mnt: WARNING: device write-protected, mounted read-only.

2.执行脚本安装

进入已挂载的光盘,执行安装脚本

Bash
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

设置步骤:

  1. 打开文件后按下 i 表示添加内容: vim ~/.bashrc
  2. 在文件空处添加上述的2个变量即可
  3. 按下esc 键,再 :wq 表示写入保存,并执行命令使配置生效: source ~/.bashrc
  4. 测试工具链环境是否设置成功: xtensa-lx106-elf-gcc -v
  5. 测试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部分。


好了,终于写完了~~~我要去喝杯咖啡了。哈哈哈。对了。别忘了点个赞啥的哈!

相关推荐

淘宝后台怎么设置微信支付方式,如何操作?

一、登录淘宝商家后台首先,打开淘宝商家后台的登录页面,输入用户名和密码进行登录。如果没有注册淘宝商家账号,可以先进行注册,注册成功后再登录。二、进入“支付设置”页面登录成功后,点击页面右上角的“设置”...

CMS系统是什么?(cms包括什么)

CMS系统指的是“内容管理系统”,是用来发布网络内容的一体化Web管理系统。CMS系统主要有两类功能,一类是搭建网站,另一类是用来管理和发布内容。...

后台首页应该如何设计?(店铺首页设计图片)

在设计之前,尽可能进行用户访谈,深入每个角色的场景,分析其业务重点和痛点,了解每个客户角色对产品的期望。1)梳理业务和功能架构主页和导航共同构成了产品的外观。在设计首页之前,需要完成业务和功能架构设...

今日头条MCN.登录电脑端头条号后台,功能使用管理

明日头条MCN也叫父子号或则矩阵是指有能力管理一定规模头条号账号的机构,内容包括微头条、图文、短视频等体裁。平台希望凭着对MCN机构规范化的管理,共同构建出一个良性、活跃的内容生态,与更多领域的MCN...

家里的WiFi被蹭了,咋办?(家里被蹭网了)

某一天在家中上网...

AI销售数据分析神器 + 超强推理模型

这款AI销售数据分析工具通过自动化分析和推理模型,快速生成详细报告,帮助销售团队精准定位问题、发现亮点,优化策略。无论是产品分析、地区对比还是成本结构,它都能提供全面洞察和可执行建议。干销售,最头疼啥...

大学宿舍上网问题解决方案,让你上网更稳定更快捷!

大学宿舍上网是许多大学生关心的问题,一直以来都存在着网速慢、不稳定等困扰。但是,只要采取正确的解决方法,大学宿舍上网问题就可以迎刃而解。一、了解宿舍网络环境在解决宿舍上网问题之前,我们需要了解宿舍的网...

剑灵2台服卡界面、卡加载界面、卡登录界面的解决方法

《剑灵2》是一款大型多人在线角色扮演游戏,在《剑灵2》中,过去的英雄将成为传说,玩家将承接后面的全新探险,将谱写《剑灵》的全新篇章。该游戏上线以来,许多玩家小伙伴已经纷纷下载游玩,但是有不少玩家在游玩...

SOLIDWORKS PDM库设定冷存储模式(solidworks保存p2d格式)

众所周知SOLIDWORKSPDM作为管理企业研发数据的工具,不但帮助企业集中管理了研发数据,也记录了企业产品的研发过程即文件的版本。...

这个软路由系统自带NAS和应用商店:iStore OS,降低软路由门槛!

开篇碎碎念大家好,相信不少朋友都听过软路由,甚至不少朋友已经玩上了软路由,原版软路由系统上手还是有一定难度的,所以本期来介绍和体验一个基于OpenWRT改版而来的易用的软路由系统:iStoreOS。...

Windows RDP远程桌面登录(mstsc)卡死显示请稍候的画面的解决办法

WindowsRDP远程登录(mstsc)卡死一直等待变成请稍候(PleaseWait)的画面如何解决。相信很多人都遇到过,但搜索国内所有网站,均没有一个根本性的解决方案,很多都是答非所问。都不能...

手把手教您登记公共数据资源(公共数据是什么)

3月1日,国家公共数据资源登记平台(https://sjdj.nda.gov.cn)正式上线。您可通过以下5个步骤开展登记工作:1.注册登录登录国家公共数据资源登记平台官网后,点击右上角【注册】或【我...

获取微信小程序页面路径(如何获取微信小程序路径)

登录小程序后台(https://mp.weixin.qq.com/),在顶部导航栏的“工具-生成小程序码”可进入小程序页面路径默认显示首页路径,用户可获取该小程序更多页面路径。...

SaaS系统框架搭建详解(saas软件开发框架)

SaaS系统能提供一个或者多个行业常见场景的功能支持,只要在有网络的情况下,便“随处可用、拿来即用、不用下载”,所以现在也是一个流行的趋势。本文介绍了SaaS系统的框架搭建,一起来学习一下吧。根据百度...

暗黑4XGP卡在载入界面、登录界面卡住、登录不上去有效解决

想要以更低的价格体验到暗黑破坏神4的好玩之处,那么你可以选择加入XGP。近日,该游戏更新了“炼狱大军”赛季,这几天总有玩家遇到暗黑4XGP卡在载入界面、登录界面卡住、登录不上去的困难。下面就由小编和迅...