Estou usando o exemplo "HTTPS_GET_SoftSerial" da biblioteca Simm800l para ler os dados de um servidor e funciona bem.
Mas quando tento ler a mensagem SMS, enviando antes a configuração abaixo , os bytes do SMS vêm com problemas.
Sim800l.print("AT+CMGF=1\n;AT+CNMI=2,2,0,0,0\n;ATX4\n;AT+COLP=1\n");
O curioso é que a rotina HTTPS não é executada no meu código. Eu coloquei a seguinte linha:
if (falso) { uint16_t rc = sim800l-> doGet (URL, 10000); }
Ou seja, a interferência entre as funções ocorre apenas pelo fato do código ser compilado.
Alguém teria um exemplo usando GPRS e GSM no mesmo código?
Tags:
Olá David,
O que você descreve pode ser um problema com a comunicação serial.
Cabos, conexões ou até mesmo a velocidade de comunicação entre o Arduino e o módulo GSM.
Verifique os cabo/conexões. Teste diferentes velocidades de comunicação com o módulo.
Em geral os exemplo usam 9600, mas já li que essa velocidade cria uma certa instabilidade.
Tente com 38400 por exemplo.
Olá Rodrigo,
Desde já agradeço pela resposta!
O que eu percebi foi um mal funcionamento ao utilizar duas portas seriais via software, uma para o MODEM e outra para o GPS.
Basta apenas compilar o código para aparecer alguns comportamentos anômalos, tais como, mensagem que chegam pela metade ou com bytes invertidos, mensagens chegando picadas e com intervalo grande entre elas etc.
Agora estou pensando em uma maneira de colocar o MODEM ou o GPS na porta serial de hardware e usar apenas uma via software. O problema, que você já deve ter sacado, vai ser a trabalheira de toda hora ficar desconectando/conectando o dispositivo quando for gravar o firmware no Arduino.
Você teria uma sugestão?
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por