【发布时间】:2017-05-21 15:28:09
【问题描述】:
我刚开始使用带有 Lua 的 NodeMCU。首先,我正在尝试使用 NodeMCU 作为 UDP 服务器制作一个简单的 wifi 控制中继。问题是,运行了几个小时后,我无法连接到电路板。我尝试使用 ping 命令 ping 板,但没有得到响应。如果我重新启动电路板,它会再次工作。任何想法为什么?谢谢。
这是我的 Lua 脚本:
pin_relay = 1
port = 1310
state = 0
gpio.mode(pin_relay, gpio.OUTPUT)
gpio.write(pin_relay, gpio.HIGH)
wifi.setmode(wifi.STATION)
wifi.sta.config("SSID", "password")
wifi.sta.connect()
wifi.sta.setip({ip="192.168.1.200",netmask="255.255.255.0",gateway="192.168.1.1"})
print("ESP8266 mode is: " .. wifi.getmode())
print("The module MAC address is: " .. wifi.ap.getmac())
print("Config done, IP is "..wifi.sta.getip())
srv=net.createServer(net.UDP)
srv:on("receive", function(srv, pl)
if pl=="switch" then
if state == 0 then
gpio.write(pin_relay,gpio.LOW)
state = 1
elseif state == 1 then
gpio.write(pin_relay,gpio.HIGH)
state = 0
end
end
end)
srv:listen(port)
【问题讨论】:
-
您使用的是什么版本的 NodeMCU?你从哪里得到的,在哪个分支?
-
可以每隔几个小时重新启动一次吗? “重新启动”应该只需要几毫秒。锁存继电器或外部触发器(1 位状态)将在此期间防止继电器中断。可以用555芯片当触发器...
-
@AdamB 我使用的是 0.96 dev float 版本
-
@dandavis hhmm 这可能有用.. 但我不喜欢每次都重新启动它:)。谢谢你的建议
-
0.96 非常旧,其中有一些可能导致死锁的错误。尝试从 nodemcu-build.com 构建新版本,看看是否有帮助