lolful 0 31 августа, 2016 Опубликовано 31 августа, 2016 · Жалоба Добрый день. Последние пару дней пытаюсь выжать из SIM800C максимальную скорость передачи по GPRS через встроенный TCP/IP-стек (upload, то есть, в направлении устройство->модуль->GPRS->Internet->ПК). Максимум, что у меня получилось - это передача 1 Мб данных за 6 минут, что соответствует 22 Кб/сек (результат от времени суток не зависит). При том, что в даташите написана максимальная скорость для GPRS 85.6 Кб/сек - есть куда стремиться. Условия: стабильно хорошая связь, +CSQ: 25,0, скорость UART 115.2 Кб/сек, Revision:1418B02SIM800C24 Алгоритм следующий: 1) открываю TCP соединение AT+CIICR AT+CIPSTART=... 2) отправляю данные AT+CIPSEND=900..1400 > <данные> 3) проверяю заполненность буфера модема AT+CIPACK Команда возвращает 3 значения: -размер отправленных данных -размер успешно принятых удаленным узлом данных -размер данных, ожидающих отправки Если размер ожидающих данных меньше 4кБ, перехожу к шагу 2 В противном случае, жду некоторое время (100 мсек) и повторяю шаг 3 Если размер ожидающих данных становится больше ~5кБ, то модуль сам разрывает соединение. Если включить EDGE (AT+CEGPRS=1,12), то ситуация качественно не меняется. Возможно, скорость увеличивается процентов на 10, но и то не факт, т.к. может быть просто погрешность измерения такая. К тому же, в модуле ни слова про EDGE. Подозреваю, что "узкое горлышко" - это реализация TCP/IP стека в модуле. Меня интересует, кто как решал задачу реализации передачи данных через GPRS в модулях SIMCOM с максимальность скоростью, и какие результаты, при этом, были получены. Получиться ли добиться большей скорости, если использовать другие способы передачи данных, например в прозрачном режиме (transparent mode, AT+CIPMODE=1)? PS Кстати, при получении TCP пакетов я вижу такую картину. Как-то странно данные на пакеты разбиваются. С учетом того, что я разом (одной командой AT+CIPSEND) отправляю не менее 900 байт. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
smalcom 0 31 августа, 2016 Опубликовано 31 августа, 2016 · Жалоба если хотите скорости, то пробуйте "прозрачный" режим. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CADiLO 11 31 августа, 2016 Опубликовано 31 августа, 2016 · Жалоба >>> Максимум, что у меня получилось - это передача 1 Мб данных за 6 минут, что соответствует 22 Кб/сек (результат от времени суток не зависит). >>> При том, что в даташите написана максимальная скорость для GPRS 85.6 Кб/сек - есть куда стремиться. Перед тем как стремиться убедитесь что этого же хочет оператор :) GPRS класс 12 - в этом режиме практически никто не работает из операторов DL: максим. 85.6 кбит/с UL: максим. 86.6 кбит/с GPRS класс 10 - тут уже получше, в этом режиме большиство работает, но не забывайте что DL - это ваш прием, а не передача DL: максим. 85.6 кбит/с UL: максим. 42.8 кбит/с GPRS класс 8 - а вот в этом режиме будут работать соты или с устаревшим оборудованием или при загруженной сети - и мне кажется это ваш случай. DL: максим. 85.6 кбит/с UL: максим. 21.4 кбит/с Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lolful 0 31 августа, 2016 Опубликовано 31 августа, 2016 · Жалоба А каким образом узнать чего хочет оператор? Как-то можно узнать какой сейчас используется класс и сколько таймслотов выделяется? Допустим, через catcher это как-то можно сделать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Hub 0 31 августа, 2016 Опубликовано 31 августа, 2016 · Жалоба 1. на SIM800C нет EDGE EDGE_Rx (это только на прием 256, на выкладывание - те же 85) есть только на модулях использующих чипсет МТ6260 2. попробовать действовать на свежей прошивке, запросив ее у своего дистрибьютора 3. да, прозрачный режим должен поднять скорость. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lolful 0 31 августа, 2016 Опубликовано 31 августа, 2016 · Жалоба В очередной раз скачал файл из устройства размером 1 Мб - скачалось за 310 секунд, что соответствует скорости 27 кбит/сек. Получается, все-таки класс 10 (2 таймслота UP). Выставил 8й класс с помощью AT+CGMSCLASS=8 (потребовалась перезагрузка, чтобы что-то изменилось). Скорость упала более, чем в 2 раза. В общем, в идеальных условиях, в идеальном мире должно быть около 40 кбит/с, раз соты не поддерживают 12й класс GPRS. Скорее всего, у меня получается 27 кбит/с из-за того, что: 1) Packet overhead 2) Не все 100% времени доступны оба таймслота А что, 12й класс GPRS - это такой моветон среди операторов? Так-то существует 34 класса... С 12 по 34й тоже никто не использует? Короче, если считать, что 40 кбит - это теоретический предел, то 27 кбит меня устраивает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CADiLO 11 31 августа, 2016 Опубликовано 31 августа, 2016 · Жалоба >>>А что, 12й класс GPRS - это такой моветон среди операторов? У операторов приоритет - разговоры. Поэтому под GPRS отдают минимум из возможного. А если в пиковые моменты не будет хватать слотов под разговор, то GPRS оборвут без предупреждения и отдадут слоты под Voice. Ну и в глубинках есть еще соты котрые о 10-ке не знают, не то что о CLASS 12 :) Пробегало в какой-то теме что стабильно железки только на CLASS 8 работали, а на 10-ке постоянно рвался коннект. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lolful 0 31 августа, 2016 Опубликовано 31 августа, 2016 · Жалоба У операторов приоритет - разговоры. Поэтому под GPRS отдают минимум из возможного. Ну если есть 4 слота свободных, почему бы не дать 4, а не 2? "Че им, жалко штоле?" С учетом оверхеда у меня, кстати, получилось 34 кбит (26% оверхеда, их которых 20% - прикладной уровень). А 34 из 40 - не так уж и плохо... Пойду 3G мучить лучше. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lolful 0 31 августа, 2016 Опубликовано 31 августа, 2016 · Жалоба Хорошо, а как в прозрачном режиме не переполнить буфер модема? Подозреваю, что если я начну загонять в модем данных больше, чем он может передать по GPRS, то он просто разорвет соединение? В непрозрачном режиме я проверял заполненность буфера командой CIPACK, а тут как надо поступить? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CADiLO 11 31 августа, 2016 Опубликовано 31 августа, 2016 · Жалоба Ну как бы существуют сигналы RTS/CTS ..... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
smalcom 0 31 августа, 2016 Опубликовано 31 августа, 2016 · Жалоба Хорошо, а как в прозрачном режиме не переполнить буфер модема? Использовать RTS/CTS. Если это невозможно (плату уже не переделать), то использовать мультиплексор (CMUX) и кадр запроса данных о состоянии линий: вроде программного RTS/CTS получится. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CADiLO 11 31 августа, 2016 Опубликовано 31 августа, 2016 · Жалоба Тоже вариант, но если у контроллера есть пару свободных IO, то лучше физически обработать. Пару проводов бросить поверху. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Укушенный воблой 0 31 августа, 2016 Опубликовано 31 августа, 2016 · Жалоба А почему GPSS? Он вроде как лет 15 как сдох. Уже 5G на подходе Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Hub 0 2 сентября, 2016 Опубликовано 2 сентября, 2016 · Жалоба А почему GPSS? Он вроде как лет 15 как сдох. Уже 5G на подходе предлагаю не обсуждать в этом топике тему перспектив 2G. лучше перенести в отдельный топик. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться