目录
在ESP8266上刷入micropython固件包
固件:从官网下载基于ESP8266的MicroPython固件
MicroPython - Python for microcontrollers
刷机软件:
说明:网上教程都是用flash_download_tool进行刷机,但是我用这个软件刷完后开机乱码,多方查看后发现如下方法
- 通过指令刷机,参考网址
- 用带擦除功能的flash_download_tool,如版本3.9.2,先擦除flash,然后再用nodeMCU刷机工具“ESP8266Flasher”进行刷机即可,部分刷机过程图片如下
用putty登录ESP8266,若出现micropython等信息,说明刷机正常,之后即可进行其他操作,参考文章,相关案例。
连接无线网
通过putty连接ESP8266,之后依次执行下属指令
import network
sta_if = network.WLAN(network.STA_IF)
sta_if.active(True)
sta_if.scan() //这里相当于搜索wifi
sta_if.connect("Mi 10", "happiness") //要连接WiFi的名称和密码
sta_if.isconnected() //检查是否建立连接
sta_if.ifconfig() //查看IP配置等信息
使用WebREPL上传文件
首先从GitHub上下载webrepl工具,之后进行webrepl配置,依次执行下面指令,中间会提示创建密码,根据提示操作即可。
import webrepl_setup 之后选择e,再设置密码,如123456,最后输入y
import webrepl
webrepl.start()
之后打开webrepl网页,输入ESP8266的IP地址,即可连接,之后可进行文件上传和下载
设置上电自动连接WiFi
创建main.py文件,并输入以下代码
# main.py
import network
import webrepl
import time
SSID = "Mi 10"
PASSWORD = "happiness"
def do_connect():
import network
import time
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
if not wlan.isconnected():
print('connecting to network...')
wlan.connect(SSID, PASSWORD)
start = time.ticks_ms() # get millisecond counter
while not wlan.isconnected():
time.sleep(1) # sleep for 1 second
if time.ticks_ms()-start > 20000:
print("connect timeout!")
break
if wlan.isconnected():
print('Connected! network config :', wlan.ifconfig())
do_connect()
利用webrepl上传main.py文件至ESP8266,之后重启,用putty即可看到打印信息
查看固件中已安装的库
输入指令 help(‘modules’) ,如下图所示,可以看到mqtt的库已经被安装
如果所需的库没有被安装,可以先到GitHub中搜一搜是否有官方的库,
利用uPyLoader-mater进行文件传输和代码执行
解压uPyLoader-mater文件夹后,在该文件夹下shift+右键运行命令框,之后输入 python .\main.py 回车,即运行该软件
连接开发板后,即可看到板子上已有的micropython程序,选择相应程序,点击”Execute”执行,则相应程序被执行。
从 View--》Terminlal打开命令栏用于调试和状态查看
利用uPyCraft开发microPython
本文不做过多介绍,参考链接