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

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

aloika

Active member
какая команда или таргет? или пройтись по теме?
Когда выполняете таргет FlashAll у вас должно заливаться всё - и программа, и веб. В Makefile можно подкорректировать, где-то примерно здесь (у меня так):

Код:
NewUserBin:
    @$(RM) -f $(USERFBIN)
    @cp -f ovls/bin/tcp_client.ovl WEBFilesSWBD
    ./WEBFS22.exe -h "*.htm, *.html, *.cgi, *.xml, *.bin, *.txt, *.wav" -z "*.inc, snmp.bib, *.ovl, *.ini" ./WEBFilesSWBD ./webbin WEBFiles.bin

$(USERFBIN):
    ./WEBFS22.exe -h "*.htm, *.html, *.cgi, *.xml, *.bin, *.txt, *.wav" -z "*.inc, snmp.bib, *.ovl, *.ini" ./WEBFilesSWBD ./webbin WEBFiles.bin
 
Когда выполняете таргет FlashAll у вас должно заливаться всё - и программа, и веб. В Makefile можно подкорректировать, где-то примерно здесь (у меня так):

Код:
NewUserBin:
    @$(RM) -f $(USERFBIN)
    @cp -f ovls/bin/tcp_client.ovl WEBFilesSWBD
    ./WEBFS22.exe -h "*.htm, *.html, *.cgi, *.xml, *.bin, *.txt, *.wav" -z "*.inc, snmp.bib, *.ovl, *.ini" ./WEBFilesSWBD ./webbin WEBFiles.bin

$(USERFBIN):
    ./WEBFS22.exe -h "*.htm, *.html, *.cgi, *.xml, *.bin, *.txt, *.wav" -z "*.inc, snmp.bib, *.ovl, *.ini" ./WEBFilesSWBD ./webbin WEBFiles.bin
у меня так. но у меня при обозначении режима работы кода 2 (два сообщения выше) появляется ошибка компиляции. а при нуле 192.168.4.1 страница пишет что Web-disk error.
 

aloika

Active member
у меня так. но у меня при обозначении режима работы кода 2 (два сообщения выше) появляется ошибка компиляции. а при нуле 192.168.4.1 страница пишет что Web-disk error.
У меня #define PROGECT_NUMBER 0

А с помощью webfs22.exe заливается диск?

У меня модули esp12, там 4 мБ, насколько я понимаю. Я исправляю в makefile USERFADDR = 0x80000 и всё заливается за один раз - и прошивка, и веб-диск. Что для 512 кБ делать - не знаю, только pvvx знает...
 
если только через webfs22.exe или http://192.168.4.1/fsupload можно, то печаль для меня, ибо:
на работе вай-фая нет(совсем нет - политика компании + глушилка). комп имеет инет только проводной. заливаю прошивку через ком-порт и только. как работает узнаю только через телефон и с близкого расстояния(глушилка зело мешает). дождусь выходных и буду дома смотреть и прошивать/заливать.

как быть с ошибкой при выборе [inline] #define PROGECT_NUMBER 2[/inline] простой вебсервер?
 

pvvx

Активный участник сообщества
как быть с ошибкой при выборе [inline] #define PROGECT_NUMBER 2[/inline] простой вебсервер?
А это ветка оставлена для решения пользователем, тип наброска. Если он не в состоянии исправить - то нечего там копать :)
 

Andy Korg

Moderator
Команда форума
....как быть с ошибкой при выборе [inline] #define PROGECT_NUMBER 2[/inline] простой вебсервер?
У меня компилируется без ошибок и предупреждений моя ветка на github. Можете выложить текст сообщения об ошибке?
В вышеупомянутой ветке не используется ни переходник TCP2UART ни MODUBUS, плюс выключена компиляция оверлеев.
 
У меня компилируется без ошибок и предупреждений моя ветка на github. Можете выложить текст сообщения об ошибке?
В вышеупомянутой ветке не используется ни переходник TCP2UART ни MODUBUS, плюс выключена компиляция оверлеев.
Код:
web_int_callbacks.c: In function 'web_int_callback':
web_int_callbacks.c:497:7: error: implicit declaration of function 'tcp2uart_ajax_rx' [-Werror=implicit-function-declaration]
  tcp2uart_ajax_rx(ts_conn, tmo);
  ^
cc1.exe: all warnings being treated as errors
Исключительно при #define PROGECT_NUMBER 2
 

АндрейМ

New member
Добрый день!
Не могу разобраться. После пересборки перестали работать ~xxx~ переменные. Однажды само вылечилось.

Снимок.PNG

Проблема решена. Число функций, которые не имели флага "ICACHE_FLASH_ATTR" превысило критический объем. Глюков было много.
 
Последнее редактирование:

Andy Korg

Moderator
Команда форума
Код:
web_int_callbacks.c:497:7: error: implicit declaration of function 'tcp2uart_ajax_rx' [-Werror=implicit-function-declaration]
  tcp2uart_ajax_rx(ts_conn, tmo);
  ^
Исключительно при #define PROGECT_NUMBER 2
Судя по всему вы пытаетесь скомпилировать оригинальный проект pvvx с github. Если вам не нужна команда uart_data то просто закоментируйте ветку else ifcmp("uart_data")
 
Судя по всему вы пытаетесь скомпилировать оригинальный проект pvvx с github. Если вам не нужна команда uart_data то просто закоментируйте ветку else ifcmp("uart_data")
да, так и есть. пытался и пытаюсь отследить всю цепочку чтобы используя #define PROGECT_NUMBER 2 проект скомпилился.
до этого уже комментировал цепочку else ifcmp("uart_data") в файлах web_int_callbacks.c и web_int_vars.c и всё связанное чтобы получить резкльтат
и каждый раз возникают разные ошибки. вылечить это можно если включить #define USE_TCP2UART. но прикол в том что он совершенно не нужен! вот результат кjvентирования ветки else ifcmp("uart_data")

Код:
c:/Espressif/xtensa-lx106-elf/bin/xtensa-lx106-elf-gcc  -nostartfiles -nodefaultlibs -nostdlib -LF:/EWorkNow/MC_Sourcers_ESP8266/esp8266web-master//lib -TF:/EWorkNow/MC_Sourcers_ESP8266/esp8266web-master//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'
автор отвечать не желает. прокт не компилится. разбираться - разбираюсь уже две недели. Andy Korg, успользовать Ваш проект - надо выкинуть весь код и вставить свой, но так чтобы изменения были минимальны.
 

valerivp

Member
Поясните плиз для чайника в сайтостроении и начинающего в ардуиностроении:
Что может и что не может данный проект из того, что мне нужно:

  • Автономная работа решения и интерфейса без облаков, телефонов и т.д. - т.е. интерфейс через веб страницы.
  • Файлы страниц и настроек - на SD карте - FAT простая, понятная мне файловая система, я смогу редактировать данные легко и просто.
  • Обновление файлов по воздуху.
  • Отображение данных с датчиков, у меня пара десятков датчиков 1wire. Остальные через onewirehub можно привести к этому же протоколу.
  • Ну и UART, куда без него.
  • Web-сокеты, чтобы интерфейс реагировал сразу на изменение данных системы.
  • Возможность управления пинами и интерфейсами Uart, 1wire, i2c, ... на основании действий пользователя.
  • Поддержка какой-нибудь СУБД - хотя наверное не важно, если нет поддержки php.
  • Наличие программного интерфейса для создания своих модулей - работа с интерфейсами, логикой(?), ...
 

pvvx

Активный участник сообщества
Поясните плиз для чайника в сайтостроении и начинающего в ардуиностроении:
Что может и что не может данный проект из того, что мне нужно:

  • Автономная работа решения и интерфейса без облаков, телефонов и т.д. - т.е. интерфейс через веб страницы.
  • Файлы страниц и настроек - на SD карте - FAT простая, понятная мне файловая система, я смогу редактировать данные легко и просто.
  • Обновление файлов по воздуху.
  • Отображение данных с датчиков, у меня пара десятков датчиков 1wire. Остальные через onewirehub можно привести к этому же протоколу.
  • Ну и UART, куда без него.
  • Web-сокеты, чтобы интерфейс реагировал сразу на изменение данных системы.
  • Возможность управления пинами и интерфейсами Uart, 1wire, i2c, ... на основании действий пользователя.
  • Поддержка какой-нибудь СУБД - хотя наверное не важно, если нет поддержки php.
  • Наличие программного интерфейса для создания своих модулей - работа с интерфейсами, логикой(?), ...
  • Не поддержки "ардуиностроения"
Далее можно не разбирать.
 

valerivp

Member
ардуиностроение
я в это понятие вложил "IoT",

Если я правильно понял, Вам не нравится среда "arduino" - ваше право пользовать эклипс.
Я пока остановился на PlatformIO

а
Далее можно не разбирать.
говорят обычно когда по существу сказать нечего.

у меня есть идея проекта. часть я уже сделал, часть - ищу готовые решения. Вам - (вы же вроде автор?) спасибо за участие, я (как и многие другие, судя по ветке) ваше решение использовать не смогу.
 

pvvx

Активный участник сообщества
говорят обычно когда по существу сказать нечего.
У вас есть какие-то готовые примеры и решения для встраивания в web-свалку?
Вам - (вы же вроде автор?) спасибо за участие, я (как и многие другие, судя по ветке) ваше решение использовать не смогу.
Ну вот оно и доказательство правильно поставленного диагноза - вопрошающему требуется подход "ардуиностроения" = выложить примеры и всё готовое по первому запросу ардуиностроителя, чтобы голова ардуиностроителя не работала.
А у нас тут другая тема :)
 

valerivp

Member
У вас есть какие-то готовые примеры и решения для встраивания в web-свалку?
Ну вот оно и доказательство правильно поставленного диагноза - вопрошающему требуется подход "ардуиностроения" = выложить примеры и всё готовое по первому запросу ардуиностроителя, чтобы голова ардуиностроителя не работала.
А у нас тут другая тема :)
Вы знаете, моя основная работа требует в т.ч. знания основ работы с Apache, в плане знания параметров его конфигурационных файлов. Но это не означает, что мне стоит задумываться как написан этот самый Apache.

У меня есть некоторое количество тиражных решений, как собственных, так и сделанных для работодателя.
Часть моих собственных решений опубликовано свободно и им пользуются тысячи пользователей (игра на Андроид, решения для 1С). Часть - приносит мне доход. Для разных решений есть разные ресурсы.

Вы предлагаете выложить это все тут? С просьбой - "я же делюсь бесплатно", ответьте мне на вопросы пожалуйста...

дальше в дискуссии не вижу смысла.
что такое ваша web-свалка я вообще не понимаю.

За ответы по существу на изначальные вопросы буду благодарен.
 

pvvx

Активный участник сообщества
Вы знаете, моя основная работа требует в т.ч. знания основ работы с Apache, в плане знания параметров его конфигурационных файлов. Но это не означает, что мне стоит задумываться как написан этот самый Apache.
Ну вы его изучили? Или нет - опрашиваете форумы, для вставки в конфиги того что вам нужно? :)
У меня есть некоторое количество тиражных решений, как собственных, так и сделанных для работодателя.
Часть моих собственных решений опубликовано свободно и им пользуются тысячи пользователей (игра на Андроид, решения для 1С). Часть - приносит мне доход. Для разных решений есть разные ресурсы.
Ну значит надо делиться во благо развития. Например помочь оплачивать ресурс на котором задаете вопросы...
Вы предлагаете выложить это все тут? С просьбой - "я же делюсь бесплатно", ответьте мне на вопросы пожалуйста...
Неа. Просто по существу и являются вопросы с предложениями по web-свалке, а остальное - это требование халявы для использования вами ради заработка.
Из вашего списка поддерживается всё, кроме 1wire, а также заработок с использованием решений из web-свалки.
Вот пример:
О чем говорит ваш вопрос "Поддержка какой-нибудь СУБД" - вы выбрали ESP8266 и не прояснили главные вопросы - его ресурсные возможности. Это только один намек на то, что пришли всё получить на халяву и типа вам тут обязаны (ардуиностроитель). Тема тут SDK и создание собственных прошивок, а не помощь в выборе уже готовых для заработка. Меняйте подход и всё будет Ok :)
 
Последнее редактирование:

valerivp

Member
Если вы делаете решение - ваше право устанавливать порядок его использования. Напишите лицензионное соглашение и выложите его в репозиторий. Текущий проект я делаю для себя, и может ли он стать тиражным сказать трудно.

Что такое web-свалка я не понимаю.

Если есть все, что мне требуется, подскажите пожалуйста
как вывести данные с UART в поле через web сокет? (тогда я смогу все что угодно слать на сайт)
как по нажатию на кнопку на сайте послать данные в UART
не увидел использования SD карты.
Не увидел (может плохо смотрел) явного описания как писать собственные модули.
 
Сверху Снизу