Чтение SMS через модем HSDPA с помощью команд At

Я пытаюсь прочитать SMS через модем HSDPA. Я пытался

  1. AT+CMGR=1
  2. AT+CMGR=123
  3. AT+CMGR="ВСЕ"
  4. AT+CMGR="ЗАПИСАТЬ ВСЕ"
  5. AT+CMGL="ВСЕ"

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

  1. Скорость передачи данных: 9600
  2. Биты данных: 8
  3. Паритет: нет
  4. Стоповый бит: 1

person Rohan    schedule 05.01.2014    source источник
comment
HSPDA отличается от SMS. Что написано в документации вашего модема?   -  person Dai    schedule 05.01.2014
comment
Я получил это от BSNL India, они не предоставили никакой документации.   -  person Rohan    schedule 05.01.2014
comment
Вы видели этот вопрос StackOverflow: stackoverflow.com/questions/4235030/   -  person user1725145    schedule 05.01.2014
comment
Что именно вы подразумеваете под отсутствием успеха? Не могли бы вы опубликовать полную команду и ответ последовательного сообщения?   -  person hlovdal    schedule 17.01.2014
comment
Было бы полезно увидеть, что вы отправили и получили по последовательному соединению, чтобы мы могли помочь вам здесь. Какие-нибудь АТ-команды работают? Вы пытались отправить только AT, чтобы увидеть, получите ли вы и OK обратно?   -  person Matt Aldridge    schedule 06.05.2014


Ответы (1)


После того, как вы подключили эмулятор терминала к модему (обычно это /dev/ttyUSB0 в Linux), попробуйте AT. Если вы получаете OK или ERROR, это означает, что у вас нет проблем с конфигурацией последовательного порта, потому что модем вам отвечает. Если вы ничего не получаете (например, модем не отвечает), возможно, у вас проблема с последовательным соединением или с аппаратной частью модема. Лично я использую miniterm.py (в Linux), и конфигурация

maurice@mickey> sudo miniterm.py -e /dev/ttyUSB0`
--- Miniterm on /dev/ttyUSB0: 9600,8,N,1 ---

Так же, как ваш.

Что касается чтения SMS, at+cmgl=? должен ответить либо ERROR, либо списком статусов. Если вы получаете ERROR, это означает, что ваш модем не принимает SMS. В противном случае вы должны получить что-то вроде +cmgl: ("REC UNREAD","REC READ","STO UNSENT","STO SENT","ALL")

Теперь, если вы выдадите at+cmgr, ответ должен выглядеть так

+CMGL: 8,"REC UNREAD","+XXXXXXXXXXXX",,"16/02/19,19:52:07+12"
Test 1
+CMGL: 9,"REC UNREAD","+XXXXXXXXXXXX",,"16/02/19,19:52:16+12"
Test 2

где +XXXXXXXXXXXX — MSISDN отправителя, а «Test 1» — сообщение, отправленное в SMS (его содержание). Опять же, если вы получаете ERROR, это означает, что ваш модем не принимает SMS-сообщения. Если вы отправили несколько SMS, но список пуст, возможно, SMS заблокированы в HLR для этой конкретной SIM-карты.

Чтобы прочитать 8-е SMS, введите at+cmgr=8 и вы должны получить

+CMGR: "REC READ","+XXXXXXXXXXXX",,"16/02/19,19:52:07+12"
Test 1

OK
person mszmurlo    schedule 19.02.2016
comment
Я набираю это sudo miniterm.py -e /dev/ttyUSB0 и работает. но он всегда отвечает ОК, не останавливаясь. И когда я набираю at+, он говорит, что команда не поддерживается - person Al Kasih; 30.04.2018