前言:
现时看官们对“python硬件信息”都比较着重,同学们都需要剖析一些“python硬件信息”的相关文章。那么小编也在网上收集了一些关于“python硬件信息””的相关知识,希望兄弟们能喜欢,小伙伴们快快来了解一下吧!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 Pinimport timeled=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硬件信息