Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: SIM800C
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
Paganelius
Проблемы с отправкой СМС

Добрый вечер!

Столкнулся с проблемой – когда SIM800C подключён к серверу (GPRS сессия открыта), не получается отправить СМС. После того как задаю номер и нужный текст, через 200 миллисекунд я отправляю 0х1А, но на телефон ничего не приходит. Если отключится от сервера, тогда все работает как надо. После того как отправляю 0х1А, жду 15 секунд, если не получаю нужного ответа, наступает timeout. Не могу понять – так должно быть или я делаю что-то не правильно.
Кто-нибудь сталкивался с такой проблемой ?

За ранее спасибо.
Hub
друзья,

мы с Cadilo наверное не устанем повторять: прошифку ф студию!
(ответ модуля на команду AT+CGMR)

а также лог АТ-команд при взаимодействии с модулем
CADiLO
Не-не. Он пытается.... как бы это объяснить.... вставить двум дамам одновременно.
К сожалению с дамами, как и с модулями CLASS B это можно делать только по очереди.
Поэтому закрыли GPRS, отправили SMS и опять открыли сессию.

Это если я правильно понял фразу "Если отключится от сервера, тогда все работает как надо."

Alechek
Цитата(CADiLO @ Feb 17 2016, 12:07) *
К сожалению с дамами, как и с модулями CLASS B это можно делать только по очереди.
Поэтому закрыли GPRS, отправили SMS и опять открыли сессию.

Правда чтоли????
Почему тогда у меня сессия не закрывается, а СМС и приходят, и уходят?

По очереди, как и с дамими, не обязательно закрывать неиспользуемую в текущий момент, достаточно ее отложить.
Paganelius
Цитата(CADiLO @ Feb 17 2016, 09:07) *
Не-не. Он пытается.... как бы это объяснить.... вставить двум дамам одновременно.
К сожалению с дамами, как и с модулями CLASS B это можно делать только по очереди.
Поэтому закрыли GPRS, отправили SMS и опять открыли сессию.

Это если я правильно понял фразу "Если отключится от сервера, тогда все работает как надо."


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

Хорошего дня!
CADiLO
>>>Почему тогда у меня сессия не закрывается, а СМС и приходят, и уходят?

И в командный режим вы из передачи данных не выходите ???? sm.gif
Хотите сказать что прямо на фоне передачи данных SMS и голос работает????

Ну разве что в 3G модуле класса А

А в классе B - остановили передачу, вывалились в команд моде, отправили/приняли SMS или звонок.
И только потом вернулись к передаче данных.
Да - можно попытаться сессию оставлять открытой.
Однако есть ушлые операторы которые если не будет активных данных некоторое время, оборвут ее за вас.
И вернетесь к черной дыре когда данные пойдут в никуда.

Alechek
Цитата(CADiLO @ Feb 17 2016, 13:08) *
И в командный режим вы из передачи данных не выходите ???? sm.gif
Хотите сказать что прямо на фоне передачи данных SMS и голос работает????

Передача данных осуществляется из командного режима. +CIPSEND=xxx.
В момент непосредственной передачи, естественно, ни СМС ни голос будут недоступны.
В помент простаивания - пожалуйста!

Цитата(CADiLO @ Feb 17 2016, 13:08) *
А в классе B - остановили передачу, вывалились в команд моде, отправили/приняли SMS или звонок.
И только потом вернулись к передаче данных.
Да - можно попытаться сессию оставлять открытой.

Не можно, а нужно. Сейчас 80% телефонов ходят с постоянно поднятым интернетом. И ничего, звонят, письма пишут, и контекст не опускается.

Топикстартеру -
>> После того как отправляю 0х1А, жду 15 секунд
мало ждете.дождитесь ответа.
Тем более, что в мануале черным по серому написано:
Цитата
4.2.5 AT+CMGS Send SMS Message
Max Response 60s
Time

Paganelius
Поставил время ожидания ответа 60 секунд – вроде заработало и SMS отправляются. Но теперь я уже не понимаю как поступать, разривать сессию или оставить все как есть…..
CADiLO
Исходите из практических соображений.
Если SMS короткие и не подряд несколько, то время отправки теоретически не будет больше таймаута оператора после которого он прибьет канал.
Тогда можно сессию не рвать.
Если пауза в данных может затянуться в 3-5 минут, то тогда нужно или пингануть канал чтобы хоть какие-то данные проскочили, или все же закрыть сессию
Paganelius
Спасибо всем за помощь.
Пока что оставлю так ка есть, посмотрим как это будет работать в разных странах с разними операторами.
Цырен.
Цитата(Paganelius @ Feb 17 2016, 14:12) *
Спасибо всем за помощь.
Пока что оставлю так ка есть, посмотрим как это будет работать в разных странах с разними операторами.


Пара заметок.
Разрывать сессию (CIPCLOSE) и деактивировать контекст(CIPSHUT) не нужно. Что Эдик хотел сказать, я понял. Он уже начал предупреждать, что в лесу волки водятся, а человек спрашивал как пройти к лесу.
Просто шлете как есть, как будто нет TCP/IP сессии. Попутно не забываете, что могут прийти URC(данные от сервера, CIPCLOSE, PDP DEACT...) и обрабатываете их по необходимости. Не забывайте, что СМС может уходить долго(таймаут 60сек), за это время оператор действительно может отключить GPRS (PDP DEACT), но чаще на 5й минуте (зависит от региона, времени и оператора), сам модуль имеет вн таймаут (7 минут по-моему, не помню точно). Но если вы хотите, чтобы соединение жило не зависимо от того, что данные не идут, то пингуйте сервер (+CIPPING) или установите +CIPTKA.
Alechek
Цитата(Цырен. @ Feb 19 2016, 20:50) *
за это время оператор действительно может отключить GPRS (PDP DEACT), но чаще на 5й минуте (зависит от региона, времени и оператора), сам модуль имеет вн таймаут (7 минут по-моему, не помню точно). Но если вы хотите, чтобы соединение жило не зависимо от того, что данные не идут, то пингуйте сервер (+CIPPING) или установите +CIPTKA.

А можно тут поподробней? Как таймаут модуля соотносится с GPRS контекстом? И, особенно, +CIPTKA.
Модуль сам будет разрывать GPRS конекст??? wacko.gif
Цырен.
Цитата(Alechek @ Feb 20 2016, 11:28) *
А можно тут поподробней? Как таймаут модуля соотносится с GPRS контекстом? И, особенно, +CIPTKA.
Модуль сам будет разрывать GPRS конекст??? wacko.gif


В модуле есть прогрессирующий таймер(название не важно) он отсчитывает 7 минут с момента активации контекста(CIICR). Таймер сбрасывается, когда контекст не используется, т.е. нет IP пакетов.
CIPTKA поддерживает контекст в активном состоянии, сбрасывая этот таймер.
Если таймер перегрузится, то контекст деактивируется (PDP DEACT).
Alt.F4
Цитата
Разрывать сессию (CIPCLOSE) и деактивировать контекст(CIPSHUT) не нужно.

На SIM900R и Билайн замечены проблемы с передачей SMS во время открытого GPRS-контекста.
Есть подозрения на связь с балансом, т.к. при начальном 14руб SMS улетают только при закрытом GPRS, а после пополнении уже без проблем и при активном TCP-соединении.
Может быть кто-то сталкивался?
Drozd2
Цитата
при начальном 14руб SMS улетают только при закрытом GPRS

Озадачило. Удалось разобраться? За 10 дней.
И про других опраторов что Вам известно в этом плане? Если не сложно.
Alt.F4
Drozd2, по всей видимости у Билайна стоит некий лимит на минимальное значение баланса при открытом GPRS-контексте.
Причем этот лимит сдвигается: при том же балансе 14руб, если сделать реконнект, то SMS снова улетают до баланса в 10руб, следующий реконнект сдвигает это значение до 5руб.

Замечен еще один прикол с Билайном: один раз в сутки блокируется TCP-передача данных ровно на полчаса. GPRS-контект открывается, TCP-соединение устанавливается, а вот сама передача данных блокируется. Тарифный план м2м.

Неужели никто не сталкивался?
Drozd2
Спасибо за информацию. Она породила еще один вопрос. Это связано с тарифными планами, или Билайн так поступает со всеми?

Не так просто с этим столкнуться. Для подобных разработок контора выдает корпоративные sim карты с несгораемой суммой. У юридических кустомеров скорее всего будут такие же карты. А вот у физических может всплыть подобная ситуация. Перешел на свою персональную карту. Целенаправленно сжигаю баланс. Надо это увидеть. А выход похоже такой. Запрашивать периодически баланс, если чего запрашивать доверительный платеж, и если хозяин так и не пополнил счет, отправлять ему угрожающее сообщение. Как Вам идейка?
smalcom
Цитата
Для подобных разработок контора выдает корпоративные sim карты с несгораемой суммой.

больша-а-а-ая ошибка.
Цитата
Целенаправленно сжигаю баланс.

может лучше друзьям/родственникам перевести?

Цитата
GPRS-контект открывается, TCP-соединение устанавливается, а вот сама передача данных блокируется.

возможно у них так билинг работает.

Цитата
по всей видимости у Билайна стоит некий лимит на минимальное значение баланса при открытом GPRS-контексте.

Скорей всего оператор резервирует некоторую сумму на счёте.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.