Arduino Mega Server
Модератор: Alex
-
- Сообщения: 2357
- Зарегистрирован: Пт апр 20, 2012 12:53 pm
- Благодарил (а): 42 раза
- Поблагодарили: 262 раза
Re: Arduino Mega Server
Тут нужно помнить, что 800 байт это 10% памяти и те 2000 байт, которые показываются свободными на самом деле не существуют — это пограничная зона стека и кучи.
Заберёте 800 и может случиться ситуация, когда как раз их не хватит для сжатия и разжатия и пойдут глюки.
Заберёте 800 и может случиться ситуация, когда как раз их не хватит для сжатия и разжатия и пойдут глюки.
-
- Сообщения: 113
- Зарегистрирован: Пн окт 19, 2015 8:27 am
- Благодарил (а): 9 раз
- Поблагодарили: 21 раз
Re: Arduino Mega Server
pastry777, всё правильно, в GET запросе только параметры запроса(128 символов за глаза и за уши), а все данные передаются в теле POST запроса, только будьте внимательны! проверяйте количество загруженных символов в ардуино из-за размера буффера шилда, иначе при появлении багов, из-за не полностью загруженной информации, голову сломаете. Пример можете взять с отправки новых настроек температурных датчиков в sensors.js.
Проверить загрузку jpg смогу только 9 января. Но можешь сам проверить сравнив содержимое файлов на SD и на ПК
Проверить загрузку jpg смогу только 9 января. Но можешь сам проверить сравнив содержимое файлов на SD и на ПК
-
- Сообщения: 81
- Зарегистрирован: Пт окт 02, 2015 7:47 pm
- Благодарил (а): 7 раз
- Поблагодарили: 4 раза
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 КБ) 12499 просмотров
-
- Сообщения: 81
- Зарегистрирован: Пт окт 02, 2015 7:47 pm
- Благодарил (а): 7 раз
- Поблагодарили: 4 раза
Re: Arduino Mega Server
может кому еще пригодится,спасла только вот эта нагугленная штука:
[/size]
Код: Выделить всё
memset(&HTTP_req, 0, sizeof(HTTP_req));
-
- Сообщения: 113
- Зарегистрирован: Пн окт 19, 2015 8:27 am
- Благодарил (а): 9 раз
- Поблагодарили: 21 раз
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 раз.
-
- Сообщения: 81
- Зарегистрирован: Пт окт 02, 2015 7:47 pm
- Благодарил (а): 7 раз
- Поблагодарили: 4 раза
Re: Arduino Mega Server
если б я знал=)
функцию взял из амс как была...
и по всем форумам этот цикл тоже предлагают само-собой,ну что там ведь,просто перебор и нолик вписываем,ведь правда...
не работает!
но!я пробовал указатель убирать,когда экспериментировал,среда разработки сразу ругалась...
функцию взял из амс как была...
и по всем форумам этот цикл тоже предлагают само-собой,ну что там ведь,просто перебор и нолик вписываем,ведь правда...
не работает!
но!я пробовал указатель убирать,когда экспериментировал,среда разработки сразу ругалась...
-
- Сообщения: 113
- Зарегистрирован: Пн окт 19, 2015 8:27 am
- Благодарил (а): 9 раз
- Поблагодарили: 21 раз
Re: Arduino Mega Server
Переменная глобальная, поэтому её не нужно передавать в функцию
Ты работаешь с указателем на первый эл-т массива, а не с самим массивом.
Ты работаешь с указателем на первый эл-т массива, а не с самим массивом.
Последний раз редактировалось SPbDima Пн янв 04, 2016 11:06 am, всего редактировалось 1 раз.
-
- Сообщения: 81
- Зарегистрирован: Пт окт 02, 2015 7:47 pm
- Благодарил (а): 7 раз
- Поблагодарили: 4 раза
Re: Arduino Mega Server
я еще раз повторюсь,я ничего не менял,функцию скопировал из амс так как есть...
скажем так,когда я писал далее по коду(не при инициализации) HTTP_req[REQ_BUF_SIZE] = {0};
строка тоже не затиралась...
вот что пишет,если убрать указатель...
скажем так,когда я писал далее по коду(не при инициализации) HTTP_req[REQ_BUF_SIZE] = {0};
строка тоже не затиралась...
вот что пишет,если убрать указатель...
- Вложения
-
- Безымянный.jpg (95.96 КБ) 12631 просмотр
-
- Сообщения: 113
- Зарегистрирован: Пн окт 19, 2015 8:27 am
- Благодарил (а): 9 раз
- Поблагодарили: 21 раз
Re: Arduino Mega Server
Получается у Алекса глупость написана. Может сам придумал, может списал где. По поводу ошибки: объявление char str - означает str содержит 1 символ, а ты работаешь с str как с массивом. Самое простое это:
Код: Выделить всё
void http_req_clear() {
for(int i=0; i<REQ_BUF_SIZE; i++)
REQ_BUF_SIZE[i]=''; // либо чем обнулять хотите
}