SIM908 Não ativa GPS quando o arduino esta desconectado
3 participantes
Página 1 de 1
SIM908 Não ativa GPS quando o arduino esta desconectado
Boa Tarde.
Estou com um problema estranho no módulo SIM908 que não consigo resolver, ele só ativa o GPS se o módulo e o arduino estiver comunicando com o computador via serial monitor, segue abaixo meu código de configuração do módulo:
pinState = digitalRead(statuspin);
if(pinState==LOW){
digitalWrite(powerkey, HIGH); // set the LED on
delay(2000);
digitalWrite(powerkey, LOW);
}
if (verifica == 0) {
mySerial.println("AT+CGPSPWR=0");
delay(1000);
mySerial.println("AT+CGPSPWR=1");
delay(1000);
mySerial.println("AT+CGPSRST=0");
delay(1000);
verifica = 1;
mySerial.flush();
}
Essa variavel "verifica" inicia com zero e depois de passar uma vez por esse trecho do comando ela se torna 1, sendo assim ela inicia o módulo e faz um reset no GPS só uma vez.
Ja estou com um programa pronto que le os dados do GPS e envia para um site via GPRS, só falta descobrir pq o módulo não obtem os dados do GPS quando esta desconectado do computador. Aparentemente ele só inicia apos haver uma conexão do arduino e o pc, se alguem ja passou por isso por favor me passe o caminho das pedras.
Obs.: Quando conectado via Serial Monitor o programa funciona sem problemas.
Estou com um problema estranho no módulo SIM908 que não consigo resolver, ele só ativa o GPS se o módulo e o arduino estiver comunicando com o computador via serial monitor, segue abaixo meu código de configuração do módulo:
pinState = digitalRead(statuspin);
if(pinState==LOW){
digitalWrite(powerkey, HIGH); // set the LED on
delay(2000);
digitalWrite(powerkey, LOW);
}
if (verifica == 0) {
mySerial.println("AT+CGPSPWR=0");
delay(1000);
mySerial.println("AT+CGPSPWR=1");
delay(1000);
mySerial.println("AT+CGPSRST=0");
delay(1000);
verifica = 1;
mySerial.flush();
}
Essa variavel "verifica" inicia com zero e depois de passar uma vez por esse trecho do comando ela se torna 1, sendo assim ela inicia o módulo e faz um reset no GPS só uma vez.
Ja estou com um programa pronto que le os dados do GPS e envia para um site via GPRS, só falta descobrir pq o módulo não obtem os dados do GPS quando esta desconectado do computador. Aparentemente ele só inicia apos haver uma conexão do arduino e o pc, se alguem ja passou por isso por favor me passe o caminho das pedras.
Obs.: Quando conectado via Serial Monitor o programa funciona sem problemas.
trcsistemas- Mensagens : 8
Data de inscrição : 08/09/2012
Re: SIM908 Não ativa GPS quando o arduino esta desconectado
Mas quem garante que o GPS não está pegando as coordenadas ? pelo codigo acima vc só ligou e resetou o modulo, como vc sabe que o codigo nmea não está chegando através do comando AT+CGPSINF=32 ?
Re: SIM908 Não ativa GPS quando o arduino esta desconectado
Amigo garanto que esta funcionando perfeitamente. Tenho uma novidade, notei que após ligar (arduino e shield) e aguardar até que o módulo se registre na rede de celular e der um reset no arduino funciona perfeitamente. O fragmento do código que passei é só para mostrar como estou iniciando o módulo, logicamente existe mais linhas responsaveis pelo resto dos processos executados. Em resumo, após ligar o módulo e arduino juntos não envia o nmea com as coodernadas pode ficar uma hora que não envia, mas se eu ligar e aguardar o shield se registar e der um reset no arduino funciona após 30 segundos. Andei pesquisando e descobri que o arduino da um reset sempre que vc estabelece uma conexão serial com ele, isso me levou a crer que se eu desse um reset manual apos ligado funcionaria, e foi o que ocorreu. Criei também o seguinte teste, uma pequena rotina que pisca um led sempre que ele encontra o S da latitude (se ele encontra o S é pq os dados estão chegando), mesmo resultado, após ligado só pisca o led (encontra a latitude) após o reset.
Só um detalhe, talvez me expressei mal o módulo envia o retorno do NMEA porem ele chega sempre zerado, até que seja feito o reset do arduino.
exemplo: 32,000000.000,V,0.000000,N,0.000000,E,0.00,0.00,000000,,E,A
Só um detalhe, talvez me expressei mal o módulo envia o retorno do NMEA porem ele chega sempre zerado, até que seja feito o reset do arduino.
exemplo: 32,000000.000,V,0.000000,N,0.000000,E,0.00,0.00,000000,,E,A
trcsistemas- Mensagens : 8
Data de inscrição : 08/09/2012
Re: SIM908 Não ativa GPS quando o arduino esta desconectado
"Só um detalhe, talvez me expressei mal o módulo envia o retorno do NMEA porem ele chega sempre zerado, até que seja feito o reset do arduino.
exemplo: 32,000000.000,V,0.000000,N,0.000000,E,0.00,0.00,000000,,E,A"
Digite AT+cgpsrst=0 sempre que ligar o modulo
exemplo: 32,000000.000,V,0.000000,N,0.000000,E,0.00,0.00,000000,,E,A"
Digite AT+cgpsrst=0 sempre que ligar o modulo
Re: SIM908 Não ativa GPS quando o arduino esta desconectado
Na verdade eu ja estou usando esse comando logo no inicio do loop, vou tentar fazer ele aguardar um tempo maior antes de executar o reset do GPS, vou fazer os testes e retorno os resultados, assim que funcionar perfeitamente vou postar toda a minha experiencia aqui no forum, vi que muita gente esta com duvidas para fazer o modulo enviar a latitude e longitude e quero ajudar.
trcsistemas- Mensagens : 8
Data de inscrição : 08/09/2012
resetando o GPS a todo momento
amigo, vc precisa enviar esse comando apenas uma vez, então talvez vc deveria tentar tirar ele do void loop() e colocar no void Setup() senão pode ser q esse comando fique resetando o GPS a todo momento e por isso ele não consegue achar as coordenadas... outras dicas são: o primeiro FIX leva um tempão prá vir mesmo (uns 10 minutos)... e coloque a antena GPS num lugar o mais aberto possível (dentro de casa pode ser q ele nunca pegue um FIX mesmo)....
eu consegui fazer funcionar depois de um tempo com esse comandos AT:
AT+CGPSPWR=0 //força desligamento do GPS
AT+CGPSPWR=1 // liga o GPS
AT+CGPSRST=1 // aqui vc seta cold/warm ou hot start... tem q ver qual a melhor maneira de usar isso
AT+CGPSIPR=9600 //seta o boud rate.... o mesmo que vc está usando para a comunicação com o arduino
AT+CGPSOUT=32 //seta o tipo de saida esperado... acho q esse comando não é necessário
AT+CGPSINF=32 // solicita as coordenadas NMEA
abs e boa sorte...
eu consegui fazer funcionar depois de um tempo com esse comandos AT:
AT+CGPSPWR=0 //força desligamento do GPS
AT+CGPSPWR=1 // liga o GPS
AT+CGPSRST=1 // aqui vc seta cold/warm ou hot start... tem q ver qual a melhor maneira de usar isso
AT+CGPSIPR=9600 //seta o boud rate.... o mesmo que vc está usando para a comunicação com o arduino
AT+CGPSOUT=32 //seta o tipo de saida esperado... acho q esse comando não é necessário
AT+CGPSINF=32 // solicita as coordenadas NMEA
abs e boa sorte...
andersonlf- Mensagens : 6
Data de inscrição : 31/08/2012
Re: SIM908 Não ativa GPS quando o arduino esta desconectado
Não testei seu código ainda, mas quanto ao problema que vc descreveu no video concordo com o anderson eu mudaria isso aqui.
if (verifica == 0) {
mySerial.println("AT+CGPSPWR=0"); //Desligar o GPS é inutil deixa ele ligado só desligue para economizar energia, mas não fique reiniciando ele com base no "verifica"
delay(1000);
mySerial.println("AT+CGPSPWR=1");
delay(1000);
mySerial.println("AT+CGPSRST=0");
delay(1000);
verifica = 1;
mySerial.flush();
}
if (verifica == 0) {
mySerial.println("AT+CGPSPWR=0"); //Desligar o GPS é inutil deixa ele ligado só desligue para economizar energia, mas não fique reiniciando ele com base no "verifica"
delay(1000);
mySerial.println("AT+CGPSPWR=1");
delay(1000);
mySerial.println("AT+CGPSRST=0");
delay(1000);
verifica = 1;
mySerial.flush();
}
Tópicos semelhantes
» Placa arduino desligando quando alimento pino digital
» Shield sim908 com o Arduino IDE 1.0.1
» Arduino UNO SIM 908
» Compatibilidade do Arduino com sim908
» SIM908 SHIELD
» Shield sim908 com o Arduino IDE 1.0.1
» Arduino UNO SIM 908
» Compatibilidade do Arduino com sim908
» SIM908 SHIELD
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|