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

Одновременный обмен данными (ppp) и прием/передача SMS в сетях 3G/4G

Здравствуйте!

Cейчас используется модем 3G (u-blox LISA U200), который позволяет одновременно работать с SMS и продолжать обмен данными через ppp соединение. Выглядит так: 

У меня может сутками идти поток через ppp на FTP. И совершенно независимые задачи для приема SMS и для передачи SMS. И сейчас они друг про друга не знают, просто используют каждая задача свой виртуальный порт модема для обмена (через UART CMUX организованы виртуальные каналы):

- виртуальный порт1- для интернета (AT командный режим bkb сырые данные ppp)

- виртуальный порт2 - для передачи SMS (всегда AT командный режим)

- виртуальный порт3 - для приема SMS (всегда AT командный режим)

И все это работает.

 

 вот осюда про классы модемов:

Quote

Class А
В классе «А» есть возможность передачи голосового трафика во время приема/передачи данных по GPRS.

Class B
Мобильный телефон с GPRS класса «В» может автоматически переключать GPRS и GSM сервисы, т.е. при включенном GPRS соединении при входящих или исходящих SMS — связь временно прерывается, после окончания звонка – GPRS соединение автоматически возобновляется. Также происходит с входящими и исходящими звонками.

Class C
Невозможно использовать одновременно GSM и GPRS сервис, т.е. при активной GPRS сессии, например, если вы подключены к сети Интернете невозможно принимать звонки или послать SMS.

Получается, мой текущий модем Class A ? И мне именно Class A нужно искать для LTE?

Но u-blox не делает глобальных LTE модемов, да и SIM7600G мне нравится.

 

А вот вопросы:

1. Какого класса модем поволит одновременно передавать данные и обмениваться SMS в сетях 3G/4G(LTE) ?  Это нужен модем именно класса A ? Или в модеме Class B это скрыто от пользователя (ну увижу я паузу в данных и снижение скорости, не страшно)?

2. Где написан класс модема?

3. SIM7600G так умеет?

4. Если не умеет, то какой (с worldwide LTE) так умеет?

5. Если это никто не умеет (или умеет только за дорого), то как народ выкручивается? Если нужно много данных передовать, и рандомно SMS передать, ну и проконтролировать прием SMS ? Неужто принудительно рвать ppp соединение (перейти в командный режим) для срочной передачи SMS , и периодически рвать связь для проверки принятых SMS ?

6. А считается ли SMS все еще чем-то "голосовым" для сетей 3G/4G, если сеть 2G выведена из использования? Или там меняется механизм доставки SMS, и появляется возможность обмена SMS одновременно с обменом данными на модемах разных классов (не только A) ? Ну и вообще, неужели сейчас 3G/4G телефон действительно всегда переходит в 2G, чтобы SMS передать?

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


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

sim7600, прием SMS во время ppp: вроде бы модем дергает сигнал RI во время получения SMS или URC report, так что не нужно прерывать соединение для поллинга. уже что-то.

 

Нашел хороший топик про SMS в неожиданном месте:  https://electronix.ru/forum/index.php?app=forums&module=forums&controller=topic&id=154317

 

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


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

Ребята подскажите как лучше выполнить алгоритм проверки внешнего события?
Ситуация следующая модем SIM800C используется для доступа в интернет в режиме PPP. 
Если на него совершается звонок, детектируется сигнал RI , переводится модем в режиме AT команд и наблюдаются сообщения о том, что идет входящий вызов.

А с СМС ситуация иначе,  RI сигнал отрабатывает , но после перевода в режим AT команд не видно никакого сообщения, что же произошло. При детектировании сигнала RI практически мгновенно успеваю модем перевести в режим AT (от 2 до 5 мс ) уходит, или это недостаточно быстро ?

Можно ли как то узнать  без команды получения списка SMS сообщений , что  пришло новое сообщение ,  если проморгал сообщение  +CMTI ?

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


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

Лезем в документацию

6.2.11 AT+CFGRI Indicate RI When Using URC

Note
 RI pin can not controll by "AT+CFGRI" command when module has call service or receiving SMS.

 

Поэтому о том что там SMS можно узнать только по длительности.

SMS
RI - The pin is changed to low, and kept low for 120ms when a SMS is received.

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


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

Спасибо, что-то я упустил совсем этот момент. И через костыли начал все делать. 

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


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

39 минут назад, Mysteo сказал:

Ребята подскажите как лучше выполнить алгоритм проверки внешнего события?

Поднять CMUX, через один виртуальный канал работать с PPP, через второй получать URC о приходе СМС и вообще делать все, что угодно AT-командами не прерывая PPP.

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


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

Дополз до мультиплексора SIM7600. Оставлю тут, вдруг кому сэкономит время:

1. Документация.

Конкретно для этого модема про  MUX режим апнота нет, но это неважно: у него GSM 07.10 Multiplexer Protocol, так что можно брать много где, и даже старенькое (сам протокол  1998 года). Мне понравился документ от Симкома: https://simcom.ee/documents/SIM900/SIM900_Multiplexer User Manual_Application Note_V1.3.pdf

Тут еще  короче: https://programmer.help/blogs/gsm-serial-port-multiplexing-protocol.html

 

Не понравилось, что там биты везде нарисованы младшими слева и считаются от 1 до 8. Но это не Симком придумал- так же и в стандарте, так что придется привыкнуть, просто не перепутайте!

image.png.c86461c66abecd3e632c60bf5705a564.png

2. Собственно посылки

Вход в режим прост (настройки делаются заранее, но можно и в команде):

AT+CMUX = 0

Следует ответ "OK", и далее модем в  MUX режиме.

Далее привожу примеры посылок "AT" и прием ответа  "ОК" по  первым двум виртуальным каналам (данные в UART):

 

Command “AT” in MUX channel  #1:

"AT"   sending

F9 05 EF 09 61 74 0D 0A 58 F9

“OK” receiving

F9 05 FF 0D 0D 0A 4F 4B 0D 0A 4A F9

 

Command “AT” in MUX channel  #2:

"AT"   sending

F9 09 EF 09 41 54 0D 0A DF F9

“OK” receiving

F9 09 FF 0D 0D 0A 4F 4B 0D 0A CD F9

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


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

>>>> Не понравилось, что там биты везде нарисованы младшими слева и считаются от 1 до 8. Но это не Симком придумал- так же и в стандарте, так что придется привыкнуть, просто не перепутайте!

 

Я с этим столкнулся в начале 2000х когда стыковали ИКМ-30 со своим оборудованием. И умудренный опытом коллега пояснил почему так.

Многие стандарты связи, где биты идут не с нуля, а с единицы, писались изначально телефонистами привыкшими к такой маркировке на кроссовом оборудовании.

Когда механика начала уступать место электронике, то все так туда и перекочевало. Телефонное лобби наотрез отказалось принять маркировку с нуля.

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


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

3 hours ago, CADiLO said:

Когда механика начала уступать место электронике, то все так туда и перекочевало. Телефонное лобби наотрез отказалось принять маркировку с нуля.

Ладно, с единицы я еще переживу, но с ходу 11011011 перевести в Hex, если число записано с младшими битами слева- это для меня уже высшая математика, мозги не поворачиваются :) 

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


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

Нашел интересный эффект при работе в MUX режиме с GNSS в SIM7600:

- если я обращаюсь в одном виртуальном канале к модулю (например, запрашиваю данные AT+CGPSINFO, или меняю установки) - то ответ получаю именно в этом же виртуальном канале, как и ожидалось.

- Но вот если я говорю передавать мне данные периодически от модуля (например, командой AT+CGPSINFOCFG=1,1) - то он начинает передавать ответ во все разрешенные виртуальные каналы. То есть если у меня два канала- то я вижу два фрейма от модема, если у меня 4 канала- то я вижу четыре фрейма

Этот множественный ответ ошибка или так задумано? Если задумано- то задумка плохая, из-за нее нельзя пользоваться автосообщениями, а нужно просто самому запрашивать командой, чтоб не мешать общению в других каналах.

Поправка: при поднятом ppp  в DLC1 я не вижу NMEA фрейма для данного канала, a вижу только три фрейма (DLC2,3,4). То есть модем передает NMEA сообщение во все каналы, которые используются для обмена AT командами.

 

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


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

1 hour ago, CADiLO said:

Сюда заглядывали?

AT+CATR Configure URC destination interface

Спасибо, помогло! :)

Ну вот, вроде бы я доволен.

SIM7600. Соединение: LTE.

- DLC0 - служебный.

- DLC1: поднял ppp

- DLC2: передача SMS (проверено, без проблем идет одновременно с ppp)

- DLC3: прием SMS. Но еще не проверял. Посмотреть нужно, как с принятыми сообщениями от модема- сюда они пойдут или в DLC4, но это уже мелочи, решаемо.

- DLC4: доступ к GNSS.

Есть, конечно, что еще полировать, но вроде бы функционально все на месте и работает как я хотел.

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


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

Значит можно поздравить с тем что получилось.

Заодно теперь сможете консультировать по MUX  :drinks:

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


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

2 hours ago, CADiLO said:

Значит можно поздравить с тем что получилось.

Заодно теперь сможете консультировать по MUX  :drinks:

Спасибо. :)

Немного некомфортно было, что нет прямых апнотов для этого модема, но это было скомпенсировано быстрой и внятной техподдержкой :friends:

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


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

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

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

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

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

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

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

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

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

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