Страница 32 из 326
Re: Arduino Mega Server
Добавлено: Пт авг 14, 2015 6:47 pm
cg_shura
Далее еще нужно контроллировать CRC32 принятой структуры _fileDesc и каждой принимаемой части файла. Если _fileDesc некорректен - сообщаем об этом наверх и остаемся в состоянии UFS_WAIT_FILE_DESC.
А также сначала принимать файл во временный (с расширением .tmp например), а только после успешного приема - переименовывать в постоянный.
Иначе есть шанс что недокачанный файл будет использован в работе сервера.
Re: Arduino Mega Server
Добавлено: Пт авг 14, 2015 6:50 pm
uni
А я уже предлагал разобраться как делается загрузка файла на сервер через браузер. У меня есть код со стороны браузера для этого дела. Осталось понять как принимать данные. Есть код на shell, который принимает. Наверняка можно разобраться и не мучится.
Заказал себе железо вашей конфигурации, через месяц придёт, посмотрим.
Re: Arduino Mega Server
Добавлено: Пт авг 14, 2015 8:01 pm
cg_shura
uni писал(а):А я уже предлагал разобраться как делается загрузка файла на сервер через браузер. У меня есть код со стороны браузера для этого дела. Осталось понять как принимать данные.
Тут надо будет разобрать HTTP-заголовки и выделить где имя файла, а где часть файла (весь файл?).
Плюс учесть что часть закодирована в base64 (или как она передаются в HTTP бинарные данные).
А код сборки файла тот же самый, просто транспорт другой.
Re: Arduino Mega Server
Добавлено: Пт авг 14, 2015 8:08 pm
cg_shura
А вообще при загрузке по HTTP я бы не надеялся на прямую доступность устройства по IP. А лучше закачивать файл на нормальный хостинг в инете, а девайс уже оттуда будет забирать по частям, через FTP например.
Re: Arduino Mega Server
Добавлено: Пт авг 14, 2015 8:16 pm
Alex
Для начала я бы сделал конечный автомат, типа такого:
Есть два пути: поправить то, что есть (тут преимущество в том, что оно уже есть и работает) и сделать что-то новое и «более правильное».
Меня устраивают оба варианта, но что-то вразумительное я могу сказать только по первому. Все исходники есть и если кто-то сможет сделать то, что сделал я, только лучше — я буду только за.
Идеологически лучше сразу сделать загрузку по сети, а не по сериалу, но если бы я знал как — я бы давно сделал.
А вообще при загрузке по HTTP я бы не надеялся на прямую доступность устройства по IP. А лучше закачивать файл на нормальный хостинг в инете, а девайс уже оттуда будет забирать по частям, через FTP например.
Девайс не всегда будет иметь доступ в Интернет.
Re: Arduino Mega Server
Добавлено: Пт авг 14, 2015 8:23 pm
cg_shura
Alex писал(а):Есть два пути: поправить то, что есть (тут преимущество в том, что оно уже есть и работает) и сделать что-то новое и «более правильное».
Опыт разработки подсказывает обратное. Если что-то плохо работает и трудно исправить - надо делать заново и правильно. В итоге получается быстрее.
Alex писал(а):Девайс не всегда будет иметь доступ в Интернет.
Ну тогда задача упрощается, не надо выдумывать "двухфазный" сервер.
Re: Arduino Mega Server
Добавлено: Пт авг 14, 2015 8:25 pm
cg_shura
Я вот еще одного не пойму, а есть возможности пошаговой отладки скетчей? Если нет, то скетчи в топку, и делать на обычном C/C++.
Re: Arduino Mega Server
Добавлено: Пт авг 14, 2015 8:34 pm
Alex
Скетчей на стороне компьютера или Ардуино?
Есть код на shell, который принимает.
Давайте посмотрим
Re: Arduino Mega Server
Добавлено: Пт авг 14, 2015 8:41 pm
cg_shura
Код крутится в контроллере, при этом пошагово его можно проходить в IDE на компьютере. Видно все реальные (в значения переменных, стек вызовов и т.д.
Re: Arduino Mega Server
Добавлено: Пт авг 14, 2015 8:44 pm
Alex
Насколько я понял что-то подобное возможно со специальной платой, но это к uni, он может объяснить.
А если на C/C++ , то это практически новый проект, всё придётся переписать заново.