查看: 537|回复: 1

[基础教程] ESP32 / ESP8266 MicroPython教程:从文件系统运行脚本

[复制链接]


介绍
本文的目的是解释如何从 micropython 的文件系统运行脚本。这在 esp32 和 esp8266 上都进行了测试。此处显示的打印件取自使用esp32执行的测试。
请注意, 这将不同于前面的教程:ESP32 / ESP8266 MicroPython教程:从计算机运行脚本在这篇教程的情况下, 脚本将位于 micropython 的文件系统中。
当然, 这对我们能够执行 python 代码非常有用, 而无需在提示上重复命令。
本教程假定以前安装了对所使用设备的 micropython 支持 (esp32 和/或 esp8266), 以及以前在主机上安装的 python 和ampy软件 。此处显示的所有过程都在 windows 8 上进行了测试。

步骤
首先,创建一个MicroPython脚本并上传到我们的ESP设备。该脚本很简单,我们只需创建一个echo函数来接收一些充当输入参数的内容并将其打印出来。
我们还将打印一条简单的消息,以表明文件定义的函数和Python中的其他函数均可正常调用。文件脚本如下所示。

[AppleScript] 纯文本查看 复制代码
def echo(content):
print (content)
print("Running a script from the file system!")
echo("Invoking a function")

.py为扩展名将文件保存在你选择的目录中。你可以依你所好为其命名,但在本教程中,我们将其命名为script.py
现在,通过ampyhttps://github.com/adafruit/ampy将文件上传到ESP8266 / ESP32。要完成此步骤,只需打开命令行,导航到文件所在的文件夹,然后点击如下所示的命令。欲详细了解如何使用ampy上传文件,请参阅此帖: ESP32/ESP8266 MicroPython教程:将文件上传到文件系统

[AppleScript] 纯文本查看 复制代码
 

ampy --port COM5 put script.py

 

请注意,你需要将COM5替换为你设备所在的串行端口。此外,如果你使用的是别的文件名,那么不要忘了做相应更改。预期结果如图1所示。


esp32-esp8266-micropython-upload-file-with-ampy.png
图1 – 用ampy上传脚本文件


现在,我们需要连接到MicroPython提示符来发送一些命令。我使用的是Putty(http://www.putty.org/,但你可以选用其他软件。建立连接后,我们将确认文件系统中存有该文件。

[AppleScript] 纯文本查看 复制代码
import os

os.listdir()

 

不出所料,script.py已存入文件系统,如图2所示。


esp8266-esp32-micropython-list-directory-files.png
图2 – 列出文件系统当前目录中的文件。

最后,直接导入脚本即可使其运行,因为该脚本的运行方式与常规的Python模块相同。导入脚本后,将执行所有可执行语句并启用已定义的函数。

[AppleScript] 纯文本查看 复制代码
import script

script.echo("Running the imported function")


如图3所示,导入模块后,我们会从先前定义的可执行语句中获取输出结果。另请注意,重复导入不会再次执行这些语句。然后我们可以通过调用filename.functionName来访问文件中已定义的函数。


esp32-esp8266-importing-micropython-module.png
图3 – 导入脚本文件。


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


gada888  版主

发表于 2018-12-12 11:41:07

好教程
回复 支持 反对

使用道具 举报

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

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
wifi气象站

硬件清单

btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2019 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail