Нет. Речь об отправке страницы в браузер, которая прошита в ПЗУ.вы до сих пор не ответили на вопрос - файл на сервер больше не нужно отправлять?
Нет. Речь об отправке страницы в браузер, которая прошита в ПЗУ.вы до сих пор не ответили на вопрос - файл на сервер больше не нужно отправлять?
typedef enum
{
WEBFS_MAX_HANDLE = 251,
WEBFS_NODISK_HANDLE,
WEBFS_WEBCGI_HANDLE,
WEBFS_UPLOAD_HANDLE
} WEBFS_NUM_HANDLE;
Используйте WebSocket - он быстрее и лучше подходит для интерактивных страниц, и когда разберетесь, то проще в реализации...Разбираюсь как работать с файлами html+ AJAX.
Переход на SDK 2.0.0 (патч1) в стадии начальной обработки.чтобы это проверить, нужно чтобы pvvx пересобрал webbase на новом SDK 2.0.0. У меня с ходу самого не получилось пересобрать библиотеки - теряются ссылки из китайских библиотек на какие-то новые функции, которые при пересборке уходят.
Section| Description| Start (hex)| End (hex)|Used space
------------------------------------------------------------------------------
data| Initialized Data (RAM)| 3FFE8000| 3FFE838C| 908
rodata| ReadOnly Data (RAM)| 3FFE838C| 3FFE8BBC| 2096
bss| Uninitialized Data (RAM)| 3FFE8BC0| 3FFEEC48| 24712
lit4| Uninitialized Data (IRAM)| 40105958| 401065A0| 3144
text| Uncached Code (IRAM)| 40100000| 40105958| 22872
irom0_text| Cached Code (SPI)| 40207000| 40240694| 235156
------------------------------------------------------------------------------
Entry Point : 4010016C call_user_start()
Total Used RAM : 53732
Free IRam : 6752 or 23136 (option 48k IRAM)
Free Heap : 54204
Total Free RAM : 77340
Обновил на git для теста версию с SDK2.0.0. Там пока не подключено сохранение калибровок WiFi, т.е. ещё не полноценная, но работает.главное что все эти новые версии ничего нового не дают..
На роутере есть 'Интервал ротации сетевых WPA ключей'. Может это с этим и связано?попробовал соединить два устройства на базе web_base - одно как точка доступа, второе к нему цепляется клиентом. Раз во сколько-то времени клиент отваливается от точки и подцепляется снова. Анализ сообщений показал что при этом приходит Wifi event (1), reason (4), Assoc_expire.
кто-нибудь пробовал соединять их таким образом? Свисток компьютера к точке доступа ESP8266 подключается без отваливаний.
--- RF calibration after deep-sleep wake up: sys_const[108]=0 ---
12:59:07.734> meSDK 2.0.0
12:59:07.734> Reset event: DeepSleep
12:59:07.734>
.....
12:59:08.164> ip:192.168.1.15,mask:255.255.255.0,gw:192.168.1.1
12:59:08.164> WiFi event(0): Connect to ssid xxxxxxxxxxx, channel 1
12:59:08.164> WiFi event(3): Station ip:192.168.1.15, mask:255.255.255.0, gw:192.168.1.1
12:59:08.164> MDB: init port 502
12:59:08.164> SNTP: start
12:59:08.164> WEB: init port 80
12:59:08.164> NetBIOS init, name 'AESP8266'
...
12:59:10.195> SNTP: Set time: 0x57cd41eb
--- No RF calibration after deep-sleep wake up --
13:00:58.209> meSDK 2.0.0
13:00:58.209> Reset event: DeepSleep
13:00:58.209>
...
13:00:58.658> ip:192.168.1.15,mask:255.255.255.0,gw:192.168.1.1
13:00:58.658> WiFi event(0): Connect to ssid xxxxxxxxxxx, channel 1
13:00:58.658> WiFi event(3): Station ip:192.168.1.15, mask:255.255.255.0, gw:192.168.1.1
13:00:58.658> MDB: init port 502
13:00:58.658> SNTP: start
13:00:58.658> WEB: init port 80
13:00:58.658> NetBIOS init, name 'AESP8266'
....
13:01:00.719> SNTP: Set time: 0x57cd4259
2.0.0 мало отличается от 1.5.4. В оф.SDK 2.0.0 вставлено:@pvvx, получается 1.5.4 пока самая стабильная. У меня на одном счетчике - Start time: 24.08.2016 2:10:18, да и то в это время свет выключали.
К примеру на Реалтек модули… За прошедшее время контроллеры и иx интеграция подросли. ESP8266 уже устаревает.А на что Вы сейчас переходите?
Скажите, а Вы Web интерфейс там тоже используете? Где можно познакомиться с наработками? А то и вправду с китайцами этими много проблем получается...К примеру на Реалтек модули… За прошедшее время контроллеры и иx интеграция подросли. ESP8266 уже устаревает.
Пока только ознакомился с RTL8710AF -> http://esp8266.ru/forum/threads/sravnenie-rtl8710-i-esp8266.1467/#post-21249Скажите, а Вы Web интерфейс там тоже используете? Где можно познакомиться с наработками? А то и вправду с китайцами этими много проблем получается...
Для моих текущих задач требуется чип от 500к RAM с нормальной поддержкой SSL, а так-же требуется web не только с WiFi, но и с LAN. Все уже вышедшие и выходящие новые модули и MCU в этот сезон имеют на борту более 0.5Мег RAM и 2Мег Flash + ROM, >= 166MHz CPU. При этом они кушают меньше ESP8266. Так-же все они базируются на RTOS/FreeRTOS/... и набора из стандартного списка доступных всем библиотек стека TCP и SSL (LwIP + .../CycloneTCP/CycloneSSL/CycloneCrypto/PolarisSSL и т.д.) Т.е. для них возможно создание единой системы из стандартного набора библиотек, чем и занят. Но некоторые либы имеют лицензии, условно - не для всех и проект у меня специфический и не всем нужен. По этому пока ничего не выкладываю. Сделаю что-то, появится время - буду думать об версии с простой лицензией (желательно под Unlicense.org » Unlicense Yourself: Set Your Code Free ).В данный сезон, начиная с осени, MCU без набортных пол мегабайта RAM+ 2 мегабайта flash с FCLK от 166 MHz уже не считаются современными. Модно ещё с наботными FPU + Security Engine (AES/SHA/DES/MD5..). При этом цена такого чипа должна быть явно менее $6. Всё остальное - это уже отходы старого производства.
Тут сложно сказать что-либо про Realtek. Всё зависит от 'содружества'. Доки там не нужны, т.к. всё общение с аппаратурой там в ROM и для пользовательских задач не требуется лезть в регистры самому (просто другой подход). Так-же там возможна установка своей операционной системы и стека TCP. Есть SDK Амёба, на ней уже есть Дурина ИДЕ, но на чипе постарше (с 2.5 мегабайта RAM)... Но 'сообщество' мудрит что-то на свой любимый GPL2 и пока ничего, кроме программатора в OpenOCD у них нет Это с учетом того, что дешевые модули RTL00V1.0 стали доступны месяц назад и на днях дошли из Китая желающим. Т.е., условно, прошла неделя как модули смогли появиться на руках у многих. До этого были только дорогие Амёбные...@pvvx, сделал, когда было нужно в стиле тяп-ляп. сейчас возвращаюсь, но на этот раз хочется реализации за которую не будет стыдно. Что из SDK рекомендуете использовать на текущий момент? mySDK + примеры из "свалки"? Или вообще стоит закинуть подальше ESP модули и переориентироваться на что-то другое? Слышал, что у Realtek тоже не всё хорошо с документацией.
Если в запросе браузера запрашивается файл, то он и открывается для последующей передачи...
При открытии смотрится флаг - парсить его (CGI) или нет, сжатый он или нет...
Открытие файлов происходит по команде CGI ~inc:xfile_name~... Вложенность ~inc:~ ограниченна 4-мя.
...
Для гадания уточнение того, что связано с файлами в WEBFiles.bin и Web-сервером:
1) Инициализация файловой системы – WEBFSInit()
2) Проверка наличия файла \protect\init.ini. Если есть, то обработка инструкций из него.
3) Запуск WEB сервера.
4) Ожидание запроса от браузера.
5) Разбор параметров запроса браузера. Открытие указанного в URI файла. Если такого нет – ответ ошибки.
6) Передача заголовка ответа броузеру.
7) Передача тела файла с обработкой, если атрибут у файла ‘парсить’, иначе без обработки. Если при обработке указано вложение ещё файла, то открытие нового файла и передача с обработкой и закрытие. И т.д. до открытых 4-х фалов. Если вложенность более, то возврата к первым файлам не будет - они будут закрыты.
8) Завершение данного соединения.
function funonload()
var xmlhttp;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
xmlhttp.open("GET",'callback',false);
xmlhttp.send();
var message=xhttp.responseXML;
document.getElementById('message3').innerHTML = "Получен ответ: "+ xhr.responseText;;
}
window.onload = funonload;
* FunctionName : webserver_recv
* Description : Processing the received data from the server
* Parameters : arg -- Additional argument to pass to the callback function
* pusrdata -- The received data (or NULL when the connection has been closed!)
* length -- The length of received data
* Returns : none
*
* For HTTP 1.0, this should normally only happen once (if the request fits in one packet).
*
*******************************************************************************/
LOCAL err_t ICACHE_FLASH_ATTR webserver_received_data(TCP_SERV_CONN *ts_conn)
{
}
Запрос будет будет аналогичен 'http://ip_или_имя_модуля/callback' ?xmlhttp.open("GET",'callback',false);
Дальше, предполагаю, ESP принимает запрос