Pergunta

Conectei meu telefone Samsung (GT-S3350) ao meu PC através de um cabo USB e instalei o driver USB para ele.Consigo enviar SMS para qualquer número de telefone através do meu PC usando comandos AT.Já tentei com Hyperterminal também através de Java.

Para configurar o celular para modo texto e receber erros elaborados estou enviando os seguintes comandos no Hiperterminal.

AT+CMGF=1
OK
AT+CMEE=2
OK

Como eu disse antes, sou totalmente capaz de enviar um SMS usando o comando CMGS, funciona perfeitamente bem.Mas quando tento listar as mensagens, recebo uma longa lista de OK, como abaixo.

AT+CMGL="TODOS"
OK

OK

OK


OK


OK


OK


OK


OK
.
.
.
ERRO

OK

O mesmo acontece quando dou "REC READ", "REC UNREAD" etc.em vez de "TODOS".
Além disso, quando estou usando o comando CNMI para ouvir as notificações de novas mensagens, recebo um OK imediatamente.Espera-se que mostre o índice do SMS recém-recebido, mas para mim fica em branco.

AT+CNMI=1,1,0,0,0
OK

Tentei receber SMS do meu outro telefone.A mensagem foi recebida, mas não vejo nenhum índice de memória no meu terminal.

Aprendi isso principalmente em blogs e navegando em APIs.Eu também tentei o método sugerido por este fio.Estou fazendo algo errado ou estou faltando alguma coisa?

Estou totalmente aberto a alternativas de recebimento de SMS no PC.Por favor sugira.

Foi útil?

Solução

Ai, isso não parece bom.Os comandos AT nunca devem1 entregar mais de um código de resultado final, obtendo toneladas de OKé seguido por um ERROR definitivamente não está certo.

Algumas perguntas e sugestões para testes/depuração adicionais:

  • Isso também se aplica ao modo PDU?

  • Isto se aplica a todos os diferentes armazenamentos de mensagens (verifique AT+CPMS)?

  • Embora você não esteja executando uma chamada de dados iniciada com ATD, faz alguma diferença definir <mode> para 2 para AT+CNMI?

  • O <bfr> O argumento diz que os códigos de resultado não solicitados serão lavados ao inserir os modos 1 a 3.Logo após receber uma mensagem (enquanto você está testando), faz alguma diferença para definir brevemente o modo para 0 e depois voltar para 1 (ou 2), forçando assim uma entrada para um modo que deve gerar todas as indicações em buffer?

  • Você já tentou com diferentes sistemas operacionais?Diferentes programas de terminal?(Isso realmente não deveria fazer nenhuma diferença, mas quem sabe)

1Bem, exceto por um erro de especificação (ver nota 1).


Dica geral para aprender mais sobre os comandos AT, confira os links do página de informações da tag at-command, em particular 27.005 para comandos de mensagens (mas se você ainda não leu o V.250, comece com esse).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top