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

Прошивка TCP2UART переходника с настройкой по Web

Elik

New member
А можно было прочитать "10leds_ru.txt" и сделать выводы. Ну или нарисовать какие вам нравятся кнопки в редакторе web страниц и залить в модуль.

В "ReadMe.txt", вложенном в архив к прошивке ничего про заливку "вебморды" не говорится. Это баг или я что то не так сделал?
я имел ввиду тот фаил выше про 10 лампочек........делал все, как описано, менял название, соглашался с заменой, но что то не идет...

да проблем в этом, вебморда, которая прилагается с обновлением вашим вчерашним что то не работает, иначе я начал бы ее менять...и экспериментировать...

Почему, когда я использую программу WEBFS22.exe для отправки вебморды в ESP, то после отправки морда перестает открываться? говорит нет такой страницы... Вроде я ничего не менял а отправляю то, что разархивировал с файла скаченного с гитхаба вашего...можете проверить?

и еще один баг, состояния GPIO не сохраняются, если передернуть питание все возвращается в исходное состояние, с этим можно как то бороться?
 
Последнее редактирование:

pvvx

Активный участник сообщества
я имел ввиду тот фаил выше про 10 лампочек........делал все, как описано, менял название, соглашался с заменой, но что то не идет...
А кто спрашивал "замену" и что не идет? :confused:

да проблем в этом, вебморда, которая прилагается с обновлением вашим вчерашним что то не работает, иначе я начал бы ее менять...и экспериментировать...

Почему, когда я использую программу WEBFS22.exe для отправки вебморды в ЕСП, то после отправки морда перестает открываться? говорит нет такой страницы... Вроде я ничего не менял а отправляю то, что разархивировал с файла скаченного с гитхаба вашего...можете проверить?
Проверил. Работает всё нормально. Видео как скачать с gitхаба и какие кнопочки жать необходимо? Или сами снимите?
Прошил модуль так:
Снимок38.gif
Вот так выставил в WEBFS22 и диск залился и работает:
Снимок36.gifСнимок37.gif
 
Последнее редактирование:

Elik

New member
А кто спрашивал "замену" и что не идет? :confused:


Проверил. Работает всё нормально. Видео как скачать с gitхаба и какие кнопочки жать необходимо? Или сами снимите?
Прошил модуль так:
Посмотреть вложение 1013
Вот так выставил в WEBFS22 и диск залился и работает:
Посмотреть вложение 1011Посмотреть вложение 1012
"А кто спрашивал "замену" и что не идет? "

а как иначе сделать вот это:

3) Переименовываете файл “WEBFiles\protect\10leds.ini” в “WEBFiles\protect\init.ini”.

если там в папке уже есть такой файл init.ini ?

ладно все по порядку, скачал вот этот архив: fullflash_and_webfs_051e.zip

Разархивировал, в папке webbin нашел флеш, который прошил в модуль - fullflash_web051e.bin

Все отлично, все работает, кроме глюка с подключением к моей домашней беспроводной сети, точнее подключается, но при загрузке сильно тормозит, а вот с режимом точки доступа все летает!

Далее поигрался с ГПИО, как и описывал, кроме несохранения (пожайлуста фиксаните, может есть вариант сохранять их положения во флеш?) все работает!

Далее попробовал залить вебморду по описанному методу в ридми на 10 лампочек да еще и программу нашел, которая делает все удобней некуда, что не описано в ридми (следует фиксануть так же), но после посылки в модуль получаем вот такое приветливое окошко :):

Безымянный.png

Вообще вы молочина, то, что вы сделали - это огромный вклад и помощь всем интересующимся самоделкам вроде нас! Но как бы не искал, пока не нашел конечную цель, как сделать так, что бы все это работало с простенькой ардуинкой, что бы считывало и выставляла цифровые и аналоговые пины ардуинки и вырисовывала все это в красивом веб интерфеисе, который потом уже можно было бы изменять по пребованиям проекта, еххх, было бы просто здорово...
 

Elik

New member
я могу ошибаться, но кажется тот веб интерфейс, который вшит в ваш фуллфлеш отличается от того, что вложен в папках архива, вот поэтому и не открывается веб морда после прошивки оной...
вы можете выложить сюда те файлы, которые вшиты в прошивку, иначе никак не поэкспериментируешь с интерфейсом...
 

pvvx

Активный участник сообщества
Ещё раз скачиваю fullflash_and_webfs_051e.zip, разворачиваю.
Там в папке находится WEBFiles.bin. Переименовываю его в WEBFiles.bin.0 и создаю новый запустив make_webfs.bat.
Появляется новый WEBFiles.bin.
В командной строке сравниваю итоги:
Код:
E:\00E\fullflash_and_webfs_051e\webbin>fc /b WEBFiles.bin WEBFiles.bin.0
Сравнение файлов WEBFiles.bin и WEBFILES.BIN.0
FC: различия не найдены
Запускаю Эксплорер. Модуль включен через роутер. На главной странице выбираю "WebFS Upload" http://sesp8266/protect/upload.htm
Там выбираю новый файл WEBFiles.bin для загрузки. Тыкаю "Upload". Пишет "Update Successful!". Все странички работают.
Ну и фиг с ними.
Соединяюсь USB-WiFi свистком c модулем. Пишу в эксплорере http://192.168.4.1/fsupload. Получаю страничку:
fsupload.gif
Туда вставляю файл WEBFiles.bin. Тыкаю "Upload". Пишет "Update Successful!". Все странички работают.
Фиг и с этим.
Запускаю WEBFS22.exe. Заново создает WEBFiles.bin и загружает в модуль. Все странички работают.

Да и лано.
Запускаю WEBFS22.exe. Переключаю в режим Upload готового WEBFiles.bin. Жму "Upload" -
Снимок134.gif
Опять загружает и все странички работают.

Вы случаем в роутере и в Windows не изменили размер MTU?
Так-же внимательнее сравните настройки в WEBFS22.exe указанные в WEBFS22exe_AdvacedSettings.gif, если не используете make_webfs.bat.
Когда изменяете init.ini на 10leds.ini, то модуль будет запущен на перехват любого интернет запроса после соединения. Если этого не надо, то сотрите "cfg_cdns=1" - это включение "Captive Portal". И прочитайте о NETBIOS в первом сообщении темы (второй параграф).
Сохранение состояния выходов GPIO не будет, т.к. их можно менять через Web более нескольких сотен раз в секунду и во flash будет дырка. Начальную установку GPIO по старту модуля можете описать в init.ini.
 
Последнее редактирование:

Elik

New member
Ещё раз скачиваю fullflash_and_webfs_051e.zip, разворачиваю.
Там в папке находится WEBFiles.bin. Переименовываю его в WEBFiles.bin.0 и создаю новый запустив make_webfs.bat.
Появляется новый WEBFiles.bin.
В командной строке сравниваю итоги:
Код:
E:\00E\fullflash_and_webfs_051e\webbin>fc /b WEBFiles.bin WEBFiles.bin.0
Сравнение файлов WEBFiles.bin и WEBFILES.BIN.0
FC: различия не найдены
Запускаю Эксплорер. Модуль включен через роутер. На главной странице выбираю "WebFS Upload" http://sesp8266/protect/upload.htm
Там выбираю новый файл WEBFiles.bin для загрузки. Тыкаю "Upload". Пишет "Update Successful!". Все странички работают.
Ну и фиг с ними.
Соединяюсь USB-WiFi свистком c модулем. Пишу в эксплорере http://192.168.4.1/fsupload. Получаю страничку:
Посмотреть вложение 1015
Туда вставляю файл WEBFiles.bin. Тыкаю "Upload". Пишет "Update Successful!". Все странички работают.
Фиг и с этим.
Запускаю WEBFS22.exe. Заново создает WEBFiles.bin и загружает в модуль. Все странички работают.

Да и лано.
Запускаю WEBFS22.exe. Переключаю в режим Upload готового WEBFiles.bin. Жму "Upload" -
Посмотреть вложение 1016
Опять загружает и все странички работают.

Вы случаем в роутере и в Windows не изменили размер MTU?
Так-же внимательнее сравните настройки в WEBFS22.exe указанные в WEBFS22exe_AdvacedSettings.gif, если не используете make_webfs.bat.
Когда изменяете init.ini на 10leds.ini, то модуль будет запущен на перехват любого интернет запроса после соединения. Если этого не надо, то сотрите "cfg_cdns=1" - это включение "Captive Portal". И прочитайте о NETBIOS в первом сообщении темы (второй параграф).
Сохранение состояния выходов GPIO не будет, т.к. их можно менять через Web более нескольких сотен раз в секунду и во flash будет дырка. Начальную установку GPIO по старту модуля можете описать в init.ini.
что такое размер MTU?
Вот что у меня получилось, через прогу что то не пошло загрузить, точнее загрузилось в модуль коряво...
снял на видео последовательность действий, как загрузится покажу...
 

Elik

New member
пока что все идет путем, не подскажете, что бы вгрузить картинку в формате SVG ее просто надо бросить в корень, либо в папку, а потом вот этим вывести:

<img src="mega.svg" width="800" height="450" alt="Arduino MEGA 2560" />

или тут как то подругому? Что то не могу вывести ее...
 

pvvx

Активный участник сообщества
пока что все идет путем, не подскажете, что бы вгрузить картинку в формате SVG ее просто надо бросить в корень, либо в папку, а потом вот этим вывести:

<img src="mega.svg" width="800" height="450" alt="Arduino MEGA 2560" />

или тут как то подругому? Что то не могу вывести ее...
svg.htm:
HTML:
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="600" height="70">     <ellipse cx="80" cy="35" rx="70" ry="30" stroke="#b4241b" stroke-width="3" fill="#ffff00" /> </svg>
svg139.gif
 

Elik

New member
svg.htm:
HTML:
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="600" height="70">     <ellipse cx="80" cy="35" rx="70" ry="30" stroke="#b4241b" stroke-width="3" fill="#ffff00" /> </svg>
Посмотреть вложение 1023
это как нарисовать, а мне нужно вставить файл svg...

тут такое дело, делаю так:
<img src="mega.svg" width="800" height="450" alt="Arduino MEGA 2560" />
когда открываю страничку с этим кодом не залитую в модуль то он открывается, все нормально, а когда заливаю в модуль то рисунка не видно, может *.svg не поддерживается сервером? либо есть спецификации куда надо его бросать, в корень, в отдельную папку, указывать путь по другому..?

попробуйте вот этот файл и страничку залить, посмотрите что можно сделать?

Можно право конвертнуть все это дело в гиф, я так и сделал и получилось, но хотелось бы побольше деталeй и без компрессий...
 

Вложения

aloika

Active member
Не будет .svg просто так показывать.

Надо внести изменения в два файла:

Код:
/****************************************************************************
  Section:
        File and Content Type Settings
  ***************************************************************************/
        // File type extensions corresponding to HTTP_FILE_TYPE
static const char *httpFileExtensions[] = {
        "txt",          // HTTP_TXT
        "htm",          // HTTP_HTML
        "cgi",          // HTTP_CGI
        "xml",          // HTTP_XML
        "css",          // HTTP_CSS
        "ico",          // HTTP_ICO
        "gif",          // HTTP_GIF
        "png",          // HTTP_PNG
        "jpg",          // HTTP_JPG
        "js",           // HTTP_JAVA
        "swf",          // HTTP_SWF
        "wav",          // HTTP_WAV
        "pdf",          // HTTP_PDF
        "zip",          // HTTP_ZIP
        "bin",          // HTTP_BIN
        "svg",            // HTTP_SVG
        "\0\0\0"        // HTTP_UNKNOWN
};

// Content-type strings corresponding to HTTP_FILE_TYPE
static const char *httpContentTypes[] = {
    "text/plain",               // HTTP_TXT       "txt",
    "text/html",                // HTTP_HTM       "htm",
    "magnus-internal/cgi",      // HTTP_CGI       "cgi",
    "text/xml",                 // HTTP_XML       "xml",
    "text/css",                 // HTTP_CSS       "css",
    "image/vnd.microsoft.icon", // HTTP_ICO       "ico",
    "image/gif",                // HTTP_GIF       "gif",
    "image/png",                // HTTP_PNG       "png",
    "image/jpeg",               // HTTP_JPG       "jpg",
    "text/javascript",          // HTTP_JAVA      "js",
    "application/x-shockwave-flash", // HTTP_SWF  "swf",
    "audio/x-wave",             // HTTP_WAV       "wav",
    "application/pdf",          // HTTP_PDF       "pdf",
    "application/zip",          // HTTP_ZIP       "zip",
    "application/octet-stream", // HTTP_BIN       "bin",
    "image/svg+xml",            // HTTP_SVG          "svg",
    ""  // HTTP_UNKNOWN
};


Код:
/****************************************************************************
  Section:
        Commands and Server Responses
  ***************************************************************************/

// File type definitions
typedef enum
{
        HTTP_TXT = 0,     // File is a text document
        HTTP_HTML,        // File is HTML (extension .htm)
        HTTP_CGI,         // File is HTML (extension .cgi)
        HTTP_XML,         // File is XML (extension .xml)
        HTTP_CSS,         // File is stylesheet (extension .css)
        HTTP_ICO,         // File is ICO  vnd.microsoft.icon
        HTTP_GIF,         // File is GIF image (extension .gif)
        HTTP_PNG,         // File is PNG image (extension .png)
        HTTP_JPG,         // File is JPG image (extension .jpg)
        HTTP_JAVA,        // File is java (extension .js)
        HTTP_SWF,         // File is ShockWave-Flash (extension .swf)
        HTTP_WAV,         // File is audio (extension .wav)
        HTTP_PDF,         // File is PDF (extension .pdf)
        HTTP_ZIP,         // File is ZIP (extension .zip)
        HTTP_BIN,         // File is BIN (extension .bin)
        HTTP_SVG,          // File is SVG image (extension .svg)
        HTTP_UNKNOWN      // File type is unknown
} HTTP_FILE_TYPE;


И все будет работать. У меня работает:

 
  • Like
Реакции: Elik

pvvx

Активный участник сообщества
<embed src="mega.svg" type="image/svg+xml">
<iframe src="mega.svg" width="500" height="200" style="border: none"></iframe>
... -> https://htmlweb.ru/html/graph.php
Сам файл svg у вас неверный - Структура документа SVG:
"Первая строка — стандартный XML-заголовок, объявление (англ. XML declaration), указывающее версию XML (version) (обычно «1.0») и кодировку символов(encoding):
<?xml version="1.0" encoding="UTF-8" standalone="no"?>"

Web-свалка не может поддерживать все типы MIME. Для их списка 512 килобайт flash не хватит.
Открываете исходники и вписываете нужный вам тип mime по расширению файла, если это так необходимо.
Но всё можно указать и в заголовочном HTML
Вот без дописки mime image/svg+xml, но при корректном mega.svg:
svg140.gif

@Elik - к сожалению тут тема не об обучении HTML и прочего... Тут TCP2UART. Найдите профильный форум или ...

fullflash_and_webfs_052.zip - добавлен MIME "svg". Всё полностью не проверял.
 
Последнее редактирование:
  • Like
Реакции: Elik

Elik

New member
Не будет .svg просто так показывать.

Надо внести изменения в два файла:

Код:
/****************************************************************************
  Section:
        File and Content Type Settings
  ***************************************************************************/
        // File type extensions corresponding to HTTP_FILE_TYPE
static const char *httpFileExtensions[] = {
        "txt",          // HTTP_TXT
        "htm",          // HTTP_HTML
        "cgi",          // HTTP_CGI
        "xml",          // HTTP_XML
        "css",          // HTTP_CSS
        "ico",          // HTTP_ICO
        "gif",          // HTTP_GIF
        "png",          // HTTP_PNG
        "jpg",          // HTTP_JPG
        "js",           // HTTP_JAVA
        "swf",          // HTTP_SWF
        "wav",          // HTTP_WAV
        "pdf",          // HTTP_PDF
        "zip",          // HTTP_ZIP
        "bin",          // HTTP_BIN
        "svg",            // HTTP_SVG
        "\0\0\0"        // HTTP_UNKNOWN
};

// Content-type strings corresponding to HTTP_FILE_TYPE
static const char *httpContentTypes[] = {
    "text/plain",               // HTTP_TXT       "txt",
    "text/html",                // HTTP_HTM       "htm",
    "magnus-internal/cgi",      // HTTP_CGI       "cgi",
    "text/xml",                 // HTTP_XML       "xml",
    "text/css",                 // HTTP_CSS       "css",
    "image/vnd.microsoft.icon", // HTTP_ICO       "ico",
    "image/gif",                // HTTP_GIF       "gif",
    "image/png",                // HTTP_PNG       "png",
    "image/jpeg",               // HTTP_JPG       "jpg",
    "text/javascript",          // HTTP_JAVA      "js",
    "application/x-shockwave-flash", // HTTP_SWF  "swf",
    "audio/x-wave",             // HTTP_WAV       "wav",
    "application/pdf",          // HTTP_PDF       "pdf",
    "application/zip",          // HTTP_ZIP       "zip",
    "application/octet-stream", // HTTP_BIN       "bin",
    "image/svg+xml",            // HTTP_SVG          "svg",
    ""  // HTTP_UNKNOWN
};


Код:
/****************************************************************************
  Section:
        Commands and Server Responses
  ***************************************************************************/

// File type definitions
typedef enum
{
        HTTP_TXT = 0,     // File is a text document
        HTTP_HTML,        // File is HTML (extension .htm)
        HTTP_CGI,         // File is HTML (extension .cgi)
        HTTP_XML,         // File is XML (extension .xml)
        HTTP_CSS,         // File is stylesheet (extension .css)
        HTTP_ICO,         // File is ICO  vnd.microsoft.icon
        HTTP_GIF,         // File is GIF image (extension .gif)
        HTTP_PNG,         // File is PNG image (extension .png)
        HTTP_JPG,         // File is JPG image (extension .jpg)
        HTTP_JAVA,        // File is java (extension .js)
        HTTP_SWF,         // File is ShockWave-Flash (extension .swf)
        HTTP_WAV,         // File is audio (extension .wav)
        HTTP_PDF,         // File is PDF (extension .pdf)
        HTTP_ZIP,         // File is ZIP (extension .zip)
        HTTP_BIN,         // File is BIN (extension .bin)
        HTTP_SVG,          // File is SVG image (extension .svg)
        HTTP_UNKNOWN      // File type is unknown
} HTTP_FILE_TYPE;


И все будет работать. У меня работает:

ни че се, а можно папочку полностью, прикольная штуковина...

и спасибо за подсказку, щя попробуем...
 

Elik

New member
<embed src="mega.svg" type="image/svg+xml">
<iframe src="mega.svg" width="500" height="200" style="border: none"></iframe>
... -> https://htmlweb.ru/html/graph.php
Сам файл svg у вас неверный - Структура документа SVG:
"Первая строка — стандартный XML-заголовок, объявление (англ. XML declaration), указывающее версию XML (version) (обычно «1.0») и кодировку символов(encoding):
<?xml version="1.0" encoding="UTF-8" standalone="no"?>"

Web-свалка не может поддерживать все типы MIME. Для их списка 512 килобайт flash не хватит.
Открываете исходники и вписываете нужный вам тип mime по расширению файла, если это так необходимо.
Но всё можно указать и в заголовочном HTML
Вот без дописки mime image/svg+xml, но при корректном mega.svg:
Посмотреть вложение 1025

@Elik - к сожалению тут тема не об обучении HTML и прочего... Тут TCP2UART. Найдите профильный форум или ...

fullflash_and_webfs_052.zip - добавлен MIME "svg". Всё полностью не проверял.
благодарю! буду пробовать, я в этом деле новичок, строго не судите...
 

Elik

New member
Странно, это только у меня глючит загрузка или что то с прошивкой? иногда вообще нет проблем, а иногда после прошивки новой веб морды получается вот такая картина:
Безымянный.png
и тоже самое, если вызвать страничку загрузки 192.168.4.1/fsupload и оттуда же отправить вебморду заново....правда когда отправляю не выходит сообщения о удачной загрузке, ни ресет ни отключение модуля не помогают, приходится прошивать модуль заново...
 

Elik

New member
прошил 0.52, усе заработало, благодарю, буду ковылять дальше, теперь самое интересное, как отсылать запросы в ардуино... ;) и принимать - показывать на страничке, да знаю через ХМЛ, надо будет копаться в скриптах...
 

Elik

New member
Почти ни как. Расчет идет на соединение в качестве удлинителя. На одно модуле ставите AP, а на другом ST и указываете ip адрес (и порт TCP2UART) первого модуля...
Передать пару байт через web можно в запросе, через переменные, как указано в http://sesp8266/sample.htm.
Прямо в регистры UARTx :) :
http://aesp8266/web.cgi?sys_ram0x60000f00=0x48&sys_ram0x60000f00=0x69&sys_ram0x60000f00=0x21 передает в UART1(debug port): 'Hi!'
http://aesp8266/web.cgi?sys_ram0x60000000=0x48&sys_ram0x60000000=0x69&sys_ram0x60000000=0x21 передает 'Hi!' в UART0 TX.
а можно расшифровку, как к примеру отправить вот такое сообщение через веб морду:

A1-0; D1-1; RA1; RD1; SA1-DO; SA2-AI; WD6-130

Пытаюсь подружить ардуину с ней...
и еще если не сложно как считать что либо с последовательного порта в вебморду, пример если не трудно.
подскажите ресурс, где копать, что искать, если не охота..., сам разберусь!

*в общем разобрался, нужен конвертер ASCII, только не нашел как считывать инфу с RX порта через веб страничку, если можно алгоритм в примере, заранее благодарен!
 
Последнее редактирование:

Tomahawk

New member
Elik, так и разобрались бы, прежде чем спрашивать то, что уже не раз обсуждалось.
Логика в том,что это демо страницы, а нормальные, для своего устройства, должны написать вы сами.
Так не пойдёт, надо чтобы всё было уже готовое, как надо именно сразу всем пользователям, и заливалось за 1 минуту, а потом работало стабильно :) Ну то есть как бы по волшебству))
 

Elik

New member
Elik, так и разобрались бы, прежде чем спрашивать то, что уже не раз обсуждалось.

Так не пойдёт, надо чтобы всё было уже готовое, как надо именно сразу всем пользователям, и заливалось за 1 минуту, а потом работало стабильно :) Ну то есть как бы по волшебству))
Надо обязательно язвить и грубить и тупо так себя делать умником да? Форум на то и существует, что бы спрашивать, узнавать, делиться опытом вообще то! Да и если не хотели делиться изобретением, что тут тему открывать? Сделали бы закрытый форум для платных пользователей, так сказать за бабло отваливали бы ответы...
Что писать в чем разбираться я оставлю предлпочтение за собой! А вы, если нечем полезным поделиться, то делитесь, а не антимонничайте...

Не надо умничать, будьте проще, если есть чем помочь, помогайте, если не хочется, то и отвечать ненужно...
 

PostLast

Member
как отсылать запросы в ардуино... ;) и принимать - показывать на страничке, да знаю через ХМЛ, надо будет копаться в скриптах...
А как это через xml в данной сборке разбирать данные с сериала. Я писал свой разборщик нескольких протоколов на таймере а есть способ проще?
 

Elik

New member
А как это через xml в данной сборке разбирать данные с сериала. Я писал свой разборщик нескольких протоколов на таймере а есть способ проще?
в общем пока что получилось вот так:
Безымянный.png
это просто интерфейс на HTML не рабочий!, но думаю можно будет начать с простого, тупо отправлять запросы в последовательный порт типа "включить аналоговый пин, либо цифровой пин номер 2", а в ардуино создать поисковик ключевых слов, если нашел, если совпал с тем, что есть, то выполнить, если нет то ничего не делать, типа того, + прикрутить проверку контрольной суммы, что бы на каждый мусор выброшенный в серийник не беспокоить автоматику....
Это не сложно и на моем уровне топорного программирования ломом выполнимо, для более изощренного метода с обратной связью и построениями графиков нужно будет копать дальше. Про ХМЛ я просто ляпнул, видел как делают на тьюториале к эзернетшилду...

Если что либо дельное откопаю, сделаю, то выложу, если у вас есть что либо такое, то поделитесь, будет полезно, ато собрались тут вреднюшки...
 

Вложения

Сверху Снизу