从头搭建ESP8266 MicroPython开发环境指南

从头搭建ESP8266 MicroPython开发环境指南-阿帕胡

# 前言

在整理杂物的时候,翻到了大学时候买的ESP8266,当时关顾着折腾了树莓派了,并没有仔细研究它,如今焊点上都已经氧化的不成样子了,本着废物利用的心态,把它捯饬捯饬准备做一些有趣的东西。

 

经过研究和整理,我选择了 micropython 作为我的开发环境,虽然 Arduino 的性能更好,但对于我这种普通折腾的人来说,更加容易上手才是更关键的, 毕竟C我不会鸭。

 

本文主要内容是从零开始为 ESP8266 搭建 micropython 开发环境,后续将会以此为基础发布一系列文章。

 

# 准备工作

首先我们需要准备好以下资料:

WebREPL: https://github.com/micropython/webrepl

ch340G驱动: https://www.wch.cn/search?q=CH340&t=downloads

micropython固件: http://www.micropython.org/download/esp8266/

putty安装包: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

python 安装包:https://www.python.org/downloads/

 

下载完成后保存到文件夹中备用,应该是如下图所示:

 

从头搭建ESP8266 MicroPython开发环境指南-阿帕胡

# 安装步骤

 

1、安装 python

因为我的开发环境是Windows,所以我们首先需要安装 python for Windows,双击之前下载好的安装包,一路下一步即可。

 

安装完成后,打开命令行,输入 ‘python -V’ 输出如下图所示的话,这一步就安装完了。

 

从头搭建ESP8266 MicroPython开发环境指南-阿帕胡

 

2、安装 esptool

esptool.py 是乐鑫提供的开源库工具,用于乐鑫 ESP8285, ESP8266, ESP32, ESP32-S等系列芯片和 ROM Bootloader(即:一级 bootloader)通讯,从而实现:

固件烧录,flash 擦除,flash 读取,读 MAC 地址,读 flash id ,elf 文件转 bin 等常用功能;

flash 校验, 读取内存,载入 bin 到 RAM 执行,读内存,写内存,读 flash 状态,写 flash 状态,读 chip id,组装 bin等高级功能。

 

项目地址: https://github.com/espressif/esptool

 

上一个步骤我们已经安装好了python,所以现在我们直接使用pip3安装esptool:

pip3 install esptool

 

如果没有报错的话,输出应该是像下图这样:

 

从头搭建ESP8266 MicroPython开发环境指南-阿帕胡

 

3、安装ch340G驱动

双击驱动安装包,一路确定,点击安装即可。

 

从头搭建ESP8266 MicroPython开发环境指南-阿帕胡

 

4、刷写固件

这一步比较繁琐,首先你要确定你的开发板的COM口,右键我的电脑,打开设备管理器:

从头搭建ESP8266 MicroPython开发环境指南-阿帕胡

 

找到你的设备COM号,我这里就是4号,所以下面的命令中,端口就是COM4

 

清除数据

esptool.py --port COM4 erase_flash

 

从头搭建ESP8266 MicroPython开发环境指南-阿帕胡

 

写入固件

 

目前最新的固件是esp8266-20220618-v1.19.1.bin,等到你下载的时候可能会有变化,记得修改。在固件文件目录按住Ctrl+Shift+鼠标右键,点选在此处打开powershell窗口。在窗口内输入以下命令:

esptool.py --port COM4 --baud 460800 write_flash --flash_size=detect -fm dio 0 esp8266-20220618-v1.19.1.bin

 

固件写入成功后,返回应该如下图所示:

从头搭建ESP8266 MicroPython开发环境指南-阿帕胡

 

5、使用putty调试

首先要安装putty,双击之前下载下来的安装包,一路下一步安装。然后打开它。

从头搭建ESP8266 MicroPython开发环境指南-阿帕胡

 

在打开的界面连接方式选择 Serial,端口输入你设备上的实际端口,码率输入 115200,点击open即可打开连接。

从头搭建ESP8266 MicroPython开发环境指南-阿帕胡

 

正常连接成功就是没有任何输出的,使用print命令打印字符串试试看,如果是和我差不多的输出就是固件写入成功了。

从头搭建ESP8266 MicroPython开发环境指南-阿帕胡

 

6、使用 WebREPL 连接

ESP8266最强大的还是它的WiFi能力,所以我们没需要非要使用有线连接进行调试,可以打开 WebREPL 功能,通过浏览器调试它。

 

首先我们要让它能联网,以下代码请在使用 putty 连接的窗口内逐行复制粘贴。最后一行是wifi的名称和密码,请根据实际情况修改,我这里以 TEST 作为示例:

import networkwlan = network.WLAN(network.STA_IF)wlan.active(True)wlan.connect('TEST', 'PASSWD')

从头搭建ESP8266 MicroPython开发环境指南-阿帕胡

 

稍等片刻后在路由器的后台你将会看到它上线了,输入以下代码配置 WebREPL。

import webrepl_setup

 

首先会提示你是否允许自启动,输入 e 并回车。

从头搭建ESP8266 MicroPython开发环境指南-阿帕胡

 

接着是配置密码,4-9个字符,输入两次即可。

从头搭建ESP8266 MicroPython开发环境指南-阿帕胡

 

最后还有个是否允许重启开发板,输入Y回车板子就重启好了,这个时候打开 webrepl-master 文件夹内的webrepl.html。

从头搭建ESP8266 MicroPython开发环境指南-阿帕胡

 

系统会自动使用默认浏览器打开以下这个界面:

从头搭建ESP8266 MicroPython开发环境指南-阿帕胡

 

在打开的页面输入你的开发板 ip:8266 点击Connect,会提示你输入密码,输入刚刚设置的密码,验证通过就连接上了。这里我是用help命令简单测试了一下。

从头搭建ESP8266 MicroPython开发环境指南-阿帕胡

 

7、快速重置

有的时候我们写入失败或者部署的文件有了问题,需要重置板子的时候,就可以使用bat文件快速的将开发板恢复到初始状态。将下面代码中的端口和文件名修改为你实际的名称,然后保存为ANSI格式的bat文件。

 

当需要使用的时候,双击这个文件,就会自动重置。

@echo offecho "开始清除主板上数据"esptool.py --port 【COM端口】 erase_flashecho "开始写入新的镜像数据"esptool.py --port 【COM端口】 --baud 460800 write_flash --flash_size=detect -fm dio 0 【BIN文件名】pause

 

从头搭建ESP8266 MicroPython开发环境指南-阿帕胡

 

# 后记

这小东西是真的有意思,小小一个,可以实现N多种功能,还可以组建智能家居,如果自己买成品的可能动辄三四位数,这玩意tb上售价才十几块钱,还要啥自行车呢?

 

后续看使用情况我会再更新几篇ESP8266的实际使用案例。

THE END