良许Linux教程网 干货合集 MicroPython 玩转硬件系列3:上电自动执行程序

MicroPython 玩转硬件系列3:上电自动执行程序

1.引言

在之前的文章中,我们在ESP32上成功实现了LED灯的闪烁功能。然而,该功能需要手动在串口终端中执行代码。那么,我们是否可以在ESP32上电后自动执行代码呢?答案是肯定的!本文将介绍如何实现这个功能。

2.安装ampy

首先,让我们来了解一下ampy是什么,可以直接查看下面的官方介绍链接:

https://github.com/scientifichackers/ampy

Adafruit MicroPython Tool (ampy) 是一个通过串口连接与CircuitPython或MicroPython板通信的实用工具。

Ampy旨在成为一个简单的命令行工具,用于在串口连接上操作文件和运行代码。使用ampy,你可以将文件从计算机发送到板载文件系统,从板载文件系统下载文件到计算机,甚至将Python脚本发送到板上执行。

接下来,我们来安装ampy:

pip install adafruit-ampy -upgrade

image-20231016220133640
image-20231016220133640

3.ampy工具使用

前面的2篇文章,我们都是通过直接在Putty终端里写代码或者把Windows里写好的代码复制到Putty终端里执行的。有了ampy后,我们就不需要这么做了,我们可以先在Windows写好MicroPython程序,然后通过ampy工具直接运行程序。

第1步:在Windows里,写一个hello.py文件

print(“Hello World!”)

第2步:直接在DOS窗口里,通过ampy在板子上运行hello.py程序,执行:

ampy –port COM3 run led.py

image-20231016220136746
image-20231016220136746

注意:执行ampy指令前,你得确保串口没有被占用。

如果换成下方的led.py文件

from machine import Pin

import time

led=Pin(4,Pin.OUT)

while True:

led.on()

print(“LED on!”)

time.sleep(1.0) # Delay for 1 second.

led.off()

print(“LED off!”)

time.sleep(1.0) # Delay for 1 second.

执行:

ampy –port COM3 run led.py

我们看到led在不断闪烁了,但是并没有打印信息,这是什么原因呢?

image-20231016220140331
image-20231016220140331

没打印的原因:By default the run command will wait for the script to finish running on the board before printing its output.

因为代码里是一个while(1)循环,所以一直不会退出,所以也就不会打印了。

针对这种情况,我们可以使用下面的指令:

ampy –port COM3 run –no-output led.py

image-20231016220143391
image-20231016220143391

这样就不会一直停在那里了。同时我们打开PuTTY可以看到在这里一直有打印输出。

image-20231016220146544
image-20231016220146544

4.上电执行代码

通过以下3个步骤就可以实现上电自动执行代码了:

\1) 将led.py改名为main.py

\2) ampy –port COM3 put main.py

\3) 板子重新上电,就可以看到灯不停的闪烁了

如果需要删除掉main.py,只需要执行:

ampy –port COM3 rm main.py

上面的工作机理是,通过ampy把main.py导入到ESP32板子里,上电后会自动执行main.py。

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

137e00002230ad9f26e78-265x300
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部