我正在使用 LuaLoader 在 NodeMCU 中编程。我正在尝试读取节点的 ADC 并将其发送到我公共域中的 PHP 文件。
使用下一个代码,我得到了 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 分钟的数据,但没有。