【本文发布于https://blog.csdn.net/Stack_/article/details/147194686,未经允许不得转载,转载须注明出处】
需要有Linux使用基础,自行准备
1、VM17 Pro (自行搜索教程安装)
2、ubuntu-24.04-desktop-amd64 (如果安装后启动卡顿,关闭3D加速)
结合官方教程 进行以下操作
1、安装/更新必须的依赖
官方教程 sudo apt-get install gcc git wget make libncurses-dev flex bison gperf python python-serial
但这个版本的Ubuntu已经不支持apt安装python2了,需要更改为:
"sudo apt-get install gcc git wget make libncurses-dev flex bison gperf python3 python3-serial"
2、安装vim编辑器,如已安装则跳过
sudo apt install vim
3、确定工作目录
选择一个路径作为我们的esp8266工作目录,大家自己确定,我这里的路径是如下图 "/home/tavio/esp8266"
4、下载Toolchain(GCC编译器)
for 64-bit Linux:
https://dl.espressif.com/dl/xtensa-lx106-elf-gcc8_4_0-esp-2020r3-linux-amd64.tar.gz
for 32-bit Linux:
https://dl.espressif.com/dl/xtensa-lx106-elf-gcc8_4_0-esp-2020r3-linux-i686.tar.gz
解压缩
5、拉取SDK / IDF框架代码
esp8266路径下执行
git clone --recursive https://github.com/espressif/ESP8266_RTOS_SDK.git 克隆官方SDK
或者 git clone --recursive https://gitee.com/catbabys/tyrion-wifi-socket.git 我使用的SDK
修改文件夹名:
mv ESP8266_RTOS_SDK/ ESP8266_RTOS_SDK_V34 或
mv tyrion-wifi-socket/ ESP8266_RTOS_SDK_V34 "(修改后的名字和 profile 中的IDF_PATH一致)"
6、将GCC添加到环境变量
/home/tavio下有隐藏文件 " .profile", 使用"ls -a"指令可见
($HOME即当前用户的主路径 /home/tavio)
保存并退出,执行 source ./.profile 刷新PATH, printenv PATH 打印PATH。
执行 xtensa-lx106-elf-gcc -v 将列出gcc信息(如gcc version 8.4.0),若提示命令无效,可能是添加的PATH格式、路径有误,
或者是和系统位数不对应
"!!! 修改环境变量后如果发现终端输入任何指令都提示NOT FOUND,那就要注意了,
这是因为编辑profile文件时某行格式有误,此时关机会导致系统无法再进入桌面。需要检查profile文件"
7、安装pip
sudo apt install python3-pip
8、安装、激活python虚拟环境
此时执行 python3 -m pip install --user -r $IDF_PATH/requirements.txt 会报错,
这是因为这样安装的组件可能会直接影响到系统的python环境,
报错信息建议为该工作空间创建虚拟的python环境
"(在esp8266路径执行以下命令)"
sudo apt install python3.12-venv (安装)
python3 -m venv esp8266_py_venv (创建)
source esp8266_py_venv/bin/activate (激活,每次退出该虚拟环境或者重启系统都要重新激活,"要编译烧录时需要保持激活")
deactivate (退出)
成功进入虚拟环境,命令行开头会显示虚拟环境名称
9、更新IDF配置
执行python3 -m pip install -r $IDF_PATH/requirements.txt, 没有翻墙很可能会失败。
可以临时使用国内站点:
python3 -m pip install -r $IDF_PATH/requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
(因为在虚拟环境中执行,不能像官方那样使用--user 参数)
10、编译
按照官方教程进入官方demo,或者cd ESP8266_RTOS_SDK_V34/MyProjects/wifi_socket/进入我的工程,
"make all" 执行编译
11、安装VS Code并打开工程文件
官网下载,执行安装指令: sudo dpkg -i /mnt/hgfs/ShareDir/code_1.91.1-1720564633_amd64.deb
code --version 显示版本号即确认安装完毕
code 打开软件
"Open Folder" 打开SDK所在文件夹
"Terminal" 打开控制台,可以直接在这里敲命令而非系统控制台,也可以不使用VScode的控制台,全凭个人喜好
12、烧录
插入ESP8266开发板,执行命令"make flash"执行烧录
如果提示“could not open port”打开端口失败,
需要执行 sudo usermod -a -G dialout $USER 将当前登录的用户添加到dialout组中以获得外部设备的使用权限,
或者 执行 sudo chmod -R 777 /dev/ttyUSB0 将串口设备的权限开放给所有用户
重启后再次尝试"make flash"