目前淘宝上卖的10块钱左右的esp8266集成板,基本都是esp8266F,26M晶振,集成了4M Flash的版本。
板子自带一颗蓝色LED灯,但只有开机的时候闪一下,平时不亮,那么如何来控制它呢?网上似乎没有很明确的资料,经过一番搜索,总结如下:
其实这颗LED对应D2引脚,GPIO编号为4,所以想要控制它,可以通过如下方式(基于MicroPython,Lua又有点不一样,见后面):
from machine import Pin
p2=Pin(2,Pin.OUT)
p2.value(0)
或者:
p2.off() #p2.on()
通过拉低 p2 即可实现蓝色灯的点亮。
如果想实现现闪烁功能,虽然可以写个死循环,但这样一来串口就干不了其它的了。经过查找资料,可以用如下方法实现。
通过micropython的Timer来实现,代码如下:
import machine
from machine import Pin
p2=Pin(2,Pin.OUT)
p2.value(0)
timer = machine.Timer(0)
def timerHandler(timer):
p2.value(not p2.value())
timer.init(period=1000, mode=machine.Timer.PERIODIC, callback=timerHandler)
#停止:
#timer.deinit()
如果使用的是lua的话,这里又得注意了,这个GPIO得用它的实际GPIO编号4,而不是前面的D2,坑啊!
示例代码:
num=4
gpio.mode(num, gpio.OUTPUT)
print(gpio.read(num),"\n")
gpio.write(num, gpio.LOW)
print(gpio.read(num),"\n")
tmr.delay(1000000)
gpio.write(num, gpio.HIGH)
print(gpio.read(num),"\n")