4-8 通过WebREPL向NodeMCU传递文件

位置导航: 首页 / 物联网教程 / 第4章 – MicroPython开发物联网 / 本页

在之前的教程中我曾经给大家讲过,MicroPython对于NodeMCU来说不仅仅是开发工具还要兼顾操作系统的功能。这节课我们一起学习如何通过MicroPython的WebREPL实现NodeMCU与电脑之间的文件传输。

首先我们来学习如何通过WebREPL向NodeMCU发送文件。请使用您常用的Python IDE建立一个python程序文件。程序内容很简单:

print('Hello Taichi-Maker!')

如下图所示,我将使用Notepad++来建立此文件。(您可以通过我站的下载页面找到Notepad++的下载地址。)

MicroPython WebREPL传输文件-1
MicroPython WebREPL传输文件-1

请将此文件保存到电脑中,文件名命名为“main.py”。

接下来请打开MicroPython的WebREPL,并且点击界面右侧的Browse按钮,选中需要传输的main.py文件然后点击”打开”按钮。(如下图所示)

使用MicroPython的WebREPL向NodeMCU传送文件-1
使用MicroPython的WebREPL向NodeMCU传送文件-1

执行完以上操作后,main.py文件名将会显示在WebREPL界面中的Browse按钮下方。(如下图所示)

使用MicroPython的WebREPL向NodeMCU传送文件-2
使用MicroPython的WebREPL向NodeMCU传送文件-2

接下来就可以点击“Send to device”按钮。这一操作将会把准备传输的main.py文件通过WIFI传送给NodeMCU系统中。(如下图所示)

使用MicroPython的WebREPL向NodeMCU传送文件-3
使用MicroPython的WebREPL向NodeMCU传送文件-3

以上就是如何将文件通过WebREPL传输给NodeMCU的方法。为了验证这个文件已经成功上传了,您可以按照以下操作进行确认。

首先请关闭您的WebREPL,然后使用Putty软件打开NodeMCU的MicroPython REPL。如下图所示,当您启动REPL以后,可以看到在REPL的MicroPython版本信息上方多了一行文字“Hello Taichi-Maker”。这正是我们刚刚传输的”main.py”程序执行结果。

main.py程序执行结果
main.py程序执行结果

另外也请您回忆一下,在我们上传main.py文件以前,每次使用Putty打开MicroPython的REPL后都会看到系统有错误提示信息。(如下图所示)

MicroPython系统错误提示信息
MicroPython系统错误提示信息

然而上传了main.py文件以后,当我们再次打开REPL,这一行错误提示信息就消失了。

这是因为NodeMCU在每一次系统启动后都要执行main.py文件。当我们将MicroPython固件刷好以后,这时NodeMCU里面是没有main.py文件的。这也就是上面这条错误提示的来历。同时也是为什么当我们把main.py上传以后,我们在REPL中可以看到main.py的执行结果显示在REPL中。关于MicroPython的文件系统,我们会在后续的教程中给大家作更为详细介绍。这里只是先给您一点背景知识,为以后的学习热热身。

另外请您留意,当我们把main.py文件上传给NodeMCU以后,如果再上传一个与main.py同名的文件给NodeMCU,那么之前上传的main.py将会被后上传的main.py覆盖。WebREPL在覆盖文件的时候是不会给我们任何提示的,而且文件一旦被覆盖是无法恢复的。请务必小心操作。

“来而不往非礼也”,掌握了如何向NodeMCU传送文件以后,我们还要学会如何从NodeMCU获取文件。下一节我们将学习这一操作。