浅谈MircoPython---ESP8266
一.连接WIFI
在Putty会话窗口输入
>>>help()
打印的消息会告诉你如何连接WIFI
import network sta_if = network.WLAN(network.STA_IF) sta_if.active(True) sta_if.scan() # Scan for available access points sta_if.connect("<AP_name>", "<password>") # Connect to an AP sta_if.isconnected() # Check for successful connection
二.使用WebREPL上传文件
webrepl客户端
webrepl是MicroPython官方提供的文件管理工具,并且有一个webrepl客户端工具,使用它可以通过浏览器来访问ESP8266.
首先我们在ESP8266的会话窗口输入import webrepl_setup 以配置webrepl:
>>> import webrepl_setup
接下来按照返回的提示信息输入即可,密码至少三位,之后输入下面命令,启动webREPL
>>> import webrepl >>> webrepl.start()
从Github下载WebREPL客户端打开或者访问MicroPython官网提供的在线客户端(http://micropython.org/webrepl/),以准备上传和下载文件。
ESP8266连接好WiFi后,输入sta_if.ifconfig()查看连接信息,返回的元组第一个IP就是无线路由器分配给ESP8266的IP。
如果你的电脑和ESP8266在同一个局域网,修改WebREPL要连接的地址为ESP8266的IP,点击「Connect」,返回「Welcome to MicroPython!」说明连接成功,根据提示输入密码(密码默认不显示)。回车后显示「WebREPL connected」表示登录成功。
之后就可以用这个客户端上传下载文件了.
三.设置上电自动连接WIFI
MicroPython初始化后都会自动执行main.py文件,所以我们只需要设置改文件即可上电自动连接WIFI,打开自己常用的编辑器,输入下面代码,并保存为main.py文件.
# main.py import network import webrepl SSID = "SSID" PASSWORD = "password" def do_connect(): import network wlan = network.WLAN(network.STA_IF) wlan.active(True) if not wlan.isconnected(): print('connecting to network...') wlan.connect(SSID, PASSWORD) start = utime.time() while not wlan.isconnected(): utime.sleep(1) if utime.time()-start > 5: print("connect timeout!") break if wlan.isconnected(): print('network config:', wlan.ifconfig()) do_connect()
之后通过WebREPL客户端长传改文件,完成之后,尝试给ESP8266重启一下,看看ESP8266的会话窗口是不是打印了user init ! 如果成功打印,说明上电后确实执行了上面的代码,另外,ESP8266重启后,WebREPL客户端需要重新连接才可以操作.