Arduino Mega Server
Модератор: Alex
Re: Arduino Mega Server
Судя по всему, размер можно сделать любым, лишь бы память позволяла, а на Меге её просто нет (вся занята). А на Дуе можно попробовать — должно хватить.
Re: Arduino Mega Server
это лишь 800 байт и на меге хватает пока еще..в принципе решил вопрос созданием другой строки,в которую собираю уже полный запрос,не вмешиваясь в алгоритм всех тех родных переменных,но это наверняка не оптимально...но пока так...
эти 800 байт конечно нужны в оперативке,но кратковременно,как буфер:собрали весь запрос,вытянули с него необходимый POST,у меня это порядка 50 символов обычно,остальное тут же удалили....вот пишу и думаю,что в качестве буфера можно и SD задействовать=)ну,потеряв в скорости обработки,конечно...
вопрос закрыт,нашел способ собрать POST и без этого всего огорода,без буфера в смысле,штатными средствами родного скетча,добавив буквально один цикл for=)
эти 800 байт конечно нужны в оперативке,но кратковременно,как буфер:собрали весь запрос,вытянули с него необходимый POST,у меня это порядка 50 символов обычно,остальное тут же удалили....вот пишу и думаю,что в качестве буфера можно и SD задействовать=)ну,потеряв в скорости обработки,конечно...
вопрос закрыт,нашел способ собрать POST и без этого всего огорода,без буфера в смысле,штатными средствами родного скетча,добавив буквально один цикл for=)
Re: Arduino Mega Server
Тут нужно помнить, что 800 байт это 10% памяти и те 2000 байт, которые показываются свободными на самом деле не существуют — это пограничная зона стека и кучи.
Заберёте 800 и может случиться ситуация, когда как раз их не хватит для сжатия и разжатия и пойдут глюки.
Заберёте 800 и может случиться ситуация, когда как раз их не хватит для сжатия и разжатия и пойдут глюки.
Re: Arduino Mega Server
Alex, приведение к String для вывода:
Serial.print("i="+String(i));
Serial.print("i="+String(i));
Re: Arduino Mega Server
pastry777, всё правильно, в GET запросе только параметры запроса(128 символов за глаза и за уши), а все данные передаются в теле POST запроса, только будьте внимательны! проверяйте количество загруженных символов в ардуино из-за размера буффера шилда, иначе при появлении багов, из-за не полностью загруженной информации, голову сломаете. Пример можете взять с отправки новых настроек температурных датчиков в sensors.js.
Проверить загрузку jpg смогу только 9 января. Но можешь сам проверить сравнив содержимое файлов на SD и на ПК
Проверить загрузку jpg смогу только 9 января. Но можешь сам проверить сравнив содержимое файлов на SD и на ПК
Re: Arduino Mega Server
спасибо,этот вопрос отпал,нашел решение даже более практичное!SPbDima писал(а):pastry777, всё правильно
с картинками не смогу сам ничего сделать,не соображаю...файл на сд меньше размером,чем исходный на компе..
вылезла новая проблема,функция очистки массива char из AMS в ее первозданном виде не работает вообще!
несколько часов потратил пока вообще нашел в чем проблема,так еще и решения не вижу=(
Код: Выделить всё
void StrClear(char *str, char length) {
for (int i = 0; i < length; i++) {
str[i] = 0;
}
}
- Вложения
-
- screenshot_Sun_Jan_03_18.02.29.jpg (419.97 КБ) 13025 просмотров
Re: Arduino Mega Server
может кому еще пригодится,спасла только вот эта нагугленная штука:
[/size]
Код: Выделить всё
memset(&HTTP_req, 0, sizeof(HTTP_req));
Re: Arduino Mega Server
А чем вызвано использование указателя в получаемом значении функции?
void StrClear(char *str, char length)
у Алекса инициализация происходит следующем способом:
char HTTP_req[REQ_BUF_SIZE] = {0};
Так зачем городить огород?
void StrClear(char *str, char length)
у Алекса инициализация происходит следующем способом:
char HTTP_req[REQ_BUF_SIZE] = {0};
Так зачем городить огород?
Последний раз редактировалось SPbDima Вс янв 03, 2016 8:56 pm, всего редактировалось 1 раз.
Re: Arduino Mega Server
если б я знал=)
функцию взял из амс как была...
и по всем форумам этот цикл тоже предлагают само-собой,ну что там ведь,просто перебор и нолик вписываем,ведь правда...
не работает!
но!я пробовал указатель убирать,когда экспериментировал,среда разработки сразу ругалась...
функцию взял из амс как была...
и по всем форумам этот цикл тоже предлагают само-собой,ну что там ведь,просто перебор и нолик вписываем,ведь правда...
не работает!
но!я пробовал указатель убирать,когда экспериментировал,среда разработки сразу ругалась...
Re: Arduino Mega Server
Переменная глобальная, поэтому её не нужно передавать в функцию
Ты работаешь с указателем на первый эл-т массива, а не с самим массивом.
Ты работаешь с указателем на первый эл-т массива, а не с самим массивом.
Последний раз редактировалось SPbDima Пн янв 04, 2016 11:06 am, всего редактировалось 1 раз.