• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Загрузить html файлы в esp8266 (nodemcu)

mishgan

Member
Есть ESP8266 devkit модуль. Подключен он к ардуино. И есть веб интерфейс на html + 2файла JavaScript = 220кБ.
Сейчас я открываю эти файлы лежащие на компьютере. Они обмениваются данными с ESP8266.
Можно ли сделать чтоб эти файлы лежали в памяти модуля и их от туда подгружать ?
 

mishgan

Member
Первое что пришло в голову . Набросал на работе
Код:
wifi.setmode(wifi.STATION)
wifi.sta.config("YOUR_NETWORK_NAME","YOUR_NETWORK_PASSWORD")
print(wifi.sta.getip())
srv=net.createServer(net.TCP)
srv:listen(80,function(conn)
    conn:on("receive", function(client,request)
        local buf = "";
        local _, _, method, path, vars = string.find(request, "([A-Z]+) (.+)?(.+) HTTP");
        if(method == nil)then
            _, _, method, path = string.find(request, "([A-Z]+) (.+) HTTP");
        end
        local _GET = {}
        if (vars ~= nil)then
            for k, v in string.gmatch(vars, "(%w+)=(%w+)&*") do
                _GET[k] = v
            end
        end
if (path=="index.html") then

    if (file.open("index.html", "r")) then
    client:send(file.read());
    file.close()
end

end

        client:close();
        collectgarbage();
    end)
end)
 

SAT

New member
Привет! Я проверял пример отсюда http://www.esp8266.com/viewtopic.php?f=19&t=1549 работает . Не смог проверить максимальный размер файла который можно вывести у меня флэш ужасная пока залью бывает 2-3 раза сбойнет.
Парни подскажите пожалуйста как организовать из этого сервера вывод данных в другие модули . Я вижу данные в терминале пример:GET 192.168.4.11/ SSID=123455&Password=4567 а добраться не знаю как.
 

Tomahawk

New member
nodemcu не умеет рисовать htm-файлы больше 3 кб, и переменных на странице вы сможете отобразить не более 6-7 примерно. Ресурсы в этой горе-поделке тратятся впустую, поэтому нормальный веб-сервер поместить в esp через nodemcu нельзя, даже учитывая правильность написания с точки зрения lua-кода.
 

SAT

New member
Сегодня пробовал выводить текстовый файл 42 кб . все передано корректно . Скорость передачи низкая. после передачи 20 кб заметно проседает видимо памяти недостаточно. html передает нормально правда размер 4-8 кб .
Подытожу : Для начального уровня можно использовать данный пример.
Tomahawk я с Вами полностью согласен по nodemcu . Но самое что меня раздражает это непредсказуемая непредсказуемость . Как то так .
 

SkyRzn

New member
Большие файлы у меня отдавать получается. Если интересно, можно здесь посмотреть.
А никто не сталкивался с проблемой, что иногда секунд по десять сервер на запрос отвечает? Причем запрос очень легкий. При этом иногда работает быстро - несколько килобайт грузится за секунду (не из кеша, в консоли вижу, что приходит запрос и выдается ответ).
В чем может быть проблема, как решить?
 

SAT

New member
local r = file.read(1400); я не ставлю больше 1024 тк у меня больше не читает за 1 заход буфер мал, 1024 ставлю по умолчанию. По "задумчивости" не знаю запрос запросу рознь.
 

SkyRzn

New member
local r = file.read(1400); я не ставлю больше 1024 тк у меня больше не читает за 1 заход буфер мал, 1024 ставлю по умолчанию. По "задумчивости" не знаю запрос запросу рознь.
Запросы двух типов: загрузка основной страницы и передача параметров модулю. И то, и другое иногда работает очень быстро, а иногда замирает секунд до десяти. Причем, это время между отправкой запроса и срабатыванием события
Код:
conn:on("receive", recv)
 
Последнее редактирование:

pvvx

Активный участник сообщества
Но там требуется правильно писать обращение к tcp сокету.... и глючные исходники модулей с tcp от NodeMCU-шников не переделаны, т.к. тогда получиться полная несовместимость - NodeMCU должна иметь тысячи ошибок :)
Да и NodeMCU мертворожденное направление. Поддержка этого направления окончена, в связи с неперспективностью дальнейшего развития Lua на ESP8266. А так-же всех проектов содержащих spiffs. Spiffs не годится для работы с HTTP и прочими проектами из-за своего тормоза. Открытие файла и запись там занимает несколько секунд, когда диск заполнен более половины или он большого размера (> 512 к)
 
Последнее редактирование:

SkyRzn

New member
Но там требуется правильно писать обращение к tcp сокету.... и глючные исходники модулей с tcp от NodeMCU-шников не переделаны, т.к. тогда получиться полная несовместимость - NodeMCU должна иметь тысячи ошибок :)
Да и NodeMCU мертворожденное направление. Поддержка этого направления окончена, в связи с неперспективностью дальнейшего развития Lua на ESP8266.
Ну, не знаю. Что-то простое гораздо удобней отлаживать на Lua. Не забрасывайте EspLua. =)
 

SAT

New member
PVVX хочу Вас поблагодарить за EspLua.ru 1.4.0 build 20150922 и сказать спасибо!.
 

SAT

New member
Не смотря на то что Вы ее не довели до финала как хотели я считаю что на данный момент это лучший вариант . Огромный плюс это память! Нет бешеных утечек как в 0.9.6 я там ее считал "расходным материалом". Как говориться Москва тоже не сразу строилась.
 

pvvx

Активный участник сообщества
Не смотря на то что Вы ее не довели до финала как хотели я считаю что на данный момент это лучший вариант . Огромный плюс это память! Нет бешеных утечек как в 0.9.6 я там ее считал "расходным материалом". Как говориться Москва тоже не сразу строилась.
Espruino победит NodeMCU. ИМХО. Но там тоже сейчас уже навязывают spiffs к реализации на ESP8266. Если он и там прорастет, то и Espruino загнется как и
Sming, smart.js, NodeMCU, ZBasic и многое другое. Хотя там пока есть выбор - поддержка FAT и других файловых систем...
ESP8266 требуется нормальная своя файловая система для его flash. Многие нормальные фс либо коммерческие, либо имеют не ту лицензию...
 
Последнее редактирование:

SAT

New member
Да в таком "марафоне" не все стартующие дойдут до финиша. Да и не факт что дойдут лучшие. Ну это лирика.
Я вот размышлял по поводу дрыганья ногами при старте ESP и не могу понять это нерадивость разработчика или намеренно полуфабрикаты продают. Для меня это как ложка дегтя в бочке меда.
PVVX Вы не оставляйте по возможности NodeMCU если поддержку его авторы прекратили пусть в их проекте достойная точка будет поставлена Вами.
 
Сверху Снизу