无法在 MicroPython 上导入机器模块

Cannot import machine module on MicroPython

当使用 ESP8266 并通过 WebRepl 将文件发送到电路板时,我可以在直接向控制台输入时使用机器模块。但是,当我发送 Python 脚本将机器模块导入电路板并将其导入控制台时,运行 使用该模块的代码不会 运行。我可以访问其他模块和 运行 我已发送到开发板上的其他代码。此外,在编写 Python 脚本时,导入机器模块会出现错误。

谁能告诉我从 MicroPython 导入 machine 模块时我做错了什么?

from machine import Pin
from time import sleep
led = Pin(2, Pin.OUT)
for n in range(1,30):
    led.on()
    sleep(1)
    led.off()

在查看您的代码后,大部分时间都可以在 esp8266 上的 MicroPython 控制台上运行。我在为 esp8266 编写的程序中发现,我必须先导入机器,然后再导入时间。

import machine
import time
LED4.Pin(4, machine.Pin.OUT, value=0)

那应该运行,并将Pin 4的值设置为0或低。您会注意到我没有使用 from machine import Pin。

根据我的经验,如果你运行它是

from machine import Pin

程序无法正常运行,我不记得错误了,只是它没有 运行。

其次,如果闪光灯不工作,就会出现错误。你以为是闪现了,但是会出现这样的错误错误。使用 esptool install 用最新稳定的 MicroPython 刷入 esp8266,如果上述方法不起作用,它应该可以解决错误。我已经让这两个实例为我工作。

它是这样工作的(ESP8266,Nodemcu):

from machine import Pin
from utime import sleep
led = Pin(2, Pin.OUT) #GPIO2/D4
for n in range(1,30):
    led.value(0) #on
    sleep(1)
    led.value(1) #off
    sleep(1)


注意:

led.value(0) 正在打开 LED, led.value(1)然后关闭,
from utime import sleep 因为它是微型的python 而不是 python,
你的循环公式也不好,sleep(1) 是我在最后添加的

确保您尝试运行您的程序在 micropython 开发板上而不是在您的 PC 上。如果您使用的是 Thonny Python IDE,请转至 运行 > Select 解释器。然后选择micropython(ESP8266)和合适的端口。