• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе 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)
 
Последнее редактирование:
Сверху Снизу