Erros durante comunicação com a placa & utilização do GNSS

///Erros durante comunicação com a placa & utilização do GNSS
Erros durante comunicação com a placa & utilização do GNSS 2018-09-10T20:57:15+00:00

Home Fóruns Programa de Parcerias em IoT 2018 Telit Erros durante comunicação com a placa & utilização do GNSS

Marcado: 

Visualizando 5 posts - 1 até 5 (de 5 do total)
  • Autor
    Posts
  • Igor MouraIgor Moura
    Participante
    Número de postagens: 17

    Boa noite,

    Ao tentar enviar alguns comandos AT, a placa muitas vezes retorna a mensagem +CME ERROR: 100, que, de acordo com o datasheet, é um erro desconhecido. Esse erro ocorre de forma aparentemente aleatória, independente de qual mensagem eu mande – até ao enviar vários AT+GMI seguidos, a placa muitas vezes retorna esse erro. Alguém tem alguma ideia do que possa estar causando isso?

    Outra coisa, ao tentar ligar o controlador do GPS, a placa retorna o erro +CME ERROR: 4, como se não houvesse suporte do módulo a GNSS. Alguém já conseguiu fazer uso dele?

    Jonatas PazinJonatas Pazin
    Mestre
    Número de postagens: 3

    Boa tarde Igor,

    A mensagem de erro CME ERROR: 100 é exibida quando o módulo não consegue processar o comando enviada e sua causa pode estar relacionada com diversas causas, como por exemplo o processador estar ocupado gerenciando algum outro comando naquele momento. Nesses casos a sugestão é enviar novamente o comando.

    Em relação ao GPS, enviando o comando de power on deveria funcionar sim sem problemas. Sempre que tiver algum problema com as operações do módulo envie também os comandos AT que estão sendo usados e as respostas dos mesmos para termos um diagnostico mais preciso:

    AT$GPSP=1
    OK
    AT$GPSACP
    $GPSACP: ,,,,,1,,,,,

    OK

    Att,

    Igor MouraIgor Moura
    Participante
    Número de postagens: 17

    Jonatas, obrigado pela resposta e desculpa pela demora.

    Após experimentar mais um pouco com a placa (co computador mesmo), percebi que existem 3 interfaces USBs derivadas da placa: uma não faz nada, outra apenas retorna a resposta ao comando que vc enviou, e a última, além de retornar a resposta, dá um eco no comando enviado.
    Através desta última, percebi que estão ocorrendo possíveis perdas de dados, onde a placa não recebe a string do comando por inteiro, segue alguns exemplos de tentativas com o comando AT+GMI:

    <pre class=”lang:default decode:true”>
    AT+G

    +CME ERROR: 100
    AT+G

    +CME ERROR: 100
    AT+GMI

    Telit

    OK
    AT+G

    +CME ERROR: 100
    AT+G

    +CME ERROR: 100
    AT+GMI

    Telit

    OK
    AT+GMI

    Telit

    OK
    AT+GMI

    Telit

    OK
    AT+GMI

    Telit

    OK
    AT+GM

    +CME ERROR: 100
    AT+GM

    +CME ERROR: 100
    AT+GM

    +CME ERROR: 100
    AT+GMI

    Telit

    OK
    AT+GMI
    AT+GMI

    +CME ERROR: 100
    AT+GM

    +CME ERROR: 100
    AT+GMI

    +CME ERROR: 100
    AT+GMI

    Telit

    OK
    AT+GMI

    Telit

    OK
    AT+GMI

    Telit

    OK
    AT+GMI

    Telit

    OK
    AT+GM

    +CME ERROR: 100
    AT+GMI

    Telit

    OK
    AT+GMI

    Telit

    OK
    AT+GMI

    Telit

    OK

    Jonatas PazinJonatas Pazin
    Mestre
    Número de postagens: 3

    Realmente existem 3 interfaces que são abertas quando o módulo é conectado pela porta USB. Duas delas são interfaces de modem e podem ser enviados comandos AT e gerenciar conexões, enquanto a terceira porta é de diagnóstico usada internamente pela Telit.

    Uma das suas interfaces modem deve estar com o echo desabilitado por isso apenas informa as respostas dos comandos. Isso deve ter acontecido porque algum programa de conexão deve ter setado dessa forma para simplificar as operações de conexão já que esse tipo de software não precisa dos ecos dos comandos. Para ativar novamente use o comando ATE1 e depois salve com AT&W0. Se deseja desabilitar o echo use ATE0.

    Esse tipo de quebra dos comandos geralmente ocorre pelo corrompimento dos dados durante o caminho físico dos mesmos entre módulo e computador/uC. Uma forma de tentar contornar isso é usar o controle de fluxo nessa interface de comunicação para bufferizar os dados antes do envio e recebimento. Isso deve ser configurado na hora que você estiver setando a porta COM no programa Terminal ou no seu microcontrolador que esta operando a aplicação.

    Atenciosamente

    Igor MouraIgor Moura
    Participante
    Número de postagens: 17

    Obrigado pela explição do echo, está sendo bastante útil.

    Quanto ao GPS, mesmo após termos resolvido o problema de corrompimento dos dados, qualquer comando enviado relacionado ao mesmo ainda retorna o erro 100. Ex:

    // status do gps
    AT$GPSP?

    +CME ERROR: 100

     

    Alguma ideia do que pode estar ocasionando isso?

Visualizando 5 posts - 1 até 5 (de 5 do total)

Você deve fazer login para responder a este tópico.