ESP32/ESP8266 MicroPython教程:将文件上传到文件系统

简介

本ESP32 / ESP8266 MicroPython教程主要介绍如何使用ampy工具把电脑里的文件上传到MicroPython文件系统。本教程在ESP8266和ESP32上都进行了测试,这里显示的打印是针对ESP32的测试的。

我们默认您已经提前安装好了ampy工具。有关如何在Python中使用pip(https://pypi.org/project/pip/ )安装ampy的介绍,请参见这篇此前的教程:ESP32 / ESP8266 MicroPython教程:从文件系统运行脚本。相关过程已在Windows 8操作系统上进行了测试。

步骤

正如接下来我们介绍的那样,使用ampy上传文件的过程非常直接。首先,需要在您选定的文件夹下新建一个包含任意内容的简单文件。在本例中,我们将在文件中写入以下两句话:

This is the first line of content
This is the second line of content

使用.txt后缀保存该文件(并不一定非得使用.txt后缀,但是既然它是文本文件,本例还是使用了这个后缀)。文件名为test.txt。

然后,打开命令行,导航到文件夹。接下来,执行以下命令,并将COM5改为您的ESP8266 / ESP32设备所使用的com端口,即可上传文件。

ampy --port COM5 put test.txt

重要说明:在本文撰写期间,使用我自己的设置,首次执行ampy命令时(比如上传一个文件),命令行中会显示一条错误。之后再执行命令就不会再出现任何错误。如果将ESP8266 / ESP32关闭并重启,那么首次执行命令时还会出现同样的错误,同样在之后就一切正常了。

文件会被上传到MicroPython的文件系统中。请注意,成功执行该命令不会返回任何文本信息,如图1所示。

ESP32/ESP8266 MicroPython教程:将文件上传到文件系统_第1张图片

图1 - 成功上传test.txt文件到MicroPython文件系统。

接下来,我们将连接到MicroPython提示符,确认文件真的位于ESP32 / ESP8266 MicroPython文件系统中。我将使用Putty(https://www.putty.org/ )实现交互操作。

连接之后,导入os模块(http://docs.micropython.org/en/latest/library/uos.html?highlight=os#module-uos ),并调用该模块的listdir函数(http://docs.micropython.org/en/latest/pyboard/library/uos.html?highlight=os#uos.listdir ),该函数会返回当前文件夹下的所有文件。

import os
os.listdir()

如图2所示,我们之前上传的文件也出现在输出列表中。

ESP32/ESP8266 MicroPython教程:将文件上传到文件系统_第2张图片

图2 - 当前文件夹下的文件列表。

最后,使用如下所示的命令读出文件内容。有关使用MicroPython读取文件的详细教程,请参见先前的这篇帖子:ESP32 / ESP8266 MicroPython教程:读取文件。

file = open("test.txt", "r")
file.read()
file.close()

执行上述命令的结果如图3所示。注意,我们一次性读出了所有字节,因此所有内容都打印在了同一行上,包括换行和回车符。上一篇有关读取文件的帖子还提供了读取文件的另一种方式。跟我们期望的一样,我们先前写入文件的内容都显示了出来。

ESP32/ESP8266 MicroPython教程:将文件上传到文件系统_第3张图片
图3 - 读取先前上传的文件。

注:本文作者是Nuno Santos,他是一位和蔼可亲的电子和计算机工程师,住在葡萄牙里斯本 (Lisbon)。
他写了200多篇有关ESP32、ESP8266的有用的教程和项目。涉及arduino、micropython、 Picoweb、Espruino、Bluetooth、RFID、IDF……等等非常广泛,说是最全的完全不为过。

精华教程:

ESP32 MicroPython教程:uPyCraft IDE入门
ESP32 MicroPython教程:解析JSON
ESP32 MicroPython教程:MicroPython支持
ESP32 MicroPython教程:连接Wi-Fi网络
ESP32 / ESP8266 MicroPython教程:自动连接WiFi
ESP32 / ESP8266 MicroPython教程:从文件系统运行脚本
ESP32 / ESP8266 MicroPython教程:HTTP GET请求
ESP32 Arduino教程:用于构建ESP32编译环境的Arduino IDE软件
ESP32 Arduino教程:FreeRTOS队列性能测试
ESP32 RFID教程:打印MFRC522固件版本
ESP32 Picoweb教程:获取请求的HTTP方法
……

还有更多教程: ESP32教程 合集

英文版 :ESP32 tutorial合集

你可能感兴趣的:(ESP32/ESP8266,MicroPython,【100例】ESP32,/,ESP8266,MicroPython系列教程)