Arduino Mega Server

Модератор: Alex

123ksn
Сообщения: 8
Зарегистрирован: Сб июл 25, 2015 1:23 am
Благодарил (а): 5 раз
Поблагодарили: 0

Re: Arduino Mega Server

Сообщение 123ksn » Вт июл 28, 2015 4:53 pm

Может быть эта статья поможет увеличить скорость: "Соединяем два Arduino по SPI" https://sites.google.com/site/vanyambau ... ino-po-spi
Цитата: "Соединив два Arduino по интерфейсу я получил успешную передачу данных со скоростью 4 Мбит/сек"
ингвар
Сообщения: 142
Зарегистрирован: Вт ноя 25, 2014 2:06 pm
Благодарил (а): 33 раза
Поблагодарили: 0

Re: Arduino Mega Server

Сообщение ингвар » Вт июл 28, 2015 5:43 pm

Всем доброго дня у меня такая проблема сделал все как написано залил все на SD захожу по адресу меги а там пустая страница нет ни чего
правда sd 16 гиг(другой не было в наличии) может из за нее
в чем может быть причина?
Windows 10 + Raspberry Pi3 + ESP8266
Аватара пользователя
uni
Сообщения: 191
Зарегистрирован: Вс июл 26, 2015 9:21 pm
Откуда: Екатеринбург
Благодарил (а): 4 раза
Поблагодарили: 7 раз
Контактная информация:

Re: Arduino Mega Server

Сообщение uni » Вт июл 28, 2015 8:14 pm

Вопрос. На что уходит 8 секунд и как это выяви
Моих телепатических возможностей уже недостаточно. У меня нет ни Ардуины, ни платы шилда, а без железа я могу только догадываться по косвенным признакам. Нужно организовать тесты разными способами. Поставить сниффер и смотреть в нём как идёт обмен с платой, какие пакеты и в какое время уходят, приходят. Собирать статистику. В браузере нажать F12, если это хром, и посмотреть диаграмму загрузки страницы и её элементов, там есть профилирование - инструменты разработчика.
Для тонкой настройки желательно иметь анализатор сигналов, но такой штукой надо уметь пользоваться. Зато такой анализатор может всё рассказать о задержках на линии.

Откуда взялась скорость в 43 Кб/сек? Пояснить расчётом с описанием настроек мк при тестировании. Вообще, желательно знать на какой частоте работает мк и как фактически настроен SPI. В нём есть специальный режим работы на половине частоты мк.

Судя по ссылкам выше, метод print() тоже использует побайтную отправку. Не знаю насколько это сильно влияет, но его можно заменить на write() с буфером.
Россия навсегда!
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server

Сообщение Alex » Вт июл 28, 2015 10:05 pm

Всем доброго дня у меня такая проблема сделал все как написано залил все на SD захожу по адресу меги а там пустая страница нет ни чего
правда sd 16 гиг(другой не было в наличии) может из за нее
в чем может быть причина?
Такая вещь возможна из-за ошибки загрузки страницы на SD карту. В Arduino Serial Commander есть баг, когда страничка загружается с ошибкой. Происходит это редко, но бывает. Я никак не могу справиться с этим багом, возможно кто-то поможет. Спасает простая повторная отправка файла.

По поводу SD на 16ГБ трудно сказать. Желательно попробовать с самой простой на 2ГБ.

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

Re: Arduino Mega Server

Сообщение Alex » Вт июл 28, 2015 10:19 pm

Откуда взялась скорость в 43 Кб/сек? Пояснить расчётом с описанием настроек мк при тестировании.

Код: Выделить всё

          unsigned long go_prof = millis();
          long bytes_file = 0;          
          
          // send web page to client
          if (webFile) {
            while(webFile.available()) {
              rsize = webFile.read( buff, MAX_BUFFER_SIZE );
              sclient.write( buff, rsize );              
              
              bytes_file++;
            }
            
            unsigned long res_prof = millis() - go_prof;
            sclient.println();
            sclient.print("<!-- ");
            sclient.print(res_prof);
            sclient.println(" -->");
          
            sclient.print("<!-- ");
            sclient.print(bytes_file);
            sclient.println(" -->");
          
            float transfer_speed = (1000.0/(float)res_prof)*((float)bytes_file*32.0);
            sclient.print("<!-- ");
            sclient.print(transfer_speed);
            sclient.println(" -->"); 
            
            webFile.close();
          } 
ингвар
Сообщения: 142
Зарегистрирован: Вт ноя 25, 2014 2:06 pm
Благодарил (а): 33 раза
Поблагодарили: 0

Re: Arduino Mega Server

Сообщение ингвар » Вт июл 28, 2015 10:50 pm

Alex писал(а):
Всем доброго дня у меня такая проблема сделал все как написано залил все на SD захожу по адресу меги а там пустая страница нет ни чего
правда sd 16 гиг(другой не было в наличии) может из за нее
в чем может быть причина?
Такая вещь возможна из-за ошибки загрузки страницы на SD карту. В Arduino Serial Commander есть баг, когда страничка загружается с ошибкой. Происходит это редко, но бывает. Я никак не могу справиться с этим багом, возможно кто-то поможет. Спасает простая повторная отправка файла.

По поводу SD на 16ГБ трудно сказать. Желательно попробовать с самой простой на 2ГБ.

Возможны и другие причины, дистанционно трудно сказать.
спасибо за ответ
а загружал файлы напрямую на sd а потом вставлял на плату
а в Arduino Serial Commander при заливке выскакивает ошибка
Вложения
44544.PNG
44544.PNG (62.5 КБ) 17515 просмотров
Windows 10 + Raspberry Pi3 + ESP8266
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server

Сообщение Alex » Ср июл 29, 2015 7:13 am

а загружал файлы напрямую на sd а потом вставлял на плату
а в Arduino Serial Commander при заливке выскакивает ошибка
Arduino Serial Commander разрабатывался на Processing 1.5.1, возможно это несовместимость с вашей версией Processing-а.

Или ему не нравится то, что строка в кавычках одна, попробуйте добавить

, ”test”

к строке в скобках
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server

Сообщение Alex » Ср июл 29, 2015 11:38 am

Выясняю виновника медленной загрузки.

Вопрос с быстродействием карты снят, там больше проблем нет.

Удалось установить, что виновником медленной загрузки является задержка перед получением ответа от Ардуино, причём:

одни и те же файлы иногда передаются мгновенно, а иногда ждут ответа Ардуино аж до 10 секунд (!);

файл CSS всегда очень медленно грузится (возможно это вина браузера, который на ходу пытается разобрать CSS ? );

JS файлы иногда грузятся быстро, иногда ждут ответа до 4-х секунд;

HTML практически всегда грузятся быстро.

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

Re: Arduino Mega Server

Сообщение uni » Ср июл 29, 2015 12:45 pm

А можно сделать несколько скринов загрузки (одной и той же) странички типа такой как ниже, чтобы оценить масштаб проблемы?

Изображение
Россия навсегда!
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server

Сообщение Alex » Ср июл 29, 2015 1:20 pm

Скриншоты. Видно, что аномальная задержка гуляет по разным файлам, CSS всегда долго ждёт ответа.
Вложения
prof.jpg
prof
prof.jpg (125.72 КБ) 17432 просмотра
Ответить