Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.94/18: Рейтинг темы: голосов - 18, средняя оценка - 4.94
moxpymm
0 / 0 / 0
Регистрация: 15.03.2014
Сообщений: 56
1

STM32+LWIP+HTTP

16.05.2017, 11:50. Просмотров 3468. Ответов 8
Метки нет (Все метки)

Доброго времени! Может кто знает решение данной проблемы. На STM32 развернут WEB сервер, запросы GET отрабатываются без проблем, использую netconn в lwip. Стоит задача обновлять ПО через веб интерфейс, соответственно необходимо обрабатывать запросы POST. Все вроде как для этого сделал, выбираем файлик в веб интерфейсе и нажимаем отправить, приходит запрос POST в котором указывается, что сейчас будет передан контент, но сам контент не приходит, т.е. в wireshark я вижу, что клиент отправил
контент, даже больше, вижу в ROM памяти контроллера этот контент, но по какой-то причине lwip мне его не дал. Ниже привожу лог из wireshark:

http://www.cyberforum.ru/savedimages/2017/05/16/vjjuabeynymnhd5krsmkfrdb.jpg
Ниже приведен пакет от клиента из которого видно, что пакет разбит на два фрейма, так вот первый это сам POST запрос, его мне дает lwip, а второй это контент, которые "отбрасывается".

http://www.cyberforum.ru/savedimages/2017/05/16/zv0abzqcsursqupq.jpg
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.05.2017, 11:50
Ответы с готовыми решениями:

STM32 + LWIP + HTTP client
Пытаюсь создать примитивный HTTP клиент на базе стандартного примера...

STM32 + ENC28J60 + LwIP + FreeRTOS
Всем привет! Собственно, есть необходимость запустить сабж. Знаю, что глупо,...

Чем связать STM32 + STM32 в одном корпусе?
Есть 2 платы: (1) - STM32 (Вывод на LCD + запись SD) и (2) - STM32F4 (обработка...

Общение с барометром MS5540 на STM32 (Arduino to STM32)
Получил от китайца сей аппарат, пошел тут же гуглить что нибудь готовое, но не...

STM32F217 & LwIP 1.3.2
Имеем плату storterkit STM32F217. Ethernet PHY: KSZ8721BL. OS: FriiRTOS. С...

8
orm999
0 / 0 / 0
Регистрация: 06.05.2015
Сообщений: 1
16.05.2017, 12:36 2
А кроме method="post" установлен ли у Вас enctype="multipart/form-data" в коде HTML формы?
0
moxpymm
0 / 0 / 0
Регистрация: 15.03.2014
Сообщений: 56
16.05.2017, 12:49 3
Цитата Сообщение от orm999
А кроме method="post" установлен ли у Вас enctype="multipart/form-data" в коде HTML формы?
Привожу код формы:
Код
<html>
<head>
<meta charset="utf-8">
<title>Обновление ПО</title>
</head>
<body>
<form enctype="multipart/form-data" method="post">
<p><input type="file" name="firmware">
<input type="submit" value="Загрузить"></p>
</form>
</body>
</html>
, но думаю дело не в этом..
0
orm999
0 / 0 / 0
Регистрация: 06.05.2015
Сообщений: 1
16.05.2017, 13:14 4
Ну тогда на принимающей стороне что-то нужно доработать. Возможно парсер HTTP не поддерживает multipart кодирование.

Посмотрите код у ST, ключевое слово "IAP over Ethernet".

SPL
STM32F107 SPL: http://www.st.com/en/imbiddid-software/ ... 32030.html
STM32F4x7 SPL: http://www.st.com/en/imbiddid-software/ ... 32069.html

Cube
STM32Cube: http://www.st.com/resource/en/usir_manu ... 103145.pdf
Пример для F4 из Куба: STM32Cube_FW_F4_V1.15.0/Projects/STM324xG_EVOT/Applications/LwIP/LwIP_IAP
0
moxpymm
0 / 0 / 0
Регистрация: 15.03.2014
Сообщений: 56
16.05.2017, 13:59 5
Цитата Сообщение от orm999
Ну тогда на принимающей стороне что-то нужно доработать. Возможно парсер HTTP не поддерживает multipart кодирование.

Посмотрите код у ST, ключевое слово "IAP over Ethernet".

SPL
STM32F107 SPL: http://www.st.com/en/imbiddid-software/ ... 32030.html
STM32F4x7 SPL: http://www.st.com/en/imbiddid-software/ ... 32069.html

Cube
STM32Cube: http://www.st.com/resource/en/usir_manu ... 103145.pdf
Пример для F4 из Куба: STM32Cube_FW_F4_V1.15.0/Projects/STM324xG_EVOT/Applications/LwIP/LwIP_IAP
Спасибо!
0
moxpymm
0 / 0 / 0
Регистрация: 15.03.2014
Сообщений: 56
16.05.2017, 16:26 6
Во всех выше приведенных документах и примерах используется tcp_raw, под netconn может кто делал
0
HotD
0 / 0 / 0
Регистрация: 05.10.2017
Сообщений: 2,048
17.05.2017, 08:16 7
а netconn_recv() вообще принимает что-либо?
Установлены ли
Код
#define IP_REASSEMBLY           1
#define IP_FRAG                      1
0
moxpymm
0 / 0 / 0
Регистрация: 15.03.2014
Сообщений: 56
17.05.2017, 12:50 8
Цитата Сообщение от Hotd
а netconn_recv() вообще принимает что-либо?
Установлены ли
Код:
#define IP_REASSEMBLY 1
#define IP_FRAG 1

netconn_recv() принимает все кроме контента в post запросе, причем очень редко все же принимает контент. Я понимаю проблема в том, что post запрос состоит из двух фреймов:


<Изображение удалено>

#define IP_REASSEMBLY, IP_FRAG установлены в 1.
0
HotD
0 / 0 / 0
Регистрация: 05.10.2017
Сообщений: 2,048
17.05.2017, 13:13 9
Попробуйте увеличьте буферы и кучу lwIP. Или можно включить отладку в стеке и посмотреть что он выдает.
0
17.05.2017, 13:13
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.05.2017, 13:13

LWIP на LPC2368
Хочу поднять LWip на LPC2368 без FriirTOS. Необходимо сделать TCP-client,...

STM32746G-EVAL2 LwIP
Доборго дня! Никто тут не сталкивался с этой платкой? Или хотя бы с STM32F7...

LPC2368 + FreeRTOS + LwIP
Реально ли запустить на стек lwip на камне LPC2368 с ROM на борту 32 кБ? При...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru