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

контроллер с модемом, все время спит (и модем в спящем режиме). По входящему звонку/SMS просыпается, выполняет все что надо и засыпает снова. Со звонками и SMS пока память SMS заполнена все хорошо работает. Но если SMS класть некуда то никакого сообщения не приходит, модем не просыпается сам и не выдает RING на контроллер. И даже если модем и контроллер не спят то сообщения о новой SMS и переполнении памяти нет. Вопрос как это можно включить? Ведь на телефоне такая ситуация распознается и отображается. варианты +CNMI вроде все разумные перепробовал. Стирать сообщения конечно можно (и так и делается) но хочется отлавливать и такую ситуацию.

Спасибо.
CADiLO
А просто чистить после каждого прочтения?
SergOv
Цитата(Sagittarius @ Aug 1 2013, 10:48) *
Стирать сообщения конечно можно (и так и делается) но хочется отлавливать и такую ситуацию.

Я скажу более.
Когда заполняется память SMS, у оператора, похоже, формируется очередь.
Это приводит к тому, что модем не может сделать голосовой вызов.
Явный глюк обслуживающего ПО оператора, но сделать с этим ничего не удалось.
Так что пришли к выводу, что единственный метод - не запоминать SMS.
Более "правильные" варианты не анализировались, потому как долго и практической пользы никакой.
Sagittarius
Цитата(SergOv @ Aug 1 2013, 11:57) *
Так что пришли к выводу, что единственный метод - не запоминать SMS.

не запоминать - это какие то настройки, чтоб сообщения автоматически удалялись? мне вообще содержимое SMS не важно, оно сразу удаляется, важен факт его прихода.
CADiLO
Анализируем ножку RI - можно четко отделить SMS и просто входящий звонок.
Sagittarius
Цитата(CADiLO @ Aug 1 2013, 12:13) *
Анализируем ножку RI - можно четко отделить SMS и просто входящий звонок.

мой вопрос в другом - как заставить дергаться RI при заполнении памяти SMS на SIM, у меня она в такой ситуации не дергается.
CADiLO
>>>важен факт его прихода.

Это и делается по RI

Заполнение автоматом не отследите и RI тут никаким боком. Сами проверяем, сами чистим.
Что сложного ввести проверку и самому чистить.


Кстати посмотрел как у меня в телефоне - никто не вякает что память SMS заполнена, просто для необходимого приема автоматом удаляются самые старые сообщения. Причем без предупреждения. Не сохранил сам в другое место - значит все....
Sagittarius
Цитата(CADiLO @ Aug 1 2013, 12:24) *
>>>важен факт его прихода.
Это и делается по RI
Кстати посмотрел как у меня в телефоне - никто не вякает что память SMS заполнена, просто для необходимого приема автоматом удаляются самые старые сообщения. Причем без предупреждения. Не сохранил сам в другое место - значит все....

читаем вопрос, думаем, еще раз читаем, понимаем что все 3 ответа вообще не в тему, думаем дальше
а телефон плохой, человек должен сам принимать решения.
CADiLO
>>> все 3 ответа вообще не в тему, думаем дальше

Разложить по полочкам?

1. Но если SMS класть некуда то никакого сообщения не приходит, модем не просыпается сам и не выдает RING на контроллер. И даже если модем и контроллер не спят то сообщения о новой SMS и переполнении памяти нет. Вопрос как это можно включить?

Никак - только отслеживать самому, никто за вас это не сделает. В стандарте нет такого чтобы отдавать сообщение о заполнении памяти.
И тот же CNMI отношения к заполнению памяти SMS не имеет - он отслеживает буфер URC от сообщений, но не сами сообщения.

2. Ведь на телефоне такая ситуация распознается и отображается.

Да, потому что так написан софт на телефон. У каждого производителя софт это делает по разному.
А что касается телефона, то тут дело вкуса - мне удобнее именно так.

3. мне вообще содержимое SMS не важно, оно сразу удаляется, важен факт его прихода.

Как определить факт прихода я уже ответил, что неправильного в ответе ?

4. мой вопрос в другом - как заставить дергаться RI при заполнении памяти SMS на SIM, у меня она в такой ситуации не дергается.

Освободить память.
RI показывает входящее сообщение, а если вы не отследили свободность памяти и не можете получить сообщение, то при чем тут модуль?
alexdos
Цитата(Sagittarius @ Aug 1 2013, 11:36) *
читаем вопрос, думаем, еще раз читаем, понимаем что все 3 ответа вообще не в тему, думаем дальше
а телефон плохой, человек должен сам принимать решения.


ТС задал вопрос. и сам же на него ответил верно, даже не понимая что ответил верно.
"человек должен сам принимать решения" - поэтому человек принимает решение через нормально написаный софт, то есть Вы и должны сами розруливать эту ситуацию. На телефоне тоже, пишет что память СМС полная, и никакие уже СМС-ки не приходят. Токо почистиш, и тут как попрёт, как попрёт..
Sagittarius
Цитата(CADiLO @ Aug 1 2013, 13:04) *
>>> все 3 ответа вообще не в тему, думаем дальше
Разложить по полочкам?


да запросто:

Цитата(CADiLO @ Aug 1 2013, 11:53) *
А просто чистить после каждого прочтения?


в вопросе было указано что очистка производится но надо отследить ситуацию переполнения памяти SMS(где то что то сглючило). 1-й ответ не в тему


Цитата(CADiLO @ Aug 1 2013, 12:13) *
Анализируем ножку RI - можно четко отделить SMS и просто входящий звонок.


про разделение SMS и входящих звонков не спрашивалось вообще, 2-й ответ не в тему

Цитата(CADiLO @ Aug 1 2013, 12:24) *
>>>важен факт его прихода.
Это и делается по RI
Заполнение автоматом не отследите и RI тут никаким боком. Сами проверяем, сами чистим.
Что сложного ввести проверку и самому чистить.


да, делается по RI. вопрос как сделать чтоб RI дернулся при поступлении SMS в том числе и при переполнении памяти. Контроллер спит и модем должен его разбудить. Телефон принимает от БС сигнал о наличии SMS, смотрит что эту SMS класть некуда и выдает об этом сообщение. Мне надо чтоб так же сделал модем. Что такое в принципе не возможно скажите телефонам к примеру Samsung S5620, S5550 которые так делают. Вполне допускаю что этого не может конкретно SIM900, может быть надо лезть в его настройки сообщений об ошибках. Т.е. 3-й Ваш ответ тоже ни о чем. 4-й ответ просто повторение предыдущих 3-х.

Цитата(alexdos @ Aug 1 2013, 13:45) *
ТС задал вопрос. и сам же на него ответил верно, даже не понимая что ответил верно.
На телефоне тоже, пишет что память СМС полная, и никакие уже СМС-ки не приходят. Токо почистиш, и тут как попрёт, как попрёт..

как сделать чтоб SIM900 сообщил о переполнении памяти SMS? если уж вы так все понимаете.
alexdos
А как случается заполнение всей памяти СМСками, если всё всегда трётся ?
То есть таким образом процессор засыпает с полностью обнулённой памятью СМС в модеме.
CADiLO
>>>как сделать чтоб SIM900 сообщил о переполнении памяти SMS?

САМОМУ НАПИСАТЬ ОБРАБОТЧИК ЭТОЙ СИТУАЦИИ.
Больше никак - я не встречал модулей которые это умеют собственными силами.

Трижды уже ответили - САМОМУ СДЕЛАТЬ.
Sagittarius
Цитата(alexdos @ Aug 1 2013, 13:57) *
А как случается заполнение всей памяти СМСками, если всё всегда трётся ?
То есть таким образом процессор засыпает с полностью обнулённой памятью СМС в модеме.

непредвиденный сбой, типа как отвалился внешний кварц - разгоняем на PLL внутренний RC, сдох PLL работаем на том что работается, хоть как то :-)
перестраховка, так же как обращаться к ячейке массива int arr[16] как arr[ i &0x0F] при том, что i вроде бы должно всегда быть 0..15
alexdos
Цитата(Sagittarius @ Aug 1 2013, 13:08) *
непредвиденный сбой, типа как отвалился внешний кварц - разгоняем на PLL внутренний RC, сдох PLL работаем на том что работается, хоть как то :-)
перестраховка, так же как обращаться к ячейке массива int arr[16] как arr[ i &0x0F] при том, что i вроде бы должно всегда быть 0..15



Просыпайтесь принудительно и проверяйте заполненность, с разумным интервалом конечно.
А вдруг не проснётся сам ? Поставте внешний "вачдог", а вдруг он сбойнёт ? Поставте на него "вачдог" ну и так далее до 1000-й итерации. maniac.gif
Harbinger
Может, посредством EAT приложения в модуле можно решить?
CADiLO
Так один фиг самому писать обработку нужно.
Harbinger
Ну так если контроллер в вечной спячке или висит, то что остаётся? sm.gif
Aurochs
Цитата(alexdos @ Aug 1 2013, 13:34) *
Просыпайтесь принудительно и проверяйте заполненность, с разумным интервалом конечно.

А как может заполняться память в спящем модеме? Недержание? sm.gif
Цитата(alexdos @ Aug 1 2013, 13:34) *
А вдруг не проснётся сам ? Поставте внешний "вачдог", а вдруг он сбойнёт ? Поставте на него "вачдог" ну и так далее до 1000-й итерации. maniac.gif

А если мужик кувалдой навернет? sm.gif
CADiLO
Кувалда это негламурненько...

Неееее.... никто не увидел другой момент - делать перестраховку и при этом полагаться на SMS сервис.
SMS может прийти битая, опоздать от часа до года или вообще не прийдет....
Тут нужто улавливать толк в извращениях.....

alexdos
Цитата(Aurochs @ Aug 2 2013, 12:15) *
А как может заполняться память в спящем модеме? Недержание? sm.gif

А если мужик кувалдой навернет? sm.gif

Так вот и я спрашивал ТС о том откуда там возьмутся СМС-ки, на что получил ответ "непредвиденный сбой, типа как отвалился внешний кварц - разгоняем на PLL внутренний RC, сдох PLL работаем на том что работается, хоть как то :-)
перестраховка, так же как обращаться к ячейке массива int arr[16] как arr[ i &0x0F] при том, что i вроде бы должно всегда быть 0..15" Раз ему хочется, быть уверенным в этом, пускай пробуждает все и смотрит, есть ли СМСки, ему ведь просто спать по ночам охота, а не думать о том полно СМС или пусто. И наши тут потуги никак его не переубедят.
Falkon_99
Вопросик по смс но не в тему, извините))
Можно ли с sim900 отправить смс на номер, сохраненный на сим карте в ячейке???
Например позвонить на такой номер можно ATD<N>
CADiLO
Да, такая команда была добавлена в свое время. В последних прошивках имеется.

SIM900_AT Command Manual_V1.08.pdf

4.2.17 AT+CMGS="><index>" Send SMS Message by Index
Falkon_99
Спасибо!!!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.