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

Нужна помощь Проблемы с локальным вебсервером.

Cadil

New member
Собрал термометр на DS18B20+ESP8266. Залитые в ESP8266 скрипты Lua читают и отправляют информацию с термодатчика на локальный веб сервер по такому скрипту:
Код:
gpio = 4
require('ds18b20')
ds18b20.setup(gpio)
function sendData()
t=ds18b20.read()
print("Temp:"..t.." C\n")
-- connection to SERVER
wifi.setmode(wifi.STATION)
wifi.sta.config("VB","EG4P5BMHTQ")
print(wifi.sta.getip())
srv=net.createServer(net.TCP)
srv:listen(80,function(conn)
conn:on("receive",function(conn,payload)
print(payload)
-- conn:send("<h1> test_2 </h1>")
conn:send("<h1>Температура: "..t.." </h1>")
conn:close()
end)
end)
end
-- send data every 60000 ms to thing speak
tmr.alarm(0, 30000, 1, function() sendData() end )
Код успешно компилируется - IP-адрес, температура отображаются в окне ESPlorer'a.
А вот с веб браузером - проблемы. При подключении к IP-адресу - "Попытка соединения не удалась" или - "Время ожидания истекло". Ели нажимать кнопку браузера ОБНОВИТЬ, то температура иногда выводится.
Как решить эту проблему. Помогите подправить скрипт. Заранее благодарю за помощь.
Еще уточнение. Сообщение ESPlorer'a:
PANIC: unprotected error in call to Lua API (init.lua:12: only one tcp server allowed)
Хотя команда стандартная - srv=net.createServer(net.TCP)
 
Последнее редактирование:
Сверху Снизу