Скрыть объявление
На нашем форуме недоступен просмотр изображений для неавторизованных пользователей. Если Вы уже зарегистрированы на нашем форуме, то можете войти. Если у Вас еще нет аккаунта, мы будем рады, если Вы к нам присоединитесь. Зарегистрироваться Вы можете здесь.

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

Тема в разделе "SDK и создание собственных прошивок", создана пользователем pvvx, 3 янв 2015.

  1. Algis

    Algis Читатель

    Сообщения:
    36
    Симпатии:
    7
    Если будете делать изменения в веб файлах, предупредите пожалуйста в каких местах...
    так как я вчера начал приводить все в порядок.

    Надеюсь в течении нескольких дней закончить первую версию.
     
  2. windalser

    windalser Новичок

    Сообщения:
    64
    Симпатии:
    4
    Попробовал. Все равно не удалось сменить Auth Mode на не OPEN.
     
  3. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    9.352
    Симпатии:
    1.320
    Пробовал на компе и на телефоне - меняет. Бывают проблемы на компе в win7 - она запоминает названия SSID и надо стирать или менять профили в "Управление беспроводными сетями", если на одно имя станции хотите иметь разное Auth. Там почему-то может быть всего два профиля на одно имя SSID - один на OPEN + один с шифрованием. Иначе, при смене шифрования - менять или стирать старый профиль...
    PS: Ошибки в SDK я описывать больше не буду - пусть Espressif сам думает. С установками WiFi там серьезные ошибки в SDK 0.9.6 b1.
     
    Последнее редактирование: 17 мар 2015
  4. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    9.352
    Симпатии:
    1.320
    А принимать модуль не должен? Измерения показывают, что чем тише обстановка в эфире WiFi, тем меньше потребление. Это говорит о том, что модуль обрабатывает все принимаемые сообщения по своему каналу и анализирует - ему или нет.
    Плюс сама SDK - в ней есть LwIP и прочие либы - для них запущены таймеры и идет постоянный выход CPU из режима idle на обработку всякого...
    2 mA - это возможно на ноге питания передатчика WiFi, но не всего чипа... :)
    Ещё невооруженным взглядом видно, что при flash GD25Q40 идут большие пички по току при её кешировании, чем при W25Q128FV. И эти "импульсы" длиннее, чем при W25Q128FV.
    Всех подтяжек для определения типа BOOT я ещё не встречал ни на одном модуле. От этого задаются разные режимы работы QSPI с flash. Если каждый раз внимательно смотреть что пишет BIOS при старте на 74880 Baud, то имеем разные типы в зависимости от погоды. На некоторых модулях происходит загрузка то на SDIO HighSpeed V2 IO, то в режиме SDIO LowSpeed V1 IO. Скорость HighSpeed или LowSpeed после загрузки первых сегментов flash исправляется на указанную в заголовке Flash, а вот режимы V1 или V2 работы SPI - не помню и не копал...
    Короче пока не ясно с чем связано то, что с W25Q128FV чип работает быстрее, но W25Q128FV имеет команду "Burst with Wrap”:
    C функцией Wrap приложения, которые используют кэш, заполняют кэш фиксированной длиной (8/16/32/64-байт) данных из Flash без выдачи многократных команд чтения...
     
    Последнее редактирование: 17 мар 2015
  5. windalser

    windalser Новичок

    Сообщения:
    64
    Симпатии:
    4
    Насколько я знаю, у них там около 70 программистов в Шанхае занимается ПО. Если бы им подкинуть идеи, как улучшить, что сделать для улучшения ПО, в каком направлении копать, они бы прислушались.
    Конечно, у нас маловато открытой информации, чтобы давать дельные рекомендации..

    Думаю, модуль в режиме light sleep в ждущем режиме работает импульсно, синхронно с широковещательными посылками, которые следуют с DTIM интервалом (кратно 100 мс).
    Модуль просыпается, принимает широковещательную посылку, узнает есть ли для него пакеты, если есть - принимает их, делает, что требуется, нет пакетов - засыпает до момента следующей шикоровещательной посылки, выключая тактовую процессор и приемник (динамическая память, похоже, не портится..).
    Похожая техника применяется и в GSM модулях. Когда модуль может потреблять в среднем 1.5 мА и в то же время иметь возможность получения пакетов по GPRS.

    Пробовал модифицировать простейший пример - Hello World (на 0.9.5) - в нем только один таймер. Увеличил период таймера до 10 секунд. Включил явным образом режим STATION и light sleep.
    Соединился с офисной wifi AP.
    Все равно не увидел потребления менее 2 мА. (Правда чудо-осциллографа для измерения тока нету :) .

    Первый же график из http://bbs.espressif.com/viewtopic.php?f=7&t=171 показывает 1.5 мА (при DTIM3 - 300 мс интервале синхронизации). Вряд ли график нарисован от руки :)

    Как работает механизм кэша мне непонятен - раньше с таким не сталкивался. Если есть сслылка, где можно почитать - с удовольствием познакомлюсь.
    Как я понимаю, половина статической памяти используется без кеша, другая - с кешом.. так ли это?
    ----------------------
    https://github.com/EspressifSystems/low_power_voltage_measurement - недавно появился у них пример, использующий sleep режимы, и вики есть https://github.com/EspressifSystems/low_power_voltage_measurement/wiki . Правда, все крутится вокруг deep sleep , с которым и так все более-менее понятно.
     
  6. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    9.352
    Симпатии:
    1.320
    На счет половины или четверти встроенной памяти сказать сложно - не разбирался.
    Механизм кеширования (чтения flash кусками в память перед исполнением) нигде не описан. SPI имеет массу аппаратных наворотов для обслуживания в полу-программно-аппаратном режиме чтения и даже запись в flash... Мне известно только несколько багов этой связки. Один из них - длинное, непрерывное чтение блока более 2-х килобайт области flash в RAM, безусловно при исполнении только из RAM (IRAM в данном случае) вызывает "протектед". Четко указать максимальную длину невозможно, т.к. существуют ещё кратности (некие границы) с связанные с адресом. Про то, что запрос должен быть выравнен на кратность адреса 4-м и так всем известно.
    70 бездельников ? :eek: Тогда они вообще пали в моем представлении до дестадовского уровня.
    В их прошивках наблюдается два типа - один написан более менее и сложные вещи (но с частичной абстракцией от аппаратуры - наверно тот программер плохо врубается в hard), а всё остальное дописано вокруг и полностью безграмотно, да кое как и с конфликтами. Хуже студента, впервые осваивающего программирование на МК... После указания ошибок получали вписанный кое как кусок патча, без заботы об остальном. По этому обращаться к ним не стоит - испортят и то, что пока работает и украдено из open-source.
    Если посмотреть, когда была проделана хоть какая-то работа по прошивке - то это когда Espressif проходил сертификацию чипа (это перед выходом 0.9.5). Теперь он её имеет и что-то делать далее у них мотивов нет.
    PS: я вообще не "программист", только частично...
     
    Последнее редактирование: 18 мар 2015
    redzub нравится это.
  7. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    9.352
    Симпатии:
    1.320
    Качественных изменений пока не будет. Было исправление ошибок, т.к. переменные сменили разделители c '.' на '_' и не везде сменил (проглядел). Когда набросаете первую версию, всё равно придется проверять и если что - подправлю, а далее синхронизнемся...
     
  8. Algis

    Algis Читатель

    Сообщения:
    36
    Симпатии:
    7
    Прикрепляю промежуточную WEBFiles версию, остались непереработанные vdd.htm, test.htm и js файлы,
    инициализацию форм переделал через общую функцию setFormValues(), таймер перезагрузки на reloadTimer.reload(), работоспособность форм проверял но не полностью.
    Посмотрите, напишите свои замечания.
     

    Вложения:

    • WEBFiles.zip
      Размер файла:
      33 КБ
      Просмотров:
      20
    pvvx нравится это.
  9. CHERTS

    CHERTS Moderator Команда форума

    Сообщения:
    483
    Симпатии:
    108
    Коллеги, pvvx, а не проще ли выложить данный проект на github и можно было бы вести коллективную разработку? Или проще перекидываться файлами через форум?
     
  10. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    9.352
    Симпатии:
    1.320
    А вы заметьте - это всего первое "перекидывание" и то предварительной версии, которую ещё надо адаптировать :)
    Данная "свалка" не какой-то конкретный проект и при github будет возникать множество противоречий, т.к. у него нет конкретных целей и соответственно нет их решений, а так-же постоянно делаю всякие тестовые вставки, которые потом могут быть вообще удалены из-за ненадобности.
    Сформируется TCP2UART проект - его можно и выложить в github. Там почти всё однозначно и уже возможно коррекция в github.
    Всё очень хорошо. Большое Спасибо. Это тестовая версия и оставьте народу на "поиграться" - т.е. всё переделывать там не обязательно. Уже включил в "свалку".
    Наиболее необходимо переделать WEBFilesTCP2UART и желательно на русском языке - он для тех, кто не умеет редактировать СИ и HTML. Туда ещё необходим Help :(.
     
    Последнее редактирование: 19 мар 2015
    Algis нравится это.
  11. Algis

    Algis Читатель

    Сообщения:
    36
    Симпатии:
    7
    Очень приятно что вам понравилось, что удалось не только взять, но и кое-что дать сообществу :)
    Хорошо, переделаю в течении ближайших дней.
     
  12. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    9.352
    Симпатии:
    1.320
    Полезли глюки на SDK0.9.6(b1) - после непродолжительного не обращения к ESP8266, если начинать закатывать новый диск, выскакивает: lmac.c 599 - это что-то крушится в закрытой части SDK... :(
    Всё - переехал обратно на SDK 0.9.5, т.к. SDK 0.9.6 beta 1 слишком глючная в плане работы с WiFi (конкретно указывать не буду, но ошибок много - пусть Espressif сам думает или платит открытыми исходниками :) ) и надоело с этим бороться. На SDK 0.9.5 работает и + памяти больше. Счас откачу свалку обратно на SDK 0.9.5.
    Чем дальше - тем больше багов у Espressif, а кто-то говорил, что их исправляют и исправят - ждите :) :) :)
     
    Последнее редактирование: 19 мар 2015
  13. Algis

    Algis Читатель

    Сообщения:
    36
    Симпатии:
    7
    Пожалуйста: WEBFilesTCP2UART,
    насчет поддержки языков посмотрю после выходных.
     

    Вложения:

  14. -=Alx=-

    -=Alx=- Новичок

    Сообщения:
    3
    Симпатии:
    0
    Algis, Если будете ещё переделывать - просьба выделить верх файлов включая меню в отдельный файл, так-же и с нижней частью. Это позволит проще дорабатывать внешний вид и компоновку. желательно назвать header.inc и footer.inc
    pvvx, предложение - что если принять следующие правила:
    файл начинается с точки - скрытый, только подключение в другой (include) или служебный (например конфиг)
    файл начинается с "_" - защищенный, то же что сейчас папка protected
     
  15. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    9.352
    Симпатии:
    1.320
    Ещё раз Спасибо. Счас слеплю...
     
  16. Algis

    Algis Читатель

    Сообщения:
    36
    Симпатии:
    7
    низ - да, верх - там разные title, не хочется на более мелкие кусочки резать...
     
  17. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    9.352
    Симпатии:
    1.320
    Уже в серии c footer.inc и мелкими поправками (изменились имена пару переменных) :)
    У многих же главная задача - переписать (с) на свой, а без общего одного файла - это сложно, т.к. надо править дцать файлов :)
    Для смартфонов адаптировать как лучше, чтобы само разворачивалось на весь экран?
    IMG_5563sm.jpg
     
    Последнее редактирование: 20 мар 2015
  18. -=Alx=-

    -=Alx=- Новичок

    Сообщения:
    3
    Симпатии:
    0
    Из важного и разного для разных страниц там только таки title, да и тот на уровне как будет называться вкладка в браузере. Скрипты особенно нужные только на одной странице не так уж обязательно в head писать.
    Как вариант - мне больше © нравится чем (с). :)
    Если делать изначально для смартфонов то вопрос скорее - как будет разворачиваться не на смартфонах.
    Вложил мои пробы.
    Скелетон - плюс размер и сетка. Минус ничего готового - всё верстать отдельно.
    Бутстрап - Плюсы что есть готовые решения почти под все элементы интерфейса и размеры экрана. минусы - размер gz только css 15kb плюс jquery плюс их скрипт. Выходит под 100 кб. пока что планирую его как основной вариант. Максимально упрощенная версия в комплекте и подключение тяжелых файлов с CDN если есть интернет.
     

    Вложения:

    • test.zip
      Размер файла:
      269,2 КБ
      Просмотров:
      14
  19. Algis

    Algis Читатель

    Сообщения:
    36
    Симпатии:
    7
    Самый простой способ - в некоторых пределах ширину сделать "резиновой",
    например если в style.css поменять

    width:530px;

    на

    min-width:530px;
    max-width:800px;
     
    Последнее редактирование: 20 мар 2015
  20. Algis

    Algis Читатель

    Сообщения:
    36
    Симпатии:
    7
    по моему скромному мнению неоправданно сложное и обьемное решение для такого простого проекта... :)
     

Поделиться этой страницей