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

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

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

  1. Sam_Arcanum

    Sam_Arcanum Новичок

    Сообщения:
    101
    Симпатии:
    0
    День добрый!
    скачал и установил UDK. установил python27.
    а вот проект собрать не смог - просит pyserial.
    вот только загвоздка - у меня сеть за файрволом и пип заблокирован. пусериал не установить.
    как отвязать сборку прошивки от пусериала или как установиь пусериал в обход pip?
     
  2. Andy Korg

    Andy Korg Moderator Команда форума

    Сообщения:
    416
    Симпатии:
    76
    отсюда:
     
    Sam_Arcanum нравится это.
  3. Sam_Arcanum

    Sam_Arcanum Новичок

    Сообщения:
    101
    Симпатии:
    0
    Почитал и приуныл. на ПК это не прокатит. ну и питон мне запретили ставить.
     
  4. Sam_Arcanum

    Sam_Arcanum Новичок

    Сообщения:
    101
    Симпатии:
    0
    Самуил Германович Арканум:
    почитал. понял что на работе это принциапиально не получится и сделал на ноуте.
    короч мои косяки я поправил:
    1) установил всё по инструкции + питон 27 + пу сериал
    2) скачал два проекта: ваш и pvvx. распаковал и убрал -master из имени папок.
    3) каждому сделал свой воркспейс.
    4) попробовал скомпилить. pvvx скомпилился. ваш проект - нет. жалуется что webbin нету а он есть.
    манипуляции прям вот только что.

    mingw32-make.exe: *** [D:/projects/eclipse/andy_korg/esp8266web/Makefile:256: .subdirs] Error 1
     
  5. Sam_Arcanum

    Sam_Arcanum Новичок

    Сообщения:
    101
    Симпатии:
    0
    выбрал user_config.h #define PROGECT_NUMBER 2
    и словил вот такие ошибки:

    ------------------------------------------------------------------------------
    Section| Description| Start (hex)| End (hex)|Used space
    ------------------------------------------------------------------------------
    data| Initialized Data (RAM)| 3FFE8000| 3FFE837C| 892
    rodata| ReadOnly Data (RAM)| 3FFE837C| 3FFE89AC| 1584
    bss| Uninitialized Data (RAM)| 3FFE89B0| 3FFEE8C8| 24344
    lit4| Uninitialized Data (IRAM)| 40105110| 40105CF0| 3040
    text| Uncached Code (IRAM)| 40100000| 40105110| 20752
    irom0_text| Cached Code (SPI)| 40207000| 4023C089| 217225
    ------------------------------------------------------------------------------
    Entry Point : 4010013C call_user_start()
    Total Used RAM : 50612
    Free IRam : 8976 or 25360 (option 48k IRAM)
    Free Heap : 55100
    Total Free RAM : 80460
    ------------------------------------------------------------------------------
    Add rapid_loader...
    0+1 records in
    0+1 records out
    176 bytes (176 B) copied, 0 seconds, Infinity B/s
    45+1 records in
    45+1 records out
    23264 bytes (23 kB) copied, 0.001 seconds, 23 MB/s
    C:/Python27/python.exe D:/projects/eclipse/pvvx/esp8266web/ovls.py .output/eagle/image/eagle.app.v6.out ../ld/labels.ld
    mingw32-make[1]: Leaving directory 'D:/projects/eclipse/pvvx/esp8266web/app'
    mingw32-make[1]: Entering directory 'D:/projects/eclipse/pvvx/esp8266web/ovls'
    mingw32-make[2]: Entering directory 'D:/projects/eclipse/pvvx/esp8266web/ovls/10dof'
    mingw32-make[3]: Entering directory 'D:/projects/eclipse/pvvx/esp8266web/ovls/10dof/main'
    c:/Espressif/xtensa-lx106-elf/bin/xtensa-lx106-elf-gcc -Os -Wall -Wno-pointer-sign -fno-tree-ccp -mno-target-align -mno-serialize-volatile -foptimize-register-move -Wundef -Wall -Wstrict-aliasing -Wpointer-arith -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -DICACHE_FLASH -DPBUF_RSV_FOR_WLAN -DLWIP_OPEN_SRC -DEBUF_LWIP -I ./include -I ../include -I ../../include -I D:/projects/eclipse/pvvx/esp8266web/include -I D:/projects/eclipse/pvvx/esp8266web/app/include -o .output/eagle/obj/mpu9250.o -c mpu9250.c
    c:/Espressif/xtensa-lx106-elf/bin/xtensa-lx106-elf-gcc -Os -Wall -Wno-pointer-sign -fno-tree-ccp -mno-target-align -mno-serialize-volatile -foptimize-register-move -Wundef -Wall -Wstrict-aliasing -Wpointer-arith -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -DICACHE_FLASH -DPBUF_RSV_FOR_WLAN -DLWIP_OPEN_SRC -DEBUF_LWIP -I ./include -I ../include -I ../../include -I D:/projects/eclipse/pvvx/esp8266web/include -I D:/projects/eclipse/pvvx/esp8266web/app/include -o .output/eagle/obj/hspi_master.o -c hspi_master.c
    c:/Espressif/xtensa-lx106-elf/bin/xtensa-lx106-elf-gcc -Os -Wall -Wno-pointer-sign -fno-tree-ccp -mno-target-align -mno-serialize-volatile -foptimize-register-move -Wundef -Wall -Wstrict-aliasing -Wpointer-arith -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -DICACHE_FLASH -DPBUF_RSV_FOR_WLAN -DLWIP_OPEN_SRC -DEBUF_LWIP -I ./include -I ../include -I ../../include -I D:/projects/eclipse/pvvx/esp8266web/include -I D:/projects/eclipse/pvvx/esp8266web/app/include -o .output/eagle/obj/main.o -c main.c
    c:/Espressif/xtensa-lx106-elf/bin/xtensa-lx106-elf-gcc -Os -Wall -Wno-pointer-sign -fno-tree-ccp -mno-target-align -mno-serialize-volatile -foptimize-register-move -Wundef -Wall -Wstrict-aliasing -Wpointer-arith -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -DICACHE_FLASH -DPBUF_RSV_FOR_WLAN -DLWIP_OPEN_SRC -DEBUF_LWIP -I ./include -I ../include -I ../../include -I D:/projects/eclipse/pvvx/esp8266web/include -I D:/projects/eclipse/pvvx/esp8266web/app/include -o .output/eagle/obj/bmp280.o -c bmp280.c
    c:/Espressif/xtensa-lx106-elf/bin/xtensa-lx106-elf-ar ru .output/eagle/lib/libmain.a .output/eagle/obj/mpu9250.o .output/eagle/obj/hspi_master.o .output/eagle/obj/main.o .output/eagle/obj/bmp280.o

    Самуил Германович Арканум, [06.10.19 18:05]
    c:/Espressif/xtensa-lx106-elf/bin/xtensa-lx106-elf-ar: creating .output/eagle/lib/libmain.a
    mingw32-make[3]: Leaving directory 'D:/projects/eclipse/pvvx/esp8266web/ovls/10dof/main'
    c:/Espressif/xtensa-lx106-elf/bin/xtensa-lx106-elf-gcc -nostartfiles -nodefaultlibs -nostdlib -LD:/projects/eclipse/pvvx/esp8266web//lib -TD:/projects/eclipse/pvvx/esp8266web//ld/overlay.ld -Wl,--no-check-sections -u call_user_start -Wl,-static -Wl,-Map -Wl,.output/eagle/image/eagle.app.v6.map -Wl,--start-group -lmgcc main/.output/eagle/lib/libmain.a -Wl,--end-group -o .output/eagle/image/eagle.app.v6.out
    main/.output/eagle/lib/libmain.a(main.o):(.text+0x4): undefined reference to `mdb_buf'
    main/.output/eagle/lib/libmain.a(main.o): In function `drv_recv':
    main.c:(.text+0x174): undefined reference to `mdb_buf'
    main/.output/eagle/lib/libmain.a(hspi_master.o):(.text+0x24): undefined reference to `copy_s1d4'
    main/.output/eagle/lib/libmain.a(hspi_master.o): In function `hspi_cmd_write':
    hspi_master.c:(.text+0x82): undefined reference to `copy_s1d4'
    collect2.exe: error: ld returned 1 exit status
    mingw32-make[2]: Leaving directory 'D:/projects/eclipse/pvvx/esp8266web/ovls/10dof'
    mingw32-make[2]: *** [../Makefile:181: .output/eagle/image/eagle.app.v6.out] Error 1
    mingw32-make[1]: *** [Makefile:128: .subdirs] Error 2
    mingw32-make[1]: Leaving directory 'D:/projects/eclipse/pvvx/esp8266web/ovls'
    mingw32-make.exe: *** [D:/projects/eclipse/pvvx/esp8266web/Makefile:276: .subdirs] Error 2

    17:58:35 Build Finished (took 53s.9ms)


    то есть что-то есть но с ошибками

    если выбрать user_config.h #define PROGECT_NUMBER 0
    то собирается всё без ошибок
     
  6. pvvx

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

    Сообщения:
    10.251
    Симпатии:
    1.349
    PROGECT_NUMBER 2 - это была опция проекта для собственной проработки. Там ручками надо исключать и включать необходимые компоненты. Для игры "сборка по кнопке" она не предназначена. Это просто как заготовка для дальнейшего собственного проекта.
     
  7. Sam_Arcanum

    Sam_Arcanum Новичок

    Сообщения:
    101
    Симпатии:
    0
    разобрался. над было тупо удалять всё что связано с ovl из makefile
    скомпилилось, прошилось, запустилось.
    ну, теперь могу своё что-то бодяжить с вебформой.
    з.ы. знаю что есп8266 устарела. но их меня 8 штук. не солить же
     
  8. Alexander

    Alexander Новичок

    Сообщения:
    50
    Симпатии:
    0
    Столкнулся вот с какой проблемой. Начал монитрить аптайм и увидел, что более 1,5 часов не работает без перезагрузки. Был очень удивлен, т.к. даже с прошивкой ESPeasy, при прочих равных, перезагружается гораздо реже - от раза в несколько ней до нескольких раз в деь. Наблюдал пару недель. Только у меня такая проблема?
     
  9. pvvx

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

    Сообщения:
    10.251
    Симпатии:
    1.349
    Когда-то, годы назад, когда этот проект ещё ковырял, тесты показывали время работы без перезагрузок более месяца... Только ручное.
    На главной странице web-а отображается время последнего старта.

    Но, когда начал заниматься другими модулями WiFi, был обнаружен глюк у ESP8266 связанный с перезагрузкой или выходом в режим аппаратного зависания с глушением всей WiFi сети, происходящий от сильных сигналов других модулей. Уточнение было в сторону "автоматической подстройки частоты" - где то там в закрытых дровах ESP8266 сносит голову... Какая прошивка или версия SDK - безразлично.
    На том работать с ESP8266 перестал - количество глюков чипа и его закрытого ПО превзошло все пределы...
     
  10. pvvx

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

    Сообщения:
    10.251
    Симпатии:
    1.349
    Создайте идеальные условия для ESP8266 - проработает без завсисов и прочего долго.
    Смотрите питание и внешние импульсы, т.к. чип очень боится импульсной помехи и не проходит никакие тесты по этому делу.
    В web-свалке много кривого кода и ошибок, найденных позже, но они не критические и к перезагрузке не приводят. А так-же много опций и без описания как и что там у вас никто вам не поможет разобраться в перезагрузках...
     
  11. Михаил_89

    Михаил_89 Новичок

    Сообщения:
    4
    Симпатии:
    2
    Может не все так плохо. Ребята работают, правят баги. На их сайте написано про поддержку Supporting China Mobile’s And-link Platform, Supporting China Telecom’s IoT Platform и тд. Те чипы работают. Новый SDK ESP8266_RTOS_SDK-3.1.1. В DS масса обновлений (прилагаю).
     

    Вложения:

    Andy Korg и Alexander нравится это.
  12. Alexander

    Alexander Новичок

    Сообщения:
    50
    Симпатии:
    0
    Возможно, но к сожалению данный проект заброшен. У меня uptime более нескольких часов не получается, в то время как espeasy может работать неделями без перезагрузки в абсолютно той же аппаратной конфигурации. Но там с http сервером какие-то беды - периодически зависает наглухо и помогает только передергивание питания. При этом на пинги модуль отвечает, хоть и с задержкой.
    Впрочем, я не знаю в чем проблема. Сбрасывается только переменная с аптаймом, иных проблем не замечено. Нужно разбираться.
     
  13. Alexander

    Alexander Новичок

    Сообщения:
    50
    Симпатии:
    0
    Проверил различные варианты:
    работа в режиме STATIONAP_MODE;
    работа в режиме STATION_MODE;
    работа в режиме SOFTAP_MODE;
    B, G и N режимы.
    Uptime не достигает и 2 часов.
    Проверял добавив в footer.inc строку
    Код (Text):
    1. Время работы: <span id='uptime'></span><br><br>
    Либо реально периодическая перезагрузка, либо что-то не так с переменной uptime.
    Ну, или я что-то неправильно делаю.

    PS я уж думал, может неправильно что-то собираю. Для чистоты эксперимента загрузил готовый бинарник и потом по воздуху только webfiles.bin заменил.
     
  14. pvvx

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

    Сообщения:
    10.251
    Симпатии:
    1.349
    Пока они там рабботают, чип уже морально и технически устарел.
    Что ещё не сделает Espressif, чтобы втюхать свой глюкодром, который никому не нужен, кроме первых опытов с WiFi для детей? Другого то рынка сбыта их "продукции" нет.
     
  15. aloika

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

    Сообщения:
    385
    Симпатии:
    28
    Проект этот рабочий, и аптайм при благоприятных условиях годами сохраняется.
    Нужно смотреть:

    1) схему
    2) питание

    Также при некоторых внешних условиях (наличие рядом некоторых других модулей/точек доступа) может наблюдаться нестабильная работа. Из таких роутеров - Tenda (как минимум модель MW3).

    Лучше берите проект на RTL8710, он в этом плане стабильнее.
     
  16. Alexander

    Alexander Новичок

    Сообщения:
    50
    Симпатии:
    0
    В смысле перейти на RTL8710?
    Я пока решил вот как поступить. Сделаю всё критичное на старой доброй ATmega 32, там и с портами нет напряга, а на ESP8266 только связь с внешним миром.
    Были мысли вообще отказаться от ESP8266 в пользу NRF24L01+, но пока не решился по 2 причинам:
    1. лень городить огород с адресацией, когда устройств более 6;
    2. для датчиков хорошо, для устройства, которое может оказаться автономно работающим - плохо.
    По п.2 я вот что имею в виду. Как пример, у меня есть тестер аккумуляторов. Сейчас решил собрать новую версию. Работает устройство длительно - проведение КТЦ и возможно не 1 раз. Нужно настроить программу испытаний, присматривать иногда за процессом и логировать данные. Сейчас это сделано при помощи кнопок, LCD от Nokia 1100 и USB<->UART. Вот это все стоит заметно дороже TSP8266, я по старости лет ничерта не вижу на LCD от Nokia 1100 даже в очках, пользуюсь лупой. Да еще провода нужно тягать и для посмотреть идти к устройству. Вот и решил для таких целей использовать ESP8266. Хотел сначала и логику на ней сделать, да ну его ... с такой стабильностью.
    Что касается схемы и питания... Ну, не знаю. Сейчас кроме подтяжки на RESET, CH_PD, GPIO0, GPIO2 и GPIO15, поставил емкости на RESET, CH_PD и ADC. Посмотрю, как будет себя вести.
    О! пока писал сообщение, модуль снова ресетнулся после примерно 1:08:00 работы. Не знаю сколько точно.
     
  17. Alexander

    Alexander Новичок

    Сообщения:
    50
    Симпатии:
    0
    oops. вот этот момент я упустил. Сейчас не трогая само устройство перезагрузил стандартный webfiles.bin и увидел "PowerStartTime: 07.01.2020 19:23:13" Получается, что переменная uptime сбрасывается по непонятной причине. Надо будет посмотреть.
     
  18. Alexander

    Alexander Новичок

    Сообщения:
    50
    Симпатии:
    0
    Да, вот еще. Может кто подскажет, как организовать запись и чтение web переменных по uart?
     
  19. aloika

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

    Сообщения:
    385
    Симпатии:
    28
    upload_2020-1-7_22-55-43.png
    Вот примерно такая схема должна быть в плане подтяжек и обвязки... это кусок моей схемы, вниз пошло на uart к другому МК.
     
    Alexander нравится это.
  20. aloika

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

    Сообщения:
    385
    Симпатии:
    28
    ESP8266 устарело и вроде как там есть проблемы со стабильностью. RTL8710 более новый и главное, к нему у pvvx тоже есть аналогичная "свалка". "Свалка" вполне рабочая и стабильная. Кроме того, "свалка" для RTL сделана на основе SDK на RTOS (в отличие от "свалки" для ESP8266). Опять же обвязки для RTL нужно гораздо меньше. Также там в SDK есть элементарные примеры, в том числе и по работе с UART.

    Читайте, понимайте web_int_vars.c и web_int_callbacks.c . Далее, разбирайтесь, как принимать/отправлять данные UART. Принимаете определенную последовательность в UART - изменяете нужную переменную. Изменили переменную в веб - отправляете какую-нибудь последовательность в UART.

    Но опять же, не мучайтесь с ESP, берите RTL сразу. Там проще и логичнее это всё, в свалке для ESP полно какой-то магии, которую только pvvx понимает.
     

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