|
Sagem HiLo передача данных через TCP/IP |
|
|
|
May 14 2009, 06:25
|
Участник

Группа: Участник
Сообщений: 25
Регистрация: 14-05-09
Пользователь №: 49 051

|
А какая версия прошивки в модуле? Цитата(=F8= @ May 8 2009, 12:41)  Пытаюсь передавать данные с помощью встроенного TCP стека. Управление потоком - аппаратное(CTS). Делаю так: Даю команду AT+KTCPSND=(№сокета), (кол-во байт) и затем в цикле передаю данные, при этом слежу за CTS если она переходит в 1 останавливаю передачу данных, после перехода в 0 передачу возобновляю. За одну команду передаю не более 4кБ. После окончания передачи после таймаута в 50мс выдаю EOF последовательность. При передаче порядка 100кБ больше половины данных не доходит. На другом конце(на приеме) также модем со встроенным TCP/IP, пробовал sim300 и telit GT863. При этом с telitа на sim300 все проходит нормально. Так-же если замедлить передачу вставив, например, паузы около 1500мс после передачи каждого пакета то тоже потерь нет.
|
|
|
|
|
May 15 2009, 12:34
|
Знающий
   
Группа: Свой
Сообщений: 567
Регистрация: 7-07-07
Из: Донецк
Пользователь №: 28 954

|
Цитата(ilya_nn @ May 14 2009, 09:25)  А какая версия прошивки в модуле? Вроде как 4 02 +KGSN: 35165602026526-4 02
|
|
|
|
|
May 19 2009, 06:50
|
Участник

Группа: Участник
Сообщений: 25
Регистрация: 14-05-09
Пользователь №: 49 051

|
Цитата(=F8= @ May 15 2009, 15:34)  Вроде как 4 02 +KGSN: 35165602026526-4 02 Для определения версии софта лучше используйте команду AT+CGMR. Последняя версия прошивки для HiLo вроде как 6.0 Более ранние прошивки имели глюки с TCP/IP стеком, может ваш из их числа.
|
|
|
|
|
May 19 2009, 12:35
|
Знающий
   
Группа: Свой
Сообщений: 567
Регистрация: 7-07-07
Из: Донецк
Пользователь №: 28 954

|
Цитата Для определения версии софта лучше используйте команду AT+CGMR. Последняя версия прошивки для HiLo вроде как 6.0 Более ранние прошивки имели глюки с TCP/IP стеком, может ваш из их числа. Проверил - 5я версия, связался с Гаммой у которых брали модуль - говорят более свежей нет. В общем заработала передача, но с одним 'но' - если вошел в режим передачи, то выходить из него пока все не передашь низя. Если прервать передачу передав EOF можно потерять кусок данных. Что очень мягко говоря, с учетом того, что передача в gprs может легко заткнуться секунд на 10, ни есть гут. Можно выйти дрыгнув DTRом, но это практически бессмысленно т.к. читать из сокета в этом случае(пока не завершена передача) нельзя. Вообще возникает вопрос а на кой собственно это EOF нужен если пользоваться им низя????
Сообщение отредактировал =F8= - May 19 2009, 12:41
|
|
|
|
|
May 22 2009, 10:46
|
Группа: Участник
Сообщений: 12
Регистрация: 15-01-09
Пользователь №: 43 428

|
=F8=, а реально есть необходимость такие большие куски передавать?
100К конечно не много, но не для ЖПРС-а за раз...
|
|
|
|
|
May 25 2009, 06:48
|
Участник

Группа: Участник
Сообщений: 25
Регистрация: 14-05-09
Пользователь №: 49 051

|
У меня сейчас в HiLo прошита 6-я версия, так что она есть. Признак EOF служит для модуля командой переключения в командный режим. То же самое можно сделать, если выдать после данных напрямую "+++". Если вы выдаете EOF или "+++", то модуль переходит в командный режим и все, что было в буфере, теряется. Цитата(=F8= @ May 19 2009, 15:35)  Проверил - 5я версия, связался с Гаммой у которых брали модуль - говорят более свежей нет.
В общем заработала передача, но с одним 'но' - если вошел в режим передачи, то выходить из него пока все не передашь низя. Если прервать передачу передав EOF можно потерять кусок данных. Что очень мягко говоря, с учетом того, что передача в gprs может легко заткнуться секунд на 10, ни есть гут. Можно выйти дрыгнув DTRом, но это практически бессмысленно т.к. читать из сокета в этом случае(пока не завершена передача) нельзя. Вообще возникает вопрос а на кой собственно это EOF нужен если пользоваться им низя????
|
|
|
|
|
Jul 14 2009, 14:13
|
Знающий
   
Группа: Свой
Сообщений: 567
Регистрация: 7-07-07
Из: Донецк
Пользователь №: 28 954

|
Цитата(CADiLO @ Jul 14 2009, 16:21)  GPIO конфигурятся AT-командами - переконфигурить пробовали ?
AT+KGPIO AT+KGPIOCFG Да. разумеется. AT+KGPIOCFG=1,0,2 OK AT+KGPIOCFG=2,0,2 OK AT+KGPIOCFG=4,0,2 OK AT+KGPIOCFG? +KGPIOCFG: 1,0,2 +KGPIOCFG: 2,0,2 +KGPIOCFG: 3,1,0 +KGPIOCFG: 4,0,2 +KGPIOCFG: 5,1,2 +KGPIOCFG: 6,1,1 +KGPIOCFG: 7,0,2 +KGPIOCFG: 8,1,2 OK AT+KGPIO=1,1 OK AT+KGPIO=2,1 OK AT+KGPIO=4,1 OK После этого 1 и 2 выход переключаются в 1. 4-й на выход не переключается вообще(проверял тестором)
|
|
|
|
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|