Перейти к содержанию
    

Вешаем таблички на грабли

Вобщем SIMCOM использовали, используют и использовать будут, это факт! :) Того, кто с этим не согласен, прошу создавать новую тему и обговаривать этот вопрос там.

В этой теме предлагаю описывать программно/аппаратные проблемы возникшие на практике и как Вы их решали, чтоб последующие поколения не наступали на те же грабли :). Т.е. не ждать пока кто то не закричит ПАМАГИТЕ!!!, а создать некий список трабл, которые лучше сразу предусмотреть в своем устройстве.

И так:

 

МОДУЛЬ: SIM300CZ 1008B09SIM300C32_SPANSION обновлен до 1008B12SIM300C32_SPANSION

 

ПРОБЛЕМА: если разовать TCP соединение со стороны сервера в момент отправки пакета, то модуль входит в клинч (коннектится к серверу, получает статус CONNECT OK) НО на отправленные пакеты не возвращает SEND OK и собственно сервер эти пакеты не получает.. но модуль при этом не говорит ни ERROR, ни чего ошибочного, просто молчит на пасылку ему пакета, после приглашения "> " команды AT+CIPSEND

 

НАЙДЕНЫЙ ВЫХОД: пока только КОРРЕКТНЫЙ ресет с передергиванием питания (IP CLOSE, IP SHUT к сожалению не помогают) AT+СFUN=0/1 не пробовал

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ПРОБЛЕМА: если разовать TCP соединение со стороны сервера в момент отправки пакета, то модуль входит в клинч (коннектится к серверу, получает статус CONNECT OK) НО на отправленные пакеты не возвращает SEND OK и собственно сервер эти пакеты не получает.. но модуль при этом не говорит ни ERROR, ни чего ошибочного, просто молчит на пасылку ему пакета, после приглашения "> " команды AT+CIPSEND

У меня построена обработака тупиковых ситуаций таким образом.

после посылки данных AT+CIPSEND жду подверждения SEND OK и особенно потверждения от сервера что данне дошли и контроль совпадает. далее у нас сервер автоматом рвет соединение. если я получил подтверждени о правильных данных, то считаю что эти данные отправлены. независимо от того данные переданы успешно или нет если небыло в тесении 30сек разрыва сеединения, то шлю команду разрыва соединения. далее если небыло подтверждения о правильном приеме то повторяю попытку передачи данных. если после 7 попыток передачи данных не достигаю успеха или не получаю конекта, то выключаю модуль снимаю питание потом все сначала.

Первая проблема с которой я сталкнулся, это после покупки новой партии симкарточек, посылка длиной более 500 байт не всегда уходит. похоже что модуль передает ее не всю. не дожидаясь ^Z.

получаю ответ от сервера что данные не верны. хотя иногда уходит и 1к. Ставлю старую сим карту, нет проблем. Пока решил это проблему ограничение посылки 512 байтами.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

далее у нас сервер автоматом рвет соединение. если я получил подтверждени о правильных данных, то считаю что эти данные отправлены. независимо от того данные переданы успешно или нет если небыло в тесении 30сек разрыва сеединения, то шлю команду разрыва соединения.

Ну мне такой вариант не подходит, я имею ввиду постоянный разрыв соединения с сервером, данные довольно таки часто передаются.. да плюс трафик на соединение/разрыв капает... а описаная мной проблема просто коварна тем, что модуль реагирует на все команды вполне адекватна (в том числе и для работы с GPRS), а пакеты не шлет и SEND OK естесно не возвращает... хотя соединение с сервером и устанавливает и разрывает нормально

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну мне такой вариант не подходит, я имею ввиду постоянный разрыв соединения с сервером, данные довольно таки часто передаются.. да плюс трафик на соединение/разрыв капает... а описаная мной проблема просто коварна тем, что модуль реагирует на все команды вполне адекватна (в том числе и для работы с GPRS), а пакеты не шлет и SEND OK естесно не возвращает... хотя соединение с сервером и устанавливает и разрывает нормально

ну так если в течении кокогото время не получаете SEND OK, то значит пора предергивать модуль.

А соединения у нас рвет сервер для того чтоб дать другим устройством законектится. Число конектов на оди порт ограничено. А в таком случае количество устройств передающих информацию буде в десятки раз больше.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

МОДУЛЬ: SIM300CZ 1008B09SIM300C32_SPANSION обновлен до 1008B12SIM300C32_SPANSION

 

ПРОБЛЕМА: если разовать TCP соединение со стороны сервера в момент отправки пакета, то модуль входит в клинч (коннектится к серверу, получает статус CONNECT OK) НО на отправленные пакеты не возвращает SEND OK и собственно сервер эти пакеты не получает.. но модуль при этом не говорит ни ERROR, ни чего ошибочного, просто молчит на пасылку ему пакета, после приглашения "> " команды AT+CIPSEND

 

НАЙДЕНЫЙ ВЫХОД: пока только КОРРЕКТНЫЙ ресет с передергиванием питания (IP CLOSE, IP SHUT к сожалению не помогают) AT+СFUN=0/1 не пробовал

Может быть все-таки нужно обновиться на последнюю версию, а то B12 для SPANSION годовалой давности. За это время китайцы хорошо потрудились над багами в GPRS. Посмотрите release notes для версий B13 и B14.

 

По крайней мере, я мучаю SIM300Z 1008B15_SST и там ничего подобного не наблюдается. Частенько, когда серверный компьютер запущен, но само серверное приложение не работает, наблюдается такая же картина:

сервер отвечает CONNECT OK, после посылки данных AT+CIPSEND тишина и ничего не приходит. Но это на мой взгляд нормальная ситуация. После истечения таймаута (у меня 2 мин) и повторной посылки данных, подается AT+CIPSHUT, которая вполне корректно отрабатывается модемом :laughing:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может быть все-таки нужно обновиться на последнюю версию, а то B12 для SPANSION годовалой давности. За это время китайцы хорошо потрудились над багами в GPRS. Посмотрите release notes для версий B13 и B14.

Спасибо, попробую. Но создавая тему я хотел немного другого. Отписок вроде:

МОДЕЛЬ/ПРОШИВКА ---

ПРОБЛЕМА----

КАК САМИ РЕШИЛИ ----

и отвечать на такие сообщения только в случае если сталкивались с такой же проблемой и решили её иначе... хотя тему создавал поздно ночью... вернее уже рано утром :) может и не взлетит эта идея..ну да ладно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Написана программа, которая настраивает модем, поднимает сессию GPRS.

В ходе недели разберательств установлено, что периодически у модема слетают настройки автободинга.

Т.е. после появления сплошных ошибок при общении с модемом, видно, что его ответы состоят из непонятного набора байт.

После посылки команды AT несколько раз - модем в 90% случаев востанавливается.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Написана программа, которая настраивает модем, поднимает сессию GPRS.

В ходе недели разберательств установлено, что периодически у модема слетают настройки автободинга.

Т.е. после появления сплошных ошибок при общении с модемом, видно, что его ответы состоят из непонятного набора байт.

После посылки команды AT несколько раз - модем в 90% случаев востанавливается.

Использовать скорость по умолчанию модуля 115200

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...