ESP8266基于Lua开发点灯示例

ESP8266基于Lua开发点灯示例


  • ✨基于ESPlorer IDEhttps://github.com/4refr0nt/ESPlorer/releases
  • 🔧固件烧录工具:NodeMCU-PyFlasher
  • 🌿esp8266烧录工具下载:https://github.com/marcelstoer/nodemcu-pyflasher/releases/tag/v5.0.0

注意事项

  • ✨运行ESPlorer IDE是基于安装了JDK环境。

🛠在线生成固件

  • 📍固件生成网址:https://nodemcu-build.com/
    在这里插入图片描述
  • 🌿根据需求选择对应的组件:(这个和合宙的Lua云编译类似)
    在这里插入图片描述
  • 🔖提交后,一般1-3分钟就可以完成云编译。
    在这里插入图片描述

在这里插入图片描述

  • 🌿会生成两个版本的固件:一个整数型的和一个浮点型的。(针对代码中的表达式能否使用浮点型数)
    在这里插入图片描述
  • 🌿使用NodeMCU-PyFlasher工具进行烧录
    在这里插入图片描述

ESPlorer IDE使用

  • 🌿运行ESPlorer
    在这里插入图片描述

  • 🌿esp8266连接电脑上,打开对应的串口号。
    在这里插入图片描述

  • 🌿Lua ESP8266引脚定义

-- GPIO0
gpio0 = 3

-- GPIO2
gpio2 = 4

-- GPIO4
gpio4 = 2

-- GPIO5
gpio5 = 1

-- GPIO9
gpio9 = 11

-- GPIO10
gpio10 = 12

-- GPIO12
gpio12 = 6

-- GPIO13
gpio13 = 7

-- GPIO14
gpio14 = 5

-- GPIO15
gpio15 = 8

📝点灯程序

  • ⚡需要注意的是这里的4号引脚对应的esp8266上面的GPIO2,也就是nodemcu上面的板子led灯。延时函数形参单位是微秒。
-- 设置D2为输出模式
pin = 4
gpio.mode(pin, gpio.OUTPUT,gpio.PULLUP)

-- 定义循环函数
local function blink()
  while true do
    gpio.write(pin, gpio.HIGH)
    tmr.delay(200000)
    gpio.write(pin, gpio.LOW)
    tmr.delay(200000)
  end
end

-- 开始循环
blink()
  • 📝状态翻转
-- 设置GPIO2为输出
gpio.mode(4, gpio.OUTPUT)
-- 闪烁函数
function blink()
  if gpio.read(4) == gpio.LOW then
    gpio.write(4, gpio.HIGH)
  else
    gpio.write(4, gpio.LOW)
  end
end

-- 每隔1秒翻转一次
local Ticker_timer = tmr.create()
Ticker_timer:alarm(1000, tmr.ALARM_AUTO, function() 
    blink()
end)
  • 📋利用定时器控制led闪烁程序
-- 设置D2为输出
gpio.mode(4, gpio.OUTPUT)

-- 闪烁函数
function blink()
  if gpio.read(4) == gpio.LOW then
    gpio.write(4, gpio.HIGH)
  else
    gpio.write(4, gpio.LOW)
  end
end

if not tmr.create():alarm(1000, tmr.ALARM_AUTO, function()
  print("hey there")
  blink()
end)
then
  print("whoopsie")
  blink()
end
- 🔰如果想让程序,一上电就自动运行,那么需要将程序名改为init.lua保存到esp8266内部即可实现通电自动开始从init.lua运行。

在这里插入图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值