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

Разработка ‘библиотеки’ малого webсервера на esp8266.

pvvx

Активный участник сообщества
Не работает Pull Down у I/O пинов. Опять Espressif обманул и написал в include\eagle_soc.h для SDK, что работает :mad:. У меня он практически как Pull UP работает...

В новой версии всё добавлено для теста Pull UP + Pull Down + "Открытый коллектор" для управления в табличку GPIO....
 
Последнее редактирование:

lvm1976

New member
pvvx, при частом сохранении настроек память области настроек переполняется и тогда сохранение не происходит? или предусмотрен механизм перезаписи?
Код:
bool ICACHE_FLASH_ATTR flash_save_cfg(void *ptr, uint16 id, uint16 size)
 

pvvx

Активный участник сообщества
pvvx, при частом сохранении настроек память области настроек переполняется и тогда сохранение не происходит? или предусмотрен механизм перезаписи?
Код:
bool ICACHE_FLASH_ATTR flash_save_cfg(void *ptr, uint16 id, uint16 size)
Там три блока (сектора) и переносится последние данные (по id), с алгоритмом "пофиг отключение питание в любой момент".
Сложнее от туда удалить запись и этого не предусмотрено в коде :)
Всё это для уменьшения кол-ва итераций записи/стирания flash...
 
Последнее редактирование:

AnonymUser

New member
сервер может работать без жесткого прописания ip? чтоб что пользователь не ввел в адресной строке - выдавать ему то что нужно или - неправильный ип - кастомную страницу ошибки(не 404)
 

pvvx

Активный участник сообщества
В связи с реверсом старта SDK стало легче делать разные загрузчики для опроса датчиков.
Скопировал сюда, разные мои сообщения, "чтобы было в куче":
"Измерил предельную достижимую скорость загрузки специального "лоадера", после "ресета" (или deep-sleep) до начала опроса датчика:
StartBiosPvLoaderTime.gif
30 ms и уже идет опрос - шевелит портами с загруженного куска кода первого (не стандартного!) загрузчика из flash... WiFi выключен до второго загрузчика, который запустится если надо передавать, и весь процесс потребляет копейки.
Эти 30 ms говорят о том, что если требуется засыпание менее чем на 100 ms, то лучше отключить таймер и процессы и использовать внутреннюю команду sleep у CPU ( он в ней тоже жрет очень мало) для ожидания инициализации датчиков или между ожиданием результатов с них.
Но главное, что у данного загрузчика в доступе более 100 килобайт RAM, т.к. без SDK, а результаты замеров он пишет в RTC и в flash. Потом монстр SDK перешлет :) "

"Лоадером" можно грузить разные "прошивки" если стоит большая Flash. "Прошивку" WEB сервера при этом можно использовать для конфигурации модуля.
Стандартная загрузка c SDK WEB "свалки" занимает от 310 ms и где-то так-же, до 0.5 секунды получен ответ от dns и время с интернета уже у модуля, если он подключается к роутеру...
Т.е., если у нас не сервер, а передаем что-то, то к концу 1-ой секунды от старта уже может быть передано 500 килобайт и далее 1 мегабайт в секунду...
В итоге, если используем deep-sleep, то достаточно 1 секунды активности модуля для полной передачи накопленных состояний. Но, безусловно, всё зависит от удаленности сервера, пинга к нему. По тому и надо иметь распределенную сеть - на роутре должен быть хотя-бы аналог MQTT и никаких обращений к дальним IoT серверам модулем. Пусть этим занимается роутер - у него обычно ресурсов достаточно.
 

pvvx

Активный участник сообщества
Проблема со скоростью в Chrome решена. Китайцы установили по умолчанию nagle в LwIP. Скоро в новой версии...
Chrome2.gif
Но появилась новая, китайская - вылет по: lmac.c 599 при записи flash с HTTP. Опять вылезла, а они писали, что устранили :) :)
Наверно задержек навставляли, но теперь их в PvSDK не хватает...
Исправлю - закину новую версию.
Понижение частоты CLK CPU в момент записи flash и работы WiFi похоже спасает дело.
Но ошибка "lmac.c 599" и так не стабильная, не всегда вылетает. Пока оставлю патч на понижение CLK...
 
Последнее редактирование:

AnonymUser

New member
смотрел тему от начала...такие хорошие показатели скорости,но у меня(esp-01,память не расширенная) при замерах почему то не больше 60кб/с
а если картинка на странице (вес примерно 25кб) - она прогружается около 1-2сек
ну с картинкой могу предположить,что там отдельный запрос и оно притормаживает.. не критично, но общая скорость почему такая низкая?(
 

pvvx

Активный участник сообщества
смотрел тему от начала...такие хорошие показатели скорости,но у меня(esp-01,память не расширенная) при замерах почему то не больше 60кб/с
Это "вылечено" c ГуглХромом в текущей версии.
а если картинка на странице (вес примерно 25кб) - она прогружается около 1-2сек
ну с картинкой могу предположить,что там отдельный запрос и оно притормаживает.. не критично, но общая скорость почему такая низкая?(