AS COORDENADAS NÃO FUNCIONAM NO GOOGLE MAPS

Ir em baixo

AS COORDENADAS NÃO FUNCIONAM NO GOOGLE MAPS Empty AS COORDENADAS NÃO FUNCIONAM NO GOOGLE MAPS

Mensagem  Julio Freitas em Qui 30 Jul - 9:07

Pessoal estou tendo problemas ao lançar as coordenadas para o google maps pois o arduino faz a leitura certinho do codigo nmea, mas
no maps aparece no meio do oceano tipo tudo azul.

Alguém poderia me ajudar, segue código.
#include

SoftwareSerial mySerial(2, 3);

#define BUF_LEN 200
char flag = 0;
int powerkey = 5;
int statuspin = 6;
int pinState = 0;
int verifica = 0;
String lati;
float latitude;
float longitude;
String lon;
String ctrl;
byte num_of_bytes;
byte retorno;
char comm_buf[BUF_LEN];
byte n;

void setup()
{

pinMode(powerkey, OUTPUT);
pinMode(statuspin, INPUT);

mySerial.begin(9600);
Serial.begin(9600);

}

void loop()
{

pinState = digitalRead(statuspin);
if(pinState==LOW){
digitalWrite(powerkey, HIGH); // set the LED on
delay(2000);
digitalWrite(powerkey, LOW);
delay(7000);
}

if (verifica == 0) {
http://Serial.println("desligando GPS");
http://mySerial.println("AT+CGPSPWR=0");
//delay(1000);
Serial.println("ligando GPS");
mySerial.println("AT+CGPSPWR=1");
delay(1000);
Serial.println("Resetando GPS");
mySerial.println("AT+CGPSRST=0");
delay(1000);
verifica = 1;
mySerial.flush();
}

lati = "";
lon = "";
ctrl = "";
limpa_buffer();
mySerial.flush();
delay(500);
Serial.println("obtendo Coordenadas GPS");
mySerial.println("AT+CGPSINF=32");
delay(1000);
leserial();
delay(1000);
if (ctrl == "S") {
enviaSMS();
//enviadados();
}
limpa_buffer();
}//FIM DO LOOPP

void limpa_buffer()
{
memset(comm_buf,'\0',BUF_LEN);
}

void enviaSMS()
{
if(flag==0)
{
Serial.println("Entrando modo texto");
mySerial.print("AT+CMGF=1\r"); //mandando SMS em modo texto

delay(1000);
mySerial.print("AT+CMGS=\"+**********\"\r"); // numero que vamos mandar o SMS
delay(1000);
flag=1;
}

if(flag==1)
{
latitude = lati.toFloat();
Serial.print(latitude);
//latitude = latitude/100;
longitude = lon.toFloat();
//longitude = longitude/100;
Serial.println("Escrevendo SMS com Latitude");
delay(1000);
mySerial.print("https://maps.google.com.br/maps?q=-");
mySerial.print(longitude/60,5); // corpo da msg longitude,4
delay(1000);
limpa_buffer();
mySerial.print(",");
http://mySerial.print("");
mySerial.print("-");
mySerial.print(latitude/60,5);//10m1!1e2? latitude,4
http://mySerial.println("&iwloc=A&hl=pt-br");
delay(1000);
mySerial.write(0x1A); //equivalente a mandar Ctrl+Z(finaliza corpo do SMS)
delay(1000);
flag=2;
}
if(flag==2)
{
Serial.println("SMS Enviado com sucesso!");
delay(5000);
flag=3;
}
}
void enviadados()
{
mySerial.println("AT+CIPSHUT");
mySerial.println("AT+CIPMUX=0");
mySerial.println("AT+CGATT=1");
mySerial.println("AT+CSTT=\"gprs.oi.com.br\",\"oi\",\"oi\"");//executa comando
delay(2000); //espera
limpa_buffer();

mySerial.println("AT+CIICR");//executa comando
delay(5000); //espera resultado na serial
limpa_buffer();

mySerial.println("AT+CIFSR");//executa comando
delay(2000); //espera resultado na serial
limpa_buffer();

http://mySerial.println("AT+CDNSCFG?");//executa comando
//delay(3000); //espera resultado na serial
//limpa_buffer();

mySerial.println("AT+CIPSTART=\"tcp\",\"seusite\",\"80\"");//executa comando
delay(2000); //espera resultado na serial
limpa_buffer();

mySerial.println("AT+CIPSEND");//executa comando
delay(2000);
limpa_buffer();

mySerial.println("GET http://seusite/seuphp?lati="+lati+"&long="+lon+"&velo=0&idsim=66778833");//executa comando
delay(3000);
limpa_buffer();

delay(1000);
mySerial.println();
delay(1000);
mySerial.println(0x1A);
limpa_buffer();
mySerial.flush();
}


void leserial()
{
Serial.println("lendo SERial");
num_of_bytes = mySerial.available(); //Pega quantidade de bytes que estao na serial
while (mySerial.available() > 0) //Espera até que serial possua bytes
{
Serial.println("Serial possui bytes");
for(n=0; ncomm_buf[n]= mySerial.read();

}
Serial.println("Valor do NNNNNNNN");
Serial.println(n);
if (n == 63) {
Serial.println("passando lati e long");
//Se o n for menor que 63 descarta pacote
//Alimenta as variaveis com o conteudo do buffer
lati = comm_buf;
Serial.println("Valor do comm_buf");
Serial.println(lati);
delay(1000);
lon = comm_buf;
ctrl= lati.substring(45,46);
Serial.println("VAlor do ctrl!!");
Serial.println(ctrl);
//Pega só a latitude e longitude
lati = lati.substring(47,58);
Serial.println(lati);
lon = lon.substring(33,44);
Serial.println(lon);
}
}
Serial.println("PASSOU COORDENADAS");
mySerial.flush(); //limpa buffer de entrada da serial
limpa_buffer();
}

Julio Freitas

Mensagens : 2
Data de inscrição : 17/07/2015

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum