目的

本文档用于记录 ESP8266 基于 WSL 的开发环境搭建。本人在最早接触 ESP8266 时使用的环境搭建方法是在 windows 下使用 MINGW32,这个环境下的编译非常慢,体验非常不好。后来接触到 ubuntu 下的环境搭建,但由于是使用的 vmware,来回切换也是非常的复杂。近期看到 windwos 下的 wsl 环境搭建,尝试一番后发现用起来得心应手,于是记录下来,供日后使用。

准备工作

  • 安装 WSL
  • 安装 ubuntu
  • 下载 Move WSL

环境搭建过程

1. 安装 WSL 以及 ubuntu

如何安装 wsl 以及 ubuntu 就不在赘述了,网上一搜一大把。下面从安装完 WSL 以及 ubuntu 开始。

2. 迁移 wsl

系统默认将 ubuntu 安装在了 C 盘,我们以后日常使用,ubuntu 里面的安装的内容越来越多,会导致 C 盘空间不够用,因此在安装完 wsl 之后,我们即可将其迁移到合适的盘。

wls 本身提供了 export 和 inport 功能,而 move wsl 是一个 powershell 脚本,可以帮助我们傻瓜式进行 wsl 的迁移。下面开始利用 move wsl 进行迁移

  • 确保关闭要迁移的 ubuntu

  • 管理员权限打开 powershell,进入 move wsl 文件夹,执行脚本.\move-wsl.ps1

  • 按 2 选择 Ubuntu-20.04

  • 选择需要迁移的文件夹路径

  • 当出现如下界面,说明迁移已经完成

  1. ubuntu 基本配置

3.1 更新国内源

使用 sed 命令更新 ubuntu 源为国内源以提高访问速度

sed -i s/archive.ubuntu.com/mirrors.aliyun.com/g /etc/apt/sources.list
sed -i s/security.ubuntu.com/mirrors.aliyun.com/g /etc/apt/sources.list

执行如下命令,更新 ubuntu 中软件

apt-get update
apt-get upgrade

3.2 linux 准备

根据乐鑫 官方文档 ,安装 ubuntu 下必要组件

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

4.tools

由于国内访问 git 较慢,乐鑫在 gitee 上为大家准备了一个 tools,可以加速访问;

  • 首先先建立工作目录并进入该路径
  • 使用 git clone esp-gitee-tools
git clone https://gitee.com/EspressifSystems/esp-gitee-tools.git

  • 在 esp-gitee-tools 中乐鑫为我们提供了三个工具(具体用法可查看其 readme),其中:
  • List item jihu-mirror.sh 适用于解决国内开发者从 github 克隆 esp 相关仓库慢的问题
  • submodule-update.sh 是用于更新 submodule,有了 jihu 之后已经不再需要;
  • install.sh 适用于加速下载各种编译工具链
  • 执行 jihu-mirror.sh 设置镜像
./jihu-mirror.sh set

5 退出 esp-git-tools 文件夹,git clone ESP8266 SDK

git clone --recursive https://github.com/espressif/ESP8266_RTOS_SDK.git

由于使用了 jihu 镜像,git 上的 ESP8266 SDK 很快就 clone 下来了。

6.使用 tools 中的 install.sh 工具

  • 回到 esp-gitee-tools 文件件
  • 执行如下指令
export EGT_PATH=$(pwd)

7.设置 pip 加速

pip --version
pip config set global.index-url http://mirrors.aliyun.com/pypi/simple
pip config set global.trusted-host mirrors.aliyun.com

8.执行 install.sh 脚本

回到 ESP8266SDK 目录下,执行如下命令

$EGT_PATH/install.sh

报错如下:

执行如下三个命令后,在此执行 shell 脚本成功

python3 --version
whereis python3
sudo ln -s /usr/bin/python3 /usr/bin/python

直到出现如下界面,表明环境配置成功

9.编译运行 helloworld

  • 首先执行. ./export.sh,每次打开新的终端,都需要执行该脚本。其重要用于导入 SDK 的各种环境变量
  • 退出 ESP8266_RTOS_SDK,并建立 project 目录
  • copy helloworld 到 project
cp -r ESP8266_RTOS_SDK/examples/get-started/hello_world/ project/
  • 进入 project 下面的 helloworld 执行 make
    报错入下:

    这是因为 ubuntu 下的 curses 库未安装,执行如下指令安装
sudo apt-get install libncurses5-dev

接下来可以成功编译。

10.Monitor

10.1 usbipd

在 wsl 下,我们使用 usbipd 来讲 windows 下的 usb 串口绑定到 ubuntu 下。 usbipd下载
同时,在 wsl 环境下,我们也需要下载安装 usbipd

sudo apt install linux-tools-5.4.0-77-generic hwdata
sudo update-alternatives --install /usr/local/bin/usbip usbip /usr/lib/linux-tools/5.4.0-77-generic/usbip 20

接下来通过以下两个命令,在 powshell 中将 usb 接口绑定到 wsl

usbipd wsl list
usbipd wsl attach --busid <busid>

usbipd具体应用参考

10.2 运行 idf.py monitor 即可在 wsl 下查看 ESP8266 运行的串口 log

11.卸载与清除 ubuntu

  • 在 windows“添加删除程序”中删除需要卸载的 ubuntu;
  • 以管理员权限打开 powershell,运行 wsl -l -v 测试可以看到刚才删除的 ubuntu 还在;
  • 运行如下命令:wsl --unregister Ubuntu-20.04
  • 此时再使用 wsl -l -v 发现 Ubuntu-20.04 已经完全删除

基于WSL搭建ESP8266开发环境相关推荐

  1. 搭建 ESP8266 开发环境(windows)

    其实,官方文档写得很清楚,此文只是简单记录一下安装过程 官方文档:ESP8266_RTOS_SDK (IDF Style) Programming Guide 当然,进行 ESP8266 开发前,我们 ...

  2. mac搭建python开发环境_Mac中基于Homebrew搭建python开发环境

    转移到mac上了.这里是在lion中搭建python开发环境的简单记录.这份记录不是一份step by step.而是事后写的记录,可能有记忆遗漏.如果有错误,请指正. 1.安装homebrew的准备 ...

  3. ubuntu 搭建ESP8266开发环境

    参考官方文档https://docs.espressif.com/projects/esp8266-rtos-sdk/en/latest/get-started/linux-setup.htmlhtt ...

  4. 基于Qt搭建ROS开发环境

    参考的博客: http://blog.csdn.net/u013453604/article/details/52186375 http://blog.csdn.net/dxuehui/article ...

  5. UEFI 基础教程 (一) - 基于QEMU搭建UEFI开发环境(win/linux)

    一.EDKII windows 环境搭建 1. 下载UEFI开源代码 cmd进入C盘根目录,git clone https://github.com/tianocore/edk2.git edkii ...

  6. ubuntu18.04中基于Docker搭建tensorflow-gpu开发环境

    前提条件就不多提啦,首先得装好nvidia驱动和Docker19以上版本,网上有很多教程. 尝试1:拉取现有的deepo镜像制作 deepo是一个囊括几乎所有深度学习框架的开源镜像,这里我们选择拉取一 ...

  7. 基于maven搭建spark开发环境

    1 背景 需要开发spark 项目,开发语言为java 2 步骤 2.1 创建工程 创建maven工程,这个不在这篇文档论述 2.2 引入pom <properties><maven ...

  8. 基于 Webpack4 搭建 Vue 开发环境

    查看全文 http://www.taodudu.cc/news/show-3248562.html 相关文章: 大端字节序码流中取出2字节_graalvm字节码到位码 XMlL MongoDB增删改查 ...

  9. 基于MacOS搭建ESP8266 NodeMCU CP2102开发环境

    基于MacOS搭建ESP8266-NodeMCU开发环境 1. 下载.安装驱动 2. Arduino开发环境配置 2.1. 下载.安装Arduino 2.2. 配置Arduino 1. 下载.安装驱动 ...

最新文章

  1. 概率论中伯努利分布(bernoulli distribution)介绍及C++11中std::bernoulli_distribution的使用
  2. 倍福TwinCAT(贝福Beckhoff)基础教程5.1 TwinCAT-2 运行可执行文件
  3. css/js压缩工具
  4. android byte[] 转string 好多问号_java程序员面试遇到string题如何不凉?
  5. debian 7上安装svn
  6. 为什么ABAP整型的1转成string之后,后面会多个空格 1
  7. python从数据库取数据 显示字段名_如何在python中将SQL数据库中的字段名放入列表中...
  8. python编程新手常犯的错误_初学者开发人员都会犯的7个Python错误
  9. AjaxPro怎么传对象参数
  10. xmind8 Pro序列号
  11. ★40个经典的社交心理学现象
  12. 厘米换算英寸英尺(PTA题解)
  13. java caller_JavaScript中callee和caller的区别与用法实例分析
  14. 怎么将图片压缩到50k以内?教你一招将图片缩小的方法
  15. 解决生产计划排程APS系统七大问题,提升企业生产效率!
  16. 信捷触摸屏通讯示例1
  17. SpringMVC工作流程
  18. 五十音图平假名随机生成
  19. Substance Painter 服饰材质制作 衣服 腰带
  20. 网络安全——SQL注入攻击

热门文章

  1. cumber + selenium +java自动化测试
  2. 统计学习方法——K近邻模型
  3. 2021年危险化学品生产单位安全生产管理人员考试及危险化学品生产单位安全生产管理人员考试资料
  4. 【它山之玉】人生的自然法则-科学网马臻
  5. python下载批量图片
  6. latex dvi2pdf 取消使用pdf福晰阅读器打开
  7. mongodb netcore 操作封装_mongodb 的基本函数语法封装
  8. 论文阅读笔记 | 三维目标检测——PartA2算法
  9. Homesteading the Noosphere(开拓智域)
  10. 司铭宇讲师:销售技巧培训之销售沟通说服力