Arduino Serial Commander
Модератор: immortal
-
- Сообщения: 2357
- Зарегистрирован: Пт апр 20, 2012 12:53 pm
- Благодарил (а): 42 раза
- Поблагодарили: 262 раза
Arduino Serial Commander
Arduino Serial Commander
Что это?
Это утилита, написанная на Processing (1.5.1) для передачи файлов HTML страниц и скриптов (т. е. текстовых файлов) непосредственно на SD карту Arduino Mega Server. Передача происходит «на лету», без остановки сервера и вынимания карты памяти из Ethernet Shield. На время передачи файла (~5 сек.) сервер приостанавливает свою работу, как только файл залит — продолжает работать дальше.
Бесполезна без комплиментарной части, находящийся в самой прошивке Ардуино, если только посмотреть, что Ардуино выдаёт в Serial порт. В отличие от стандартного монитора не перезапускает Ардуино.
Инсталляция
Просто в исходном коде укажите ваш порт на котором «висит» Ардуино. Ну и конечно у вас должен быть Processing (1.5.1) на компьютере. Пока работает только с файлами в своей директории.
Принцип работы
Шлёт файлы в сериал порт по определённому протоколу потоковым методом с внедрёнными маркерами мета-информации. Скетч на стороне Ардуино выделяет маркеры из потока и следует командам, содержащимся в этих маркерах. Присланную информацию в виде файла скетч записывает в корень SD карты на Ethernet Shield.
Известные баги
Иногда (редко) передача происходит с ошибками (по неизвестным причинам). Для борьбы с этим явлением введён костыль, устраняющий проблему на 99%. Требуется решение этой проблемы.
Задачи:
Устранение бага с передачей файлов
Добавление режима передачи бинарных файлов
Добавление режима передачи и приёма команд
Добавление режима работы с директориями
Что это?
Это утилита, написанная на Processing (1.5.1) для передачи файлов HTML страниц и скриптов (т. е. текстовых файлов) непосредственно на SD карту Arduino Mega Server. Передача происходит «на лету», без остановки сервера и вынимания карты памяти из Ethernet Shield. На время передачи файла (~5 сек.) сервер приостанавливает свою работу, как только файл залит — продолжает работать дальше.
Бесполезна без комплиментарной части, находящийся в самой прошивке Ардуино, если только посмотреть, что Ардуино выдаёт в Serial порт. В отличие от стандартного монитора не перезапускает Ардуино.
Инсталляция
Просто в исходном коде укажите ваш порт на котором «висит» Ардуино. Ну и конечно у вас должен быть Processing (1.5.1) на компьютере. Пока работает только с файлами в своей директории.
Принцип работы
Шлёт файлы в сериал порт по определённому протоколу потоковым методом с внедрёнными маркерами мета-информации. Скетч на стороне Ардуино выделяет маркеры из потока и следует командам, содержащимся в этих маркерах. Присланную информацию в виде файла скетч записывает в корень SD карты на Ethernet Shield.
Известные баги
Иногда (редко) передача происходит с ошибками (по неизвестным причинам). Для борьбы с этим явлением введён костыль, устраняющий проблему на 99%. Требуется решение этой проблемы.
Задачи:
Устранение бага с передачей файлов
Добавление режима передачи бинарных файлов
Добавление режима передачи и приёма команд
Добавление режима работы с директориями
- Вложения
-
- arduino_serial_commander.zip
- Arduino Serial Commander
- (37.69 КБ) 476 скачиваний
-
- Загрузка
- asc.png (27.99 КБ) 12780 просмотров
-
- Мониторинг
- asc2.png (21.47 КБ) 12780 просмотров
- Рейтинг: 1.16%
-
- Сообщения: 16
- Зарегистрирован: Вс фев 21, 2016 8:39 am
- Благодарил (а): 5 раз
- Поблагодарили: 0
Re: Arduino Serial Commander
Добрый день!
Скачал и разархивировал файл arduino_serial_commander.zip [37.69 КБ]
Запустил. Получил WEB-страницу отличающуюся от Вашей. Показана ниже.
Вопросы:
1. Как получить такую WEB-страницу как у Вас?
2. Как переключиться в режим Monitoring com port....?
3. Как записать файл на SD-карту?
Облазил весь форум, инструкций не нашел!
Скачал и разархивировал файл arduino_serial_commander.zip [37.69 КБ]
Запустил. Получил WEB-страницу отличающуюся от Вашей. Показана ниже.
Вопросы:
1. Как получить такую WEB-страницу как у Вас?
2. Как переключиться в режим Monitoring com port....?
3. Как записать файл на SD-карту?
Облазил весь форум, инструкций не нашел!
- Вложения
-
- arduino_serial_commander.jpg (43.72 КБ) 11703 просмотра
-
- Сообщения: 2357
- Зарегистрирован: Пт апр 20, 2012 12:53 pm
- Благодарил (а): 42 раза
- Поблагодарили: 262 раза
Re: Arduino Serial Commander
Скачивать утилиту не нужно. Последняя версия идёт в дистрибутиве АМС.Добрый день!
Скачал и разархивировал файл arduino_serial_commander.zip [37.69 КБ]
Запустил. Получил WEB-страницу отличающуюся от Вашей. Показана ниже.
Судя по вашему скриншоту, вы забыли нажать на кнопку с треугольником, запускающим скетч.Вопросы:
1. Как получить такую WEB-страницу как у Вас?
Нажать на кнопку «Monitoring»2. Как переключиться в режим Monitoring com port....?
Выбрать файл кнопкой «Open» и затем нажать на кнопку «Upload!»3. Как записать файл на SD-карту?
Облазил весь форум, инструкций не нашел!
Ещё нужно не забыть указать порт
http://hi-lab.ru/arduino-mega-server/do ... processing
-
- Сообщения: 791
- Зарегистрирован: Пт янв 22, 2016 10:08 am
- Благодарил (а): 6 раз
- Поблагодарили: 63 раза
-
- Сообщения: 791
- Зарегистрирован: Пт янв 22, 2016 10:08 am
- Благодарил (а): 6 раз
- Поблагодарили: 63 раза
Re: Arduino Serial Commander
Добрый день Alex.Пробую Serial Commander , столкнулся с такой проблемой,при запуске в функции
в этом месте
фото в архиве внизу
Порт используется тот же что и при программировании?
) ,void sendWorks(
в этом месте
вылетает с ошибкой// Go
if (currentLine < lines.length && TRANSFER) {
transfer();
}
фото в архиве внизу
Порт используется тот же что и при программировании?
- Вложения
-
- Безымянный_1.rar
- (45.75 КБ) 243 скачивания
-
- Сообщения: 2357
- Зарегистрирован: Пт апр 20, 2012 12:53 pm
- Благодарил (а): 42 раза
- Поблагодарили: 262 раза
Re: Arduino Serial Commander
Для начала рекомендую ознакомиться с документацией Arduino Serial Commander:
«Установка Processing»
http://hi-lab.ru/arduino-mega-server/do ... processing
«Arduino Serial Commander»
http://hi-lab.ru/arduino-mega-server/do ... -commander
Если после прочтения останутся вопросы — задавайте.
«Установка Processing»
http://hi-lab.ru/arduino-mega-server/do ... processing
«Arduino Serial Commander»
http://hi-lab.ru/arduino-mega-server/do ... -commander
Если после прочтения останутся вопросы — задавайте.
-
- Сообщения: 791
- Зарегистрирован: Пт янв 22, 2016 10:08 am
- Благодарил (а): 6 раз
- Поблагодарили: 63 раза
Re: Arduino Serial Commander
Добрый день.
Утилиту запустил, работает,вопрос в следующем, при заливке файлов графический форматов иногда происходит порча файлов, они перестают открываться
происходит увеличение размера залитого файла ,при открытии в hex редакторе рядом оригинала и копии видно различие в виде цепочки левых байт (4 шт),байты могут находится в любой части файла, если их удалить(прямо в редакторе)то файл начинает нормально просматриваться,из четырех залитых файлов отказались работать два, jpeg вроде открылся но кто даст гарантию что стабильно, файлы в архиве прилагаю откроете в hex все увидите.
Второй вопрос скорость, работает очень медленно, увеличение скорости COM порта , прироста скорости не дает,хотел посмотреть что он там настраивает,не смог добраться до самого драйвера порта, готовая функция пожалуйста, залезть внутрь никак.
Утилиту запустил, работает,вопрос в следующем, при заливке файлов графический форматов иногда происходит порча файлов, они перестают открываться
происходит увеличение размера залитого файла ,при открытии в hex редакторе рядом оригинала и копии видно различие в виде цепочки левых байт (4 шт),байты могут находится в любой части файла, если их удалить(прямо в редакторе)то файл начинает нормально просматриваться,из четырех залитых файлов отказались работать два, jpeg вроде открылся но кто даст гарантию что стабильно, файлы в архиве прилагаю откроете в hex все увидите.
Второй вопрос скорость, работает очень медленно, увеличение скорости COM порта , прироста скорости не дает,хотел посмотреть что он там настраивает,не смог добраться до самого драйвера порта, готовая функция пожалуйста, залезть внутрь никак.
- Вложения
-
- архив.rar
- (24.07 КБ) 252 скачивания
-
- Сообщения: 2357
- Зарегистрирован: Пт апр 20, 2012 12:53 pm
- Благодарил (а): 42 раза
- Поблагодарили: 262 раза
Re: Arduino Serial Commander
По ссылкам, которые я дал, написано, что АСК на данный момент поддерживает передачу только текстовых файлов. Это связано с тем, что пока не удаётся передать файл точно, байт в байт. Для этого нужно перерабатывать протокол и вводить проверку передаваемой информации. Решение этой проблемы стоит в планах, на всё не хватает времени.Добрый день.
Утилиту запустил, работает,вопрос в следующем, при заливке файлов графический форматов иногда происходит порча файлов, они перестают открываться
происходит увеличение размера залитого файла ,при открытии в hex редакторе рядом оригинала и копии видно различие в виде цепочки левых байт (4 шт),байты могут находится в любой части файла, если их удалить(прямо в редакторе)то файл начинает нормально просматриваться,из четырех залитых файлов отказались работать два, jpeg вроде открылся но кто даст гарантию что стабильно, файлы в архиве прилагаю откроете в hex все увидите.
Возможно, медленная работа связана с задержкой после передачи каждого байта. Это временная мера, снижающая вероятность ошибок передачи.Второй вопрос скорость, работает очень медленно, увеличение скорости COM порта , прироста скорости не дает,хотел посмотреть что он там настраивает,не смог добраться до самого драйвера порта, готовая функция пожалуйста, залезть внутрь никак.
Код: Выделить всё
void transfer() {
boolean protect = false;
for (int i = 0; i < binarys.length; i++) {
if (binarys[i] == 10 && !protect) {
sendErrorProtection();
protect = true;
}
port.write(binarys[i]);
delay(2); // !!!!!!!!!!!!!!!!!!
}
currentLine = 5000;
}
-
- Сообщения: 791
- Зарегистрирован: Пт янв 22, 2016 10:08 am
- Благодарил (а): 6 раз
- Поблагодарили: 63 раза
Re: Arduino Serial Commander
понятно, покопался в коде Processinga все довольно мутно, цепочка левых байт скорей всего глюк самой среды, об этом говорит ее постоянство,сомневаюсь что они возникают в контроллере или при передачи по UART, меня уже посещает мысль переписать все это на дельфи, и избавится от прокладки под названием jawa машина.По ссылкам, которые я дал, написано, что АСК на данный момент поддерживает передачу только текстовых файлов. Это связано с тем, что пока не удаётся передать файл точно, байт в байт. Для этого нужно перерабатывать протокол и вводить проверку передаваемой информации. Решение этой проблемы стоит в планах, на всё не хватает времени.
Да этот код я видел.
попробуем решать.Непонятно в чём причина ошибок при передаче файлов. За всё время не нашлось ни одного грамотного специалиста, который мог бы объяснить это и решить эту проблему.
-
- Сообщения: 791
- Зарегистрирован: Пт янв 22, 2016 10:08 am
- Благодарил (а): 6 раз
- Поблагодарили: 63 раза
Re: Arduino Serial Commander
Вообщем покопался в коде, чето как то все странно , решил попробовать переписать утилиту на дельфи(во вложении скрин),на реальном устройстве пока не испытывал , модно загрузить отдельно текстовый файл, отдельно графический, открытый графический файл отображается в виде картинки, грузит с любого места, файлы не портит, при сохранении открытых файлов ,вновь созданные копии полностью работоспособны, остается испытать на устройстве.