Arduino Mega Server

Модератор: Alex

cg_shura
Сообщения: 110
Зарегистрирован: Пт авг 14, 2015 11:24 am
Благодарил (а): 3 раза
Поблагодарили: 6 раз

Re: Arduino Mega Server

Сообщение cg_shura » Пт авг 14, 2015 6:47 pm

Далее еще нужно контроллировать CRC32 принятой структуры _fileDesc и каждой принимаемой части файла. Если _fileDesc некорректен - сообщаем об этом наверх и остаемся в состоянии UFS_WAIT_FILE_DESC.

А также сначала принимать файл во временный (с расширением .tmp например), а только после успешного приема - переименовывать в постоянный.
Иначе есть шанс что недокачанный файл будет использован в работе сервера.
Аватара пользователя
uni
Сообщения: 191
Зарегистрирован: Вс июл 26, 2015 9:21 pm
Откуда: Екатеринбург
Благодарил (а): 4 раза
Поблагодарили: 7 раз
Контактная информация:

Re: Arduino Mega Server

Сообщение uni » Пт авг 14, 2015 6:50 pm

А я уже предлагал разобраться как делается загрузка файла на сервер через браузер. У меня есть код со стороны браузера для этого дела. Осталось понять как принимать данные. Есть код на shell, который принимает. Наверняка можно разобраться и не мучится.
Заказал себе железо вашей конфигурации, через месяц придёт, посмотрим.
Россия навсегда!
cg_shura
Сообщения: 110
Зарегистрирован: Пт авг 14, 2015 11:24 am
Благодарил (а): 3 раза
Поблагодарили: 6 раз

Re: Arduino Mega Server

Сообщение cg_shura » Пт авг 14, 2015 8:01 pm

uni писал(а):А я уже предлагал разобраться как делается загрузка файла на сервер через браузер. У меня есть код со стороны браузера для этого дела. Осталось понять как принимать данные.
Тут надо будет разобрать HTTP-заголовки и выделить где имя файла, а где часть файла (весь файл?).
Плюс учесть что часть закодирована в base64 (или как она передаются в HTTP бинарные данные).
А код сборки файла тот же самый, просто транспорт другой.
cg_shura
Сообщения: 110
Зарегистрирован: Пт авг 14, 2015 11:24 am
Благодарил (а): 3 раза
Поблагодарили: 6 раз

Re: Arduino Mega Server

Сообщение cg_shura » Пт авг 14, 2015 8:08 pm

А вообще при загрузке по HTTP я бы не надеялся на прямую доступность устройства по IP. А лучше закачивать файл на нормальный хостинг в инете, а девайс уже оттуда будет забирать по частям, через FTP например.
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server

Сообщение Alex » Пт авг 14, 2015 8:16 pm

Для начала я бы сделал конечный автомат, типа такого:
Есть два пути: поправить то, что есть (тут преимущество в том, что оно уже есть и работает) и сделать что-то новое и «более правильное».

Меня устраивают оба варианта, но что-то вразумительное я могу сказать только по первому. Все исходники есть и если кто-то сможет сделать то, что сделал я, только лучше — я буду только за.

Идеологически лучше сразу сделать загрузку по сети, а не по сериалу, но если бы я знал как — я бы давно сделал.
А вообще при загрузке по HTTP я бы не надеялся на прямую доступность устройства по IP. А лучше закачивать файл на нормальный хостинг в инете, а девайс уже оттуда будет забирать по частям, через FTP например.
Девайс не всегда будет иметь доступ в Интернет.
cg_shura
Сообщения: 110
Зарегистрирован: Пт авг 14, 2015 11:24 am
Благодарил (а): 3 раза
Поблагодарили: 6 раз

Re: Arduino Mega Server

Сообщение cg_shura » Пт авг 14, 2015 8:23 pm

Alex писал(а):Есть два пути: поправить то, что есть (тут преимущество в том, что оно уже есть и работает) и сделать что-то новое и «более правильное».
Опыт разработки подсказывает обратное. Если что-то плохо работает и трудно исправить - надо делать заново и правильно. В итоге получается быстрее.
Alex писал(а):Девайс не всегда будет иметь доступ в Интернет.
Ну тогда задача упрощается, не надо выдумывать "двухфазный" сервер.
cg_shura
Сообщения: 110
Зарегистрирован: Пт авг 14, 2015 11:24 am
Благодарил (а): 3 раза
Поблагодарили: 6 раз

Re: Arduino Mega Server

Сообщение cg_shura » Пт авг 14, 2015 8:25 pm

Я вот еще одного не пойму, а есть возможности пошаговой отладки скетчей? Если нет, то скетчи в топку, и делать на обычном C/C++.
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server

Сообщение Alex » Пт авг 14, 2015 8:34 pm

Скетчей на стороне компьютера или Ардуино?
Есть код на shell, который принимает.
Давайте посмотрим
cg_shura
Сообщения: 110
Зарегистрирован: Пт авг 14, 2015 11:24 am
Благодарил (а): 3 раза
Поблагодарили: 6 раз

Re: Arduino Mega Server

Сообщение cg_shura » Пт авг 14, 2015 8:41 pm

Код крутится в контроллере, при этом пошагово его можно проходить в IDE на компьютере. Видно все реальные (в значения переменных, стек вызовов и т.д.
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server

Сообщение Alex » Пт авг 14, 2015 8:44 pm

Насколько я понял что-то подобное возможно со специальной платой, но это к uni, он может объяснить.

А если на C/C++ , то это практически новый проект, всё придётся переписать заново.
Ответить