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

liftword19小时前技术文章5

1.引言

上一篇:MicroPython 玩转硬件系列2:点灯实验 我们在ESP32上实现了LED灯的闪烁,但是有一个问题,该功能的实现需要我们在串口终端里去手动执行代码,可不可以让ESP32上电后自动执行代码呢?当然是可以的,本篇文章介绍如何实现该功能。

2.ampy安装

ampy是什么,大家直接看下方的官方介绍即可,

github.com/scientifichackers/ampy

Adafruit MicroPython Tool (ampy) - Utility to interact with a CircuitPython or MicroPython board over a serial connection.

Ampy is meant to be a simple command line tool to manipulate files and run code on a CircuitPython or MicroPython board over its serial connection. With ampy you can send files from your computer to the board's file system, download files from a board to your computer, and even send a Python script to a board to be executed.

安装方式:

pip install adafruit-ampy -upgrade

3.ampy工具使用

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

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

print("Hello World!")

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

ampy --port COM3 run led.py

注意:执行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在不断闪烁了,但是并没有打印信息,并且也没有退出,这是什么原因呢?

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

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

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

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

4.上电执行代码

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

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

2) ampy --port COM3 put main.py

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

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

ampy --port COM3 rm main.py

5.参考资料

digikey.com/en/maker/projects/micropython-basics-load-files-run-code/fb1fcedaf11e4547943abfdd8ad825ce

cirmall.com/bbs/thread-102620-1-1.html

相关文章

Python实现串口助手 - 03串口功能实现

 串口调试助手是最核心的当然是串口数据收发与显示的功能,pzh-py-com借助的是pySerial库实现串口收发功能,今天痞子衡为大家介绍pySerial是如何在pzh-py-com发挥功能的。一、...

齐安安小课堂 | 串口数据抓取以及串口数据模拟

各位同学们好,好久不见!齐安安小课堂又双叒叕开课啦~本期来讲讲在工控现场使用的设备中有哪些普遍存在又容易被忽视的安全隐患只有重视每一个小细节才能对工业安全做出更好的防护哦~引言在工控现场中,存在着几乎...

200行Python代码实现串口调试助手之联合调试

软件开发离不开调试,调试手段分两种:一是黑盒调试,即直接从输入 / 输出角度测试软件功能是否正常,这种方式仅能发现问题,但无法直接定位问题原因所在;二是白盒调试,即直接拿源代码在线 debug,pyt...

200行Python代码实现串口调试助手之环境搭建

在写 pzh-py-com 时需要先搭好开发和调试环境,下表列出了开发过程中会用到的所有软件/ 工具包:一、涉及工具列表二、开发环境搭建(Python + pySerial + wxPython +...

Python实现串口助手 - 02界面构建

今天给大家介绍的是串口调试工具pzh-py-com诞生之界面构建。  一个软件的UI界面是非常重要的,这是软件与用户交互的接口,软件功能即使再强大,但如果没有清晰的UI界面,那也发挥不出软件的功能,使...

CH9329双头线使用说明

目录1.介绍说明2.测试说明3.修改为ASCII模式(CH9328字符模式)常见问题解答:1.介绍说明CH9329双头线是集成了CH9329+CH340芯片的成品线,主要作用是使用主控电脑发送串口指令...