ESP32/ESP8266 MicroPython教程:将文件上传到文件系统-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4097|回复: 0

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

[复制链接]
发表于 2019-5-27 14:10 | 显示全部楼层 |阅读模式
本帖最后由 dfrobot 于 2019-5-24 22:19 编辑

简介

本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端口,即可上传文件。

[mw_shl_code=applescript,true]ampy --port COM5 put test.txt[/mw_shl_code]




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

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


esp32-esp8266-micropython-upload-file-with-ampy1.png



图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),该函数会返回当前文件夹下的所有文件。

[mw_shl_code=applescript,true]import os
os.listdir()[/mw_shl_code]



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

2esp32-esp8266-micropython-list-files-from-a-directory.png



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




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

[mw_shl_code=applescript,true]file = open("test.txt", "r")
file.read()
file.close()[/mw_shl_code]




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


3esp2-esp8266-micropython-reading-content-from-file.png



图3 - 读取先前上传的文件。


注:本文作者是Nuno Santos,他是一位和蔼可亲的电子和计算机工程师,住在葡萄牙里斯本 (Lisbon)。
他写了很多有关ESP32、ESP8266的有用的教程和项目。

查看更多ESP32/ESP8266教程和项目,请点击 : ESP32教程汇总贴
英文版教程 : ESP32 tutorial




您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-1 01:13 , Processed in 0.106206 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表