完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
您好,我正在构建 wifi 灯开关以与 OpenRemote IoT 智能家居一起使用。每个电灯开关都有一个用于就地操作的手动开关。我能找到的唯一方法是通过中断将灯光更改为相反的状态。使用 ESPlorer 并从片段运行程序一切正常。当我将它复制到脚本文件并将其保存到光盘或加载并运行它时,中断根本不起作用。我尝试了很多变体,但结果总是一样。
-- init.lua -- --Wifi Remote light on/off switch with local switch --for use with Openremote -------------------------- ---------------------- 全局变量(为您的网络修改) -------------- ---------------------------------- ssid = "*********" pass = "***************" port=2323--为每个ESP 灯设置端口=3 --GPIO0 开关= 4 --GPIO2 lightstate="off" sw=0 inInt=false -- 配置无线网络 wifi.setmode(wifi.STAtiON) print('set mode=STATION (mode='..wifi.getmode()..') \n') print('MAC地址:',wifi.sta.getmac()) print('芯片ID:',node.chipid()) print('堆大小:',node.heap(),'\ n') -- wifi 配置开始 wifi.sta.config(ssid,pass) -- wifi 配置结束 ---GPIO 设置--- -------------- gpio.mode (光,gpio.OUTPUT) gpio.write(光,gpio。HIGH)-- high = off ----- mode & trig for interrupt by manual switch-- gpio.mode(switch,gpio.INT) gpio.trig(switch, "both",swINT) -- 创建一个服务器 -- 非活动客户端超时 10s sv=net.createServer(net.TCP, 10) --服务器监听端口, sv:listen(port,function(conn) conn:on("receive", function(conn, pl) if string.find(pl,"on") then print(pl) gpio.write(light , gpio.LOW) lightstate="on" end if string.find(pl,"off") then print(pl) gpio.write(light, gpio.HIGH) lightstate="off" end if string.find(pl, “sen”)然后 连接:发送(lightstate) 结束 end) end) ---interrupt function ------inInt 确保中断不被中断 ----------timer to cover contact bounce swINT(level) if inInt then return else inInt=true end tmr.delay (10000) if (lightstate=="on") then gpio.write(light, gpio.HIGH) lightstate="off" else gpio.write(light, gpio.LOW) lightstate="on" end inInt=false end |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
1106 浏览 1 评论
574浏览 6评论
477浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
460浏览 5评论
461浏览 4评论
435浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-18 13:04 , Processed in 0.803846 second(s), Total 73, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号