• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Из консоли работает, из скрипта нет?

Дмытро

New member
Добный день.
Подскажите, может кто сталкивался.
init.lua конфигурирует точку доступа и запускает main.lua

Код:
-- main.lua

while true do

conn=net.createConnection(net.TCP, 0)
conn:on('receive', function(conn, payload) print(payload) end)
conn:connect(80,'91.228.146.11')
conn:send('GET /add.php?f1=1&f2=2&f3=3&f4=4&f5=5&f6=6 HTTP/1.1\r\n')
conn:send('Host: zzz.ho.ua\r\n')
conn:send('Accept: */*\r\n')
conn:send('User-Agent: Mozilla/4.0 (compatible; esp8266 Lua; Windows NT 5.1)\r\n')
conn:send('\r\n')

tmr.delay(5000000) --waiting 5 sec

end
Данные не отсылаются.

Если скопировать в снипет (ESlorer) и запустить оттуда руками, все работает, в чем проблема?
 
Последнее редактирование:

fandy

Member
Добный день.
Подскажите, может кто сталкивался.
init.lua конфигурирует точку доступа и запускает main.lua

Код:
-- main.lua

while true do

conn=net.createConnection(net.TCP, 0)
conn:on('receive', function(conn, payload) print(payload) end)
conn:connect(80,'91.228.146.11')
conn:send('GET /add.php?f1=1&f2=2&f3=3&f4=4&f5=5&f6=6 HTTP/1.1\r\n')
conn:send('Host: zzz.ho.ua\r\n')
conn:send('Accept: */*\r\n')
conn:send('User-Agent: Mozilla/4.0 (compatible; esp8266 Lua; Windows NT 5.1)\r\n')
conn:send('\r\n')

tmr.delay(5000000) --waiting 5 sec

end
Данные не отсылаются.

Если скопировать в снипет (ESlorer) и запустить оттуда руками, все работает, в чем проблема?
Удалось решить проблему? Я тоже наступил на эти грабли. Скрипт почти тот же:

parsedata = function (conn, payload)
print("DATA", payload)
end

wifi.setmode(wifi.STATION)
wifi.sta.config("ssid","pass")
vv = net.createConnection(net.TCP, 0)
vv: on("receive", parsedata)
vv: on("connection", function()
print("Connection")
vv:send("GET /0.html HTTP/1.1\r\nHost: 192.168.0.21\r\nConnection: keep-alive\r\nAccept: */*\r\n\r\n")
end )
vv:connect(80, "192.168.0.21")

В ESPlorer в режиме Send to ESP все живет, Save to ESP тишина.
 

fandy

Member
Вот и разобрался, ужас, но работает:

parsedata = function (conn, payload)
print("DATA", payload)
conn:close()
end

wifi.setmode(wifi.STATION)
wifi.sta.config("ssid","pass")

vv = net.createConnection(net.TCP, 0)
vv: on("receive", parsedata)
vv: on("connection", function()
vv:send("GET /0.html HTTP/1.1\r\nHost: 192.168.0.21\r\nConnection: keep-alive\r\nAccept: */*\r\n\r\n")
end )
tmr.alarm(0, 2000, 0, function() vv:connect(80, "192.168.0.21") end )
 

alfacom

New member
Скорее всего проблема заключалась в том, что WiFi не сразу коннектится.

Можно попробовать вот такой вариант:

Код:
wifi.setmode(wifi.STATION)
wifi.sta.config("ssid","pass")

tmr.alarm(1, 1000, tmr.ALARM_AUTO,  function()
    if(wifi.sta.getip() ~= nil)then
        tmr.unregister(1);
    end
end)
 
Последнее редактирование:
Сверху Снизу