Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Определение связи sim300 с сервером
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
Arthur_Sh
доброго времени суток. господа, подскажите идею. Есть устройство, допустим gps-gprs трекер. надо четко знать модему, что есть связь с сервером на который он периодически отправляет данные навигации, не гоняя при этом каких либо спец пакетов (трафик большой - много денег съедается Модем sim300 Заранее спасибо.
Baser
Цитата(Иванов Андрей Николаевич @ Nov 21 2009, 18:59) *
... надо четко знать модему, что есть связь с сервером на который он периодически отправляет данные навигации, не гоняя при этом каких либо спец пакетов ...

Без реальных переданных данных никак нельзя гарантировать наличие канала. Обломы разные бывают...
Что мешает придумать короткие диагностические пакеты.
Кроме того, при отсутствии данных, многие операторы принудительно разрывают коннект через несколько минут.
В реальности, при грамотной реализации, такой служебный траффик довольно небольшой по сравнении с полезными данными (если конечно полезные данные не составляют нескольких байт в минуту smile.gif )
Arthur_Sh
Дело в том, что у нас есть диагностические пакеты и гоняем мы их раз в 3сек, но суммарный трафик получается очень большим, вот и ломаю голову.
Aurochs
Цитата(Иванов Андрей Николаевич @ Nov 21 2009, 21:18) *
Дело в том, что у нас есть диагностические пакеты и гоняем мы их раз в 3сек, но суммарный трафик получается очень большим, вот и ломаю голову.

Дык отправляем их не раз в 3 секунды, а раз в 3 минуты - и задача практически решена...
Arthur_Sh
Насколько я понял, никакими внутренними функцими модема я проверить статус не могу, и обмена между модемом и сервером какой либо служебной инфой tcp-ip протокола нет???
Aurochs
Ну статус можно проверить командой AT+CIPSTATUS, но она может выдавать CONNECT еще 20 минут после того как, например, модем вышел из зоны покрытия
Baser
Цитата(Иванов Андрей Николаевич @ Nov 21 2009, 21:01) *
Насколько я понял, никакими внутренними функцими модема я проверить статус не могу, и обмена между модемом и сервером какой либо служебной инфой tcp-ip протокола нет???

И внутренний статус соединения в модеме есть и из ГСМ сети приходят сообщения, напр., о деактивации пдп-контекста.
Но это в 95% случаев. А в 5% вы узнаете об обломе связи только после того, как не получите подтверждение от сервера о дошедших данных.
А гонять диагностику каждые 3 сек - это просто смешно laughing.gif
Да там тайм-ауты на передачу данных (SEND OK) должны быть порядка минуты. Частенько наблюдал задержки в 20-40 сек. Ведь неизвестно какая будет связь на всех сегментах соединения до сервера.

Для трекера достаточно работы "на отказ": не дошли данные в положенный срок, вот только тогда начинаем восстанавливать связь и пока пишем данные в память. А пока данные слать не нужно, просто сидим, слушаем сообщения модема и шлем раз в несколько минут короткие пинги, чтобы оператор канал не прикрыл...
LVII
Цитата(Baser @ Nov 21 2009, 23:20) *
И внутренний статус соединения в модеме есть и из ГСМ сети приходят сообщения, напр., о деактивации пдп-контекста.
Но это в 95% случаев.


Для меня было большой новостью реакция TCP, основанной на GPRS, на несанкционированный дисконнект.
В отличие от "нормальной" сети, где, если у Вас установлен коннект по TCP соединению, то при неприятностях высылается извещение.
И тут вдруг при тестировании с применением GSM модуля - никакой реакции.
Отсылаю пакеты при отключенном модуле - сеть отвечает что все хорошо.
Мало того, после включения модуля сыплются отправленные пакеты.
С моим провайдером проработал 12 часов с установленным коннектом без всякого обмена - никаких возмущений, канал не прикрывается.
Через 12 часов модуль(клиент) отлично обменялся информацией с сервером.
После обстоятельного разговора с ведущими специалистами нашего провайдера выяснилось следующее.
Все зависит от Вашего провайдера.
Т.е. реакции на отказ в приемлимые сроки можно и не дождаться.
Поэтому в системах телеметрии с использованием GSM не вижу смысла в TCP. Отлично подойдет UDP.

Полностью согласен с автором предыдущего поста - на пользовательском уровне организовать контроль соединения и подойти к этому без фанатизма. Если у Вас фактор времени так критичен - Вам нужно работать с провайдером.
Как мне объяснили для этого организуется приватная сеть. Далее, согласно представленному техзаданию, конфигуриться под конкретного пользователя. Но это предмет отдельного договора с провайдером.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.