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

mcmega

Member
pvvx, можно ли со стороны UART менять переменные?
Например поменять переменную wifi_ap_ssid
 

pvvx

Активный участник сообщества
pvvx, можно ли со стороны UART менять переменные?
Например поменять переменную wifi_ap_ssid
Это как? UART тут подключен к отдельному TCP-сокету и его поток сам по себе. Может там прошивка для модуля передается во внешний MCU и тогда будет бяда...
Тогда надстраивайте специальный протокол на UART...
 

mcmega

Member
Это как? UART тут подключен к отдельному TCP-сокету и его поток сам по себе. Может там прошивка для модуля передается во внешний MCU и тогда будет бяда...
Тогда надстраивайте специальный протокол на UART...
После WiFi модуля стоит контроллер. И можно ли как то сделать так, чтоб МК мог сам менять переменные в прошивке модуля WiFi? Скажем добавить в прошивку модуля что то на подобии проверки строки. Предположим если от МК придёт последовательность символов (скажем "UART_Com:"), то запустится процесс изменения параметров модуля.
 

pvvx

Активный участник сообщества
После WiFi модуля стоит контроллер. И можно ли как то сделать так, чтоб МК мог сам менять переменные в прошивке модуля WiFi? Скажем добавить в прошивку модуля что то на подобии проверки строки. Предположим если от МК придёт последовательность символов (скажем "UART_Com:"), то запустится процесс изменения параметров модуля.
Я про это и говорю - делайте надпротокол на UART0. Исходники то даны :) А тут общее решение, а не частное. Например у меня он используется для включения как удаленный COM порт и мне не надо чтобы он искажал протокол.
Для вашей задачи наверно подойдет это
ESP8266 UART TO TCP SOCKET ABSOLUTELY TRANSPARENT BRIDGE
 

Serjkruch

New member
Добрый день. Подскажите пожалуйста как отправить POST запрос на какой нибудь адрес? Например на (www.mytemprature.ru)
На SIM900 я научился отправлять запрос с температурой в JSON и читать ответ от сервера а на ESP8266 немного не пойму. Или подсказку где посмотреть.
 
Serjkruch, так вроде бы здесь полно примеров.Смотря где и как выхотите отправлять.Все зависит от того что,где вы пишете,и на чем пишете программу
 

Serjkruch

New member
Serjkruch, так вроде бы здесь полно примеров.Смотря где и как выхотите отправлять.Все зависит от того что,где вы пишете,и на чем пишете программу
Я использую труд уважаемого pvvx, компилирую в сборке "Unofficial Development Kit for Espressif ESP8266".
Пока изучаю lwip. Ковыряю примеры в выше указанной сборке.
 

pvvx

Активный участник сообщества
Добрый день. Подскажите пожалуйста как отправить POST запрос на какой нибудь адрес? Например на (www.mytemprature.ru)
На SIM900 я научился отправлять запрос с температурой в JSON и читать ответ от сервера а на ESP8266 немного не пойму. Или подсказку где посмотреть.
Пока этого не будет. В прошивке только "серверы". Внешние запросы требуют специализации под задачу, а все стандарты не поддержать.
Когда "сервер" - мы сами задаем диалог и форматы "клиенту", тем самым можем "ограничить" протоколы, не выходя из рамок стандартов. А при запросе уже наоборот - общий пример с поддержкой всех форматов не сделать - не хватит ресурсов. По этому возможны только специфичные реализации запросов и разбор их ответов с конкретными серверами...
 

pvvx

Активный участник сообщества
тоже вникаю пока.
Скоро придется вникать в частично-новый SDK :) Дореверсил исходники загрузки SDK (это было самое нужное мне), WDT, exception_handler, Flash и остальное, что вокруг WiFi (в основном app_main.o и типа). Счас отлаживаю, с изменениями на свой лад. Работают и собираются с китайским SDK. Памяти уже стало немного больше :)
Исходников не дам, пока полностью SDK не перепишу... :p Буду измененными либами давать :)
Espressif скоро в пролете...
 
Последнее редактирование:

Serjkruch

New member
как tcp клиента поднять?
Пока этого не будет. В прошивке только "серверы". Внешние запросы требуют специализации под задачу, а все стандарты не поддержать.
Когда "сервер" - мы сами задаем диалог и форматы "клиенту", тем самым можем "ограничить" протоколы, не выходя из рамок стандартов. А при запросе уже наоборот - общий пример с поддержкой всех форматов не сделать - не хватит ресурсов. По этому возможны только специфичные реализации запросов и разбор их ответов с конкретными серверами...
 

pvvx

Активный участник сообщества
err = dns_gethostbyname(url_string,&ip_address, dns_found, NULL);
Зачем вам это всё, если пока не знаете как и что писать на СИ в данном модуле? (это видно по вопросам)
 

Serjkruch

New member
Зачем вам это всё, если пока не знаете как и что писать на СИ в данном модуле? (это видно по вопросам)
Спасибо за подсказку. Ну почему же не знаю. На СИ я пишу уже лет 15. Просто в сетевых технологиях пока нехватает знаний. К ESP уже ModBus прикрутил. Получаю температуру. А вот отправить неполучается). Сегодня продолжу учится.
 
Последнее редактирование:

pvvx

Активный участник сообщества
Serjkruch - Ну это LwIP надо смотреть. А исчерпывающий пример запроса к dns есть в sntp.c. От туда и скопировал "err = dns_gethostbyname("
Метод обслуживания запроса по TCP (связь с SDK ESP8266) есть в исходниках MQTT, да и многих других, но надо заменить espconn на прямые вызовы к Lwip
 
Сверху Снизу