无法在MicroPython上导入机器模块

时间:2018-08-01 14:03:13

标签: python esp8266 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()

3 个答案:

答案 0 :(得分:1)

它的工作原理如下(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.value(1)然后关闭,
从utime导入睡眠,因为它是micropython而不是python,
您的循环公式也很糟糕,我在最后添加了 sleep(1)

答案 1 :(得分:0)

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

答案 2 :(得分:-1)

查看代码后,大部分时间将在esp8266的MicroPython控制台上运行。我在为esp8266编写的程序中找到了我必须先导入机器然后导入时间。

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

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

以我的经验,如果您以以下方式运行

from machine import Pin

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

其次,如果闪光灯不工作,将发生错误。您认为它已闪烁,但是会发生类似这样的错误错误。使用esptool安装程序以最新的稳定MicroPython刷新esp8266,如果以上操作无效,则应解决错误。我两个实例都为我工作。