реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> sim300d глючит инет - алгоритм подключения, разработал трекер - ловлю глюки
mr_freeman
сообщение Nov 1 2010, 18:30
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 58
Регистрация: 28-10-09
Пользователь №: 53 255



Добрий день.

Была у меня задача - разработать банальный GPS трекер.
Разработал на основе SIM300D+itrax300

В общем проблема в том что на столе пока все лежит устойчиво работает хоть неделю, а как на машины поставили, так где-то раз в день пропадает связь с трекером на время от 20 минут до пары часов. Это в городе. Как машина едет за город так связь может пропасть на пол дня, иногда вообще до перегрузки трекера. Я думаю это как-то связано с пропаданием сети.
Естественно посмотреть терминалом лог связи МК-СИМ300 во время таких глюков не могу.

Скорее всего у меня не правильный алгоритм GPRS соединения, так как найти пример не в даташите ни на форумах не смог.
Может кто поделится алгоритмом, или подскажет как правильно держать GPRS подключение всегда открытым. То есть при включении питания/пропадании сети пытатся соединятся с интернетом... короче что б при любых условия было соединение с интернетом.

Заранее спасибо.


ЗЫ: у меня все реализовано относительно команды ipstatus, но вот как правильно реагировать на все значения я не нашел.
если ответ: INITIAL или GPRSACT или IP START или IP CONFIG то коннектимся:
at+creg?
at+cgreg?
at+cgatt=1
at+cipcsgp=1 бла бла
at+cstt
at+ciicr
Ок
at+cifsr

(Вопрос: обязательно ли учитывать ответы на каждую команду(у меня учитывается только ответ ОК на at+ciicr) или можно при неудаче соединения пытаться снова???)

Если IP STATUS или IP CLOSE конектимся к серверу:
at+cipstart=ТСП, адрес, порт
ждем CONNECT OK
at+cipsend=164
/ Данные/
at+cipclose

если при опросе ipstatusсом ответ CONNECTING или CONNECT OK (не закрывается долго соединение) или IP START или IP CONFIG повторяется большое количство раз подряд - тогда резет.

если ответ PDP DEACT или IP IND - резет сразу



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

Вот и прошу Вашей помощи...
Go to the top of the page
 
+Quote Post
av-master
сообщение Nov 1 2010, 19:02
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 857
Регистрация: 14-05-05
Из: Украина
Пользователь №: 4 998



еще год проб и ошибок, добавятся обработчики всех ответов, ошибок, проверки регистрации и т.д. и через год вопросов тут на форуме вы Сможете запустить свой трекер на 300-ке ( устаревшей) и еще более устаревшем модуле GPS...
Темболе ганять данные в Текстовом виде (( ИМХО никто уже так не делает..

Для начала пишите обработку всех ответов, в том числе и тех которых не может быть... например недавно ( 2 года работаем с модулем) появился ответ TCP CONNECTING а ПО ждало CONNECT .. в итоге полная неработоспособность...
Go to the top of the page
 
+Quote Post
mr_freeman
сообщение Nov 1 2010, 19:31
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 58
Регистрация: 28-10-09
Пользователь №: 53 255



Вот и прошу готовый алгоритм мож. у кого-то есть? или совет конкретный, или указание на ошибку.
А по поводу того что модуль устарей - меня мало волнует т.к. уже закуплено/собрано 12 штук трекеров для собственных нужд.
А глюк вылез только один этот с пропаданием связи...
есть вариант ездить с дальнобойщиком с ноутбуком и терминалом и ждать пока вылезет ошибка, но это уже крайняя мера.
Кроме того я не верю что на этом форуме никто не разрабатывал устройства с таким модулем где требовался постоянный коннект с интернетом (удаленное управление, сигнализации, тот же трекер например)
Go to the top of the page
 
+Quote Post
av-master
сообщение Nov 1 2010, 20:54
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 857
Регистрация: 14-05-05
Из: Украина
Пользователь №: 4 998



разрабатывали. и конект есть, И перезапуск в случай чего предусмотрен. и целая подпрограмма отлова ошибок и записи их во флеш для анализа... и денег и времени угрохано мама негорюй. может кто и поделится. но пока , лично я не вижу смысла.
Вы для начала себе алгоритм нарисуйте. лично у нас на каждом этапе 5 попыток потом или перезапуск или Шат и переустановка соединения.
еще, как можно реже нужно перезапускать, симкарта не вечная 65000 перезапусков и все.
какой уровень сигнала перед пропаданием ? Вы проверяете его ? передаете ?
Напряжение питания ? схема включения ? паразитная запитка ? бинарные данные которые могут глюкануть модуль .... и тд...
Да и если словили конектинг, то у нас сразу клоссе и переконект, ... и так пока нормальный конект не получим (без ОК) так как в транспарантном режиме и проще и лучше работать.
Go to the top of the page
 
+Quote Post
mr_freeman
сообщение Nov 1 2010, 21:24
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 58
Регистрация: 28-10-09
Пользователь №: 53 255



Спасибо. буду пробывать.
Да перезапуск то такое, даже если делать 4 перезапуска в день симки на 44 года хватит, а чаще врятли нужно будет.
с питанием все нормально, проблем нет, питается через DC/DC преобразователь 24/12 дальше лин. регулятор. да и не в питании дело. Схема в основном из даташита.
Я думаю может проблема в том что ответы на at+creg? и at+cgreg? не учитываются? думал, если регистрации нету, то после попытки соединения будет ошибка, дальше попытка повторного соединения и так пока регистрацию не схватит... может тут проблема?

Go to the top of the page
 
+Quote Post
box415
сообщение Nov 2 2010, 08:12
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 30
Регистрация: 14-10-10
Пользователь №: 60 149



Цитата(mr_freeman @ Nov 2 2010, 01:24) *
Я думаю может проблема в том что ответы на at+creg? и at+cgreg? не учитываются? думал, если регистрации нету, то после попытки соединения будет ошибка, дальше попытка повторного соединения и так пока регистрацию не схватит... может тут проблема?

Обращаю ваше внимание на то, что наличие обеих регистраций условие для соединения необходимое, но, к сожалению, не достаточное crying.gif При плохой связи модуль может устойчиво находиться в состоянии, когда подтверждает регистрации, но не в состоянии установить и поддерживать соединение. Единственный выход в этом случае - выполнить рестарт. Возможно при повторном согласовании условий приема/передачи будут выбраны другие параметры, более подходящие для текущей обстановки.
Go to the top of the page
 
+Quote Post
mr_freeman
сообщение Nov 2 2010, 08:26
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 58
Регистрация: 28-10-09
Пользователь №: 53 255



Вопрос в другом. Не приводет ли попытка соединения без регистрации к зависанию/переходу в какой-то неучтенный режим?
И, как себя ведет GPRS соединение при пропадании сети? отключается?
Go to the top of the page
 
+Quote Post
Master of Nature
сообщение Nov 2 2010, 08:42
Сообщение #8


Мыслящий
*****

Группа: Свой
Сообщений: 1 729
Регистрация: 20-07-07
Из: Самара
Пользователь №: 29 270



Цитата(mr_freeman @ Nov 2 2010, 12:26) *
Вопрос в другом. Не приводет ли попытка соединения без регистрации к зависанию/переходу в какой-то неучтенный режим?
И, как себя ведет GPRS соединение при пропадании сети? отключается?

Попробуйте все же логить процесс обмена с модемом, а потом проанализировать
Я бы для анализа добавил сюда
AT+CSQ - уровень сигнала GSM, с учетом что значение актуально только если есть регистрация.

И еще не совсем понял зачем нужна команда AT+CGATT, если вы пользуетесь встроенным стеком.

Предварительно подозрение такое - у вас проблемы с антенной. Когда в лаборатории все делаете - станция не меняется.
А вот когда машина едет - уровень сигнала может быть хуже. Из-за каких-то глюков (не видя схемы и платы не угадаешь) модем банально теряет сеть.
Дополнительно - проблем с питанием нету?

Цитата(mr_freeman @ Nov 2 2010, 12:26) *
Вопрос в другом. Не приводет ли попытка соединения без регистрации к зависанию/переходу в какой-то неучтенный режим?
И, как себя ведет GPRS соединение при пропадании сети? отключается?
При пропадании сети GPRS естественно разрывается.


--------------------
FAQ по AD
Форум по AD
Знание только тогда знание, когда оно приобретено усилиями своей мысли, а не памятью.
...стоит запомнить ...вернее задуматься.
Go to the top of the page
 
+Quote Post
box415
сообщение Nov 2 2010, 09:13
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 30
Регистрация: 14-10-10
Пользователь №: 60 149



Цитата(mr_freeman @ Nov 2 2010, 12:26) *
Вопрос в другом. Не приводет ли попытка соединения без регистрации к зависанию/переходу в какой-то неучтенный режим?

Нет скорее всего не приведет, т.к. ситуация для ПО модуля очень простая.
Цитата(mr_freeman @ Nov 2 2010, 12:26) *
И, как себя ведет GPRS соединение при пропадании сети? отключается?

А вот здесь многообразие вариантов неисчислимо. Вам уже намекали, что здравым будет алгоритм - "при малейшем отклонении - все по-новой" Я бы еще добавил, что поскольку у вас ситуация ограниченная (всего несколько десятков эксплуатируемых устройств), то стоит начать с проверки антенного хозяйства. Антенны должны быть в вашем случае обязательно двухдиапазонными, правильно смонтированными и с минимальной длиной кабеля. Все проблемы и нетестированное многообразие поведения модуля начинается при ухудшении условий связи. Обычно сразу начинают лечить алгоритм, а на антенное хозяйство не обращают внимание, а зря.
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Nov 2 2010, 09:21
Сообщение #10


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(Master of Nature @ Nov 2 2010, 11:42) *
И еще не совсем понял зачем нужна команда AT+CGATT, если вы пользуетесь встроенным стеком.

У меня на SIM900 встроенный стек не оживает (на AT+CIPSTART немедленно "ERROR"), если не дать AT+CGATT=1. Причем почему-то иногда, когда модуль находится просто в режиме ожидания, регистрация GPRS отваливается (а может часами держаться, как звезды встанут), пришлось +CGATT=1 влепить непосредственно перед +CIPSTART, чтобы обойти такую ситуацию.
Go to the top of the page
 
+Quote Post
Master of Nature
сообщение Nov 2 2010, 09:36
Сообщение #11


Мыслящий
*****

Группа: Свой
Сообщений: 1 729
Регистрация: 20-07-07
Из: Самара
Пользователь №: 29 270



Цитата(rx3apf @ Nov 2 2010, 13:21) *
У меня на SIM900 встроенный стек не оживает (на AT+CIPSTART немедленно "ERROR"), если не дать AT+CGATT=1. Причем почему-то иногда, когда модуль находится просто в режиме ожидания, регистрация GPRS отваливается (а может часами держаться, как звезды встанут), пришлось +CGATT=1 влепить непосредственно перед +CIPSTART, чтобы обойти такую ситуацию.
Встроенный стек у СИМ900 исследовать пока не было возможности. А вот в СИМ300 использовал команду
AT+CIPCSGP=1,"<apn>" - где <apn> - точка доступа, определяемая оператором сотовой связи.
Без этого CIPSTART тоже что-то не работал smile.gif


--------------------
FAQ по AD
Форум по AD
Знание только тогда знание, когда оно приобретено усилиями своей мысли, а не памятью.
...стоит запомнить ...вернее задуматься.
Go to the top of the page
 
+Quote Post
box415
сообщение Nov 2 2010, 09:39
Сообщение #12


Участник
*

Группа: Участник
Сообщений: 30
Регистрация: 14-10-10
Пользователь №: 60 149



Цитата(rx3apf @ Nov 2 2010, 13:21) *
У меня на SIM900 встроенный стек не оживает (на AT+CIPSTART немедленно "ERROR"), если не дать AT+CGATT=1.

+1. Внешнее исполнение CGATT гораздо надежнее и на SIM300, чем внутри его стека.
Цитата(rx3apf @ Nov 2 2010, 13:21) *
Причем почему-то иногда, когда модуль находится просто в режиме ожидания, регистрация GPRS отваливается (а может часами держаться, как звезды встанут),


Звездами управляет оператор, причем все операторы по-разному. Например Мегафон Северо-Запад в худшем случае будет терпеть неиспользуемую регистрацию GPRS часа четыре не больше.

Сообщение отредактировал box415 - Nov 2 2010, 09:44
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Nov 2 2010, 11:48
Сообщение #13


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(Master of Nature @ Nov 2 2010, 12:36) *
Встроенный стек у СИМ900 исследовать пока не было возможности. А вот в СИМ300 использовал команду
AT+CIPCSGP=1,"<apn>" - где <apn> - точка доступа, определяемая оператором сотовой связи.
Без этого CIPSTART тоже что-то не работал smile.gif

Я это тоже даю, но при этом если потом поглядеть +cgatt?, может быть 1, а может и 0. И, даже если 1, то когда дело дойдет до соединения, окажется 0, и +cipstart даст ошибку. Так что ручками, ручками...Все на одном операторе, MTC, но может часами держаться, а может через десять минут отвалиться.
Go to the top of the page
 
+Quote Post
mr_freeman
сообщение Nov 2 2010, 16:11
Сообщение #14


Участник
*

Группа: Участник
Сообщений: 58
Регистрация: 28-10-09
Пользователь №: 53 255



Антенны вот эти: http://www.rcscomponents.kiev.ua/a32593.html
на плате все просто дорожки 1.5см до SMA разъема, с обратки экран.
Питание тоже, как писал, стабильное.

Если бы была возможность вести логи, сам бы проблему решил)))
Go to the top of the page
 
+Quote Post
Goodefine
сообщение Nov 2 2010, 16:43
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 211
Регистрация: 6-08-07
Из: Приднестровье, Тирасполь
Пользователь №: 29 581



На всякий случай, водители имеют доступ к оборудованию?...


--------------------
Любой, заслуживающий внимания, опыт приобретается себе в убыток...
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 14:19
Рейтинг@Mail.ru


Страница сгенерированна за 0.01596 секунд с 7
ELECTRONIX ©2004-2016