2018-12-11 14:25:11 [显示全部楼层]
6207浏览
查看: 6207|回复: 2

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

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

步骤
首先,创建一个MicroPython脚本并上传到我们的ESP设备。该脚本很简单,我们只需创建一个echo函数来接收一些充当输入参数的内容并将其打印出来。

我们还将打印一条简单的消息,以表明文件定义的函数和Python中的其他函数均可正常调用。文件脚本如下所示。
  1. def echo(content):print (content)
  2. print("Running a script from the file system!")
  3. echo("Invoking a function")
复制代码

以.py为扩展名将文件保存在你选择的目录中。你可以依你所好为其命名,但在本教程中,我们将其命名为script.py。

现在,通过ampy(https://github.com/adafruit/ampy)将文件上传到ESP8266 / ESP32。要完成此步骤,只需打开命令行,导航到文件所在的文件夹,然后点击如下所示的命令。欲详细了解如何使用ampy上传文件,请参阅此帖: ESP32/ESP8266 MicroPython教程:将文件上传到文件系统
  1. ampy --port COM5 put script.py
复制代码
请注意,你需要将COM5替换为你设备所在的串行端口。此外,如果你使用的是别的文件名,那么不要忘了做相应更改。预期结果如图1所示。

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

现在,我们需要连接到MicroPython提示符来发送一些命令。我使用的是Putty(http://www.putty.org/),但你可以选用其他软件。建立连接后,我们将确认文件系统中存有该文件。
  1. import os
  2. os.listdir()
复制代码
不出所料,script.py已存入文件系统,如图2所示。

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

最后,直接导入脚本即可使其运行,因为该脚本的运行方式与常规的Python模块相同。导入脚本后,将执行所有可执行语句并启用已定义的函数。
  1. import script
  2. script.echo("Running the imported function")
复制代码
如图3所示,导入模块后,我们会从先前定义的可执行语句中获取输出结果。另请注意,重复导入不会再次执行这些语句。然后我们可以通过调用filename.functionName来访问文件中已定义的函数。

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

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

gada888  版主

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

好教程
回复

使用道具 举报

laai  初级技师

发表于 2020-4-19 12:11:09

似懂非懂,还是得亲自走一遍才行
回复

使用道具 举报

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

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

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

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

mail