似乎无法在网上找到这个,所以我想我会在这里问。
我有多个ESP8266模块,我用于家庭安全系统。我当前的设置工作得非常好:我的采集服务器轮询我的ESP8266单元并询问他们当前的I / O状态(如果门打开或关闭)。我的系统每秒轮询一次我的3个ESP8266模块。我想更改我的设置以允许8266s保持本地警报(进行本地I / O检查),而我的系统每分钟只轮询一次。
我的问题是我在编程8266模块时无法检查自己的I / O状态并设置警报等,同时运行Web服务器以接收来自我的采集服务器的轮询请求。
我已经尝试了很多东西,但似乎无法让它发挥作用。这是我运行的示例测试,以查看是否可以使WHILE循环与服务器同时工作。
wifi.setmode(wifi.STATIONAP)
wifi.setmode(wifi.STATION)
wifi.sta.setip({ip="192.168.1.110",netmask="255.255.255.0",gateway="192.168.1.254"})
wifi.sta.config("someSSID","somePW")
srv=net.createServer(net.TCP)
someint = 5
a = 1
while a do
someint = someint + 1
srv:listen(8080,function(conn)
conn:on("receive", function(client,request)
client:send(someint);
client:close();
collectgarbage();
end)
end)
end
它没有预期的结果(响应从5,6,7增加等)我已经在我的WHILE循环中尝试了其他条件,例如"而真的是"等等,但似乎没什么用。
为了简单起见,我会问这个并从那里弄清楚...是否有某种方法可以使数字增加,同时还可以监听传入的连接?我不希望这个号码只在新连接进入后才会增加,我希望它在新连接进入之前永久增加,然后在连接关闭后继续。
如果你需要我详细说明,我很乐意。提前谢谢。