ESP8266折腾之路(三)使用WebREPL远程更新

本文介绍了使用WebREPL远程更新ESP8266开发板的方法。MicroPython File Uploader上传文件有局限,WebREPL客户端可解决。需将客户端与开发板置于同一局域网,开启WebREPL服务,设置密码,最后通过客户端连接开发板进行文件上传、下载和代码调试等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载:https://www.jianshu.com/p/f0ff221e7abe

前面没有问题,就是WebREPL客户端连接开发板这一步出现问题。

问题原因,怀疑我的板子还没有连接上无线。他自己还有无线。我只有连接它的无线才能访问它。

看截图

密码:micropythoN

密码是通用的。

记住要在同一个网关

 

 

下面是转载的东西

 

本篇新增软件

WebREPL在线版http://micropython.org/webrepl/
下载地址:https://codeload.github.com/micropython/webrepl/zip/master

在MicroPython on ESP8266的开发过程中,做的最多的事情就是上传文件,MicroPython File Uploader 虽然很好用,但是有两个缺点:

  1. 必须将ESP8266开发板与电脑连接
  2. 如果开发板中运行的程序未结束,例如定义了死循环用来监听信号时,文件的上传有可能会失败。

上传失败自不必说,而必须与电脑连接就制约了我们开发的灵活性,想像一下:我们用8266做了一个通过手机控制的接线板控制器,封装后安装进接线板中,然后有一天想要给它增加一个定时开关功能,只需要简单更新几句代码并没有新增硬件设施的前提下,如果使用MicroPython File Uploader,需要从接线板中拆除后再连接电脑进行更新,这无疑会影响体验。ESP8266的官方SDK是支持云升级功能的,即可以通过远程烧写固件的方式对开发板进行固件更新,那MicroPython是否能实现类似的功能呢?今天的主角WebREPL为此而生。

WebREPL客户端是MicroPython官方推荐的更新方式,功能很强大,通过网页的方式读取ESP8266的文件系统,可以上传文件或者下载开发板中已存在的文件,可以输入指令并实时查看开发板中的输出状态,完全取代串口调试。
WebREPL客户端的两种使用方式在本篇开头已经写明,选择任意一种均可以连接开发板。

WebREPL客户端必须与ESP8266开发板在同一局域网下,否则无法正常连接

WebREPL在固件中默认是不启动的,所以在使用之前,需要先将服务打开。

  1. 在输入框输入 import webrepl_setup

    输入 import webrepl_setup

  2. 看到当前WebREPL自动启动状态是未开启的

     

    提示 webrepl未开启自动启动功能

  3. 输入E开启上电时自动启动WebREPL功能

    输入E开启

  4. 要开启WebREPL必须先设定密码,密码为4-9个字符

     

    连续输入两次4-9位的密码

  5. 连续输入两次密码后,确认Web_REPL开启成功,重启开发板

     

    webrepl已开启自动启动功能

到这一步,按照我的预期,WebREPL服务应该已经是开启状态,而我们可以使用WebREPL客户端来进行连接了,实际情况却是此时如果使用客户端进行连接,将会始终连接失败,所以还需要有第6步。

  1. 输入import webrepl;webrepl.start();

    输入import webrepl;webrepl.start();

  2. 成功开启WebREPL服务,此时即可通过WebREPL客户端来进行远程连接ESP8266开发板,并上传或下载文件。

     

    开始WebREPL成功

接下来使用WebREPL客户端连接开发板

  1. 打开http://micropython.org/webrepl/
    并修改地址为上一步控制台输出的地址,我这里是ws://192.168.2.19:8266

    改为ESP8266开发板ip地址

2.点击连接后,输入刚刚设定的密码,输入密码时不会有任何回显,输入完毕直接回车,一切正常的情况即会连接成功。

 

连接成功

  1. 现在已经可以通过WebREPL客户端对ESP8266进行操作,主窗口中输入python代码进行实时调试,右侧有文件上传与下载功能,上传功能与MicroPython File Uploader一样,下载功能可以直接下载ESP8266开发板中存在的文件。

输入import os;os.listdir();,查看当前开发板中的文件名称

查看文件名


将文件名输入到右侧的Get a file输入框中,点击Get from device按钮,即可将开发板中的文件下载到本地

下载webrepl_cfg.py文件

 

4.webrepl_cfg.py文件中存放着我们之前设定的WebREPL密码,明文的〜!〜

到此,使用WebREPL远程更新ESP8266开发板已经完成,不过虽然前面设置了在开发板启动时自动开启WebREPL服务的功能,实验证明,在开发板断电重启后,WebREPL服务并未开启,经检查,是因为在设置WebREPL服务之前,我们上传了自定义的boot.py文件,而MicroPython在开启WebREPL服务时,会将相关代码直接追加在boot.py文件尾,造成了语法错误,所以要手动更新一下boot.py文件。

更新后的boot.py文件内容如下

import network,webrepl
sta_if = network.WLAN(network.STA_IF)
if not sta_if.isconnected():
    print("connecting to network...")
    sta_if.active(True)
    sta_if.connect("<ap_name>", "<password>") # Connect to an AP <ap_name>&<password> is your route name&password
    while not sta_if.isconnected(): # Check for successful connection
        pass
print("network config:", sta_if.ifconfig())
webrepl.start()

再也不用把开发板跟电脑相连啦!

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值