烧录Lua脚本环境:
平时开发建议采用linux,版本 ubuntu 12.04 就可以,Window 10用户可以采用VirtualBox自行安装,或者购买我做好的Linux 启动U盘:)。
下面我们从一个简单的Hello world!开始全面的介绍一般开发环境和调试环境,代码编辑器,生产可以烧录的代码。是不是迫不及待了,哈哈!知识量有点多,不要担心慢慢来。
由于咱们写的代码是运行在Nodemcu小板子上,由小板子的大脑微控制中央处理器(简称mcu)来解释执行,板子上没有显示器但是有一个小灯(LED)可以被MCU控制,第一个“Hello world”程序,就是让我们的代码控制LED的点亮和熄灭。
好的,我们上代码
-- IO index ESP8266 pin
-- 0 [*] GPIO16
-- 1 GPIO5
-- 2 GPIO4
-- 3 GPIO0
-- 4 GPIO2
-- 5 GPIO14
-- 6 GPIO12
-- 7 GPIO13
-- 8 GPIO15
-- 9 GPIO3
-- 10 GPIO1
-- 11 GPIO9
-- 12 GPIO10
-----------------------------------------------------------------
-- 本次试验让你学会如何用lua来控制LED灯的亮灭,非常简单
-----------------------------------------------------------------
led_pin = 1 -- 把GPIO5 映射为LED pin
gpio.mode(led_pin, gpio.OUTPUT) -- 设置LED管脚为输出模式
gpio.write(led_pin, gpio.HIGH) -- led 灯亮
gpio.write(led_pin, gpio.LOW) -- led 灯灭
--循环10次交替闪烁
for i = 1, 10 do
gpio.write(led_pin, gpio.HIGH) -- 输出高电平
tmr.delay(1000) -- 延时1000毫秒
gpio.write(led_pin, gpio.LOW) -- 输出低电平
tmr.delay(1000) -- 延时1000毫秒
end
代码里面引入了两个lua外部模块(gpio,tmr),gpio负责驱动mcu的通用管脚,这个好理解,就是可以被我们代码控制的外部引脚(在mcu外面的金属手指),通过gpio方法写入“高”,“低”指令完成电平高低的输出。 tmr负责计时器,这里用到的delay指令来做延时,延时1000毫秒,这样你就可以看到可爱的小灯,间隔1秒一亮一灭。
网友评论