Я программирую в NodeMCU с помощью LuaLoader. Я пытаюсь прочитать АЦП узла и отправить его в файл PHP в моем общедоступном домене.Lua alarm не выполняет код
Со следующим кодом я получаю ADC и IP-адрес узла и отправляю его через GET.
x = adc.read(0);
ip = wifi.sta.getip();
conn=net.createConnection(net.TCP, 0)
conn:on("receive", function(conn, payload) print(payload) end)
conn:connect(80,'example.com')
conn:send("GET /data.php?mdata="..x.."&ip="..ip.." HTTP/1.1\r\n")
conn:send("Host: example.com\r\n")
conn:send("Connection: keep-alive\r\nAccept: */*\r\n")
conn:send("User-Agent: Mozilla/4.0 (compatible; esp8266 Lua; Windows NT 5.1)\r\n")
conn:send("\r\n")
print ("Done")
Код работает правильно. Если я вставляю это в моем LuaLoader он вернется:
HTTP/1.1 200 OK
Date: Wed, 30 Sep 2015 02:47:51 GMT
Server: Apache
X-Powered-By: PHP/5.5.26
Content-Length: 0
Keep-Alive: timeout=2, max=100
Connection: Keep-Alive
Content-Type: text/html
Done
Однако я хочу повторить код внутри тревоги и отправлять данные, каждую минуту, но он не работает.
tmr.alarm(0, 60000, 1, function()
x = adc.read(0);
ip = wifi.sta.getip();
conn=net.createConnection(net.TCP, 0)
conn:on("receive", function(conn, payload) print(payload) end)
conn:connect(80,'example.com')
conn:send("GET /data.php?mdata="..x.."&ip="..ip.." HTTP/1.1\r\n")
conn:send("Host: example.com\r\n")
conn:send("Connection: keep-alive\r\nAccept: */*\r\n")
conn:send("User-Agent: Mozilla/4.0 (compatible; esp8266 Lua; Windows NT 5.1)\r\n")
conn:send("\r\n")
print ("Done")
end)
Выход только ...
Done
... без полезной нагрузки. Он не отправляет данные.
Я попытался поместить код в функцию, в другой файл, и вызвал его на будильник с dotfile, но он не работает. Я попытался дать ему больше времени, чтобы отправить данные, увеличивающие тревогу 2 минуты, но ничего.
Да, я попытался в последний момент изменить его на 0, но все еще с 1 в третьем аргументе, но он ничего не отправляет. – nihCC