Projeto Arduino
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

SIM908 e arduino UNO rastreador veicular

+12
raphaelpereira
as_vasc
americo
mace_marques
zavattih
giovaniriolli
alysson.rosemberg
enetsec
dicaiado
Moises
Admin
trcsistemas
16 participantes

Página 3 de 4 Anterior  1, 2, 3, 4  Seguinte

Ir para baixo

SIM908 e arduino UNO rastreador veicular - Página 3 Empty Re: SIM908 e arduino UNO rastreador veicular

Mensagem  giovaniriolli Ter 27 Ago - 13:07

O próprio Arduino está digitando os comandos no serial monitor.
Conforme informei os dados são capturados 2 vezes e depois surge o caractere m.br/ins... ou br/ins.. e só pega mais duas vezes as coordenadas e para

giovaniriolli

Mensagens : 17
Data de inscrição : 06/06/2013

Ir para o topo Ir para baixo

SIM908 e arduino UNO rastreador veicular - Página 3 Empty Re: SIM908 e arduino UNO rastreador veicular

Mensagem  Admin Ter 27 Ago - 15:52

Faz o teste que eu pedi e deixa ligado
Admin
Admin
Admin

Mensagens : 560
Data de inscrição : 07/04/2009
Idade : 43
Localização : Franca

https://projetoarduino.forumeiros.com

Ir para o topo Ir para baixo

SIM908 e arduino UNO rastreador veicular - Página 3 Empty Re: SIM908 e arduino UNO rastreador veicular

Mensagem  zavattih Qui 29 Ago - 20:21

Olá. Meu projeto esta funcionando perfeitamente agora, troquei a fonte, agora esta com uma de 12V, 0,5A e troquei o chip tmb, comprei outro da vivo mesmo com o plano de internet móvel. O código que esta nele é aquele que postei anteriormente.
Ele esta enviando a cada 1 ou 2 minutos.
Se quiser conferir esta é a pagina de verificação dos envios:http://www.frotaz.com.br/consulta.php.
qualquer duvida que puder ajudar estou a disposição.cheers

zavattih

Mensagens : 14
Data de inscrição : 27/07/2013

Ir para o topo Ir para baixo

SIM908 e arduino UNO rastreador veicular - Página 3 Empty Re: SIM908 e arduino UNO rastreador veicular

Mensagem  zavattih Qui 29 Ago - 20:26

Mais uma coisa Giovani, tire qualquer resposta da pagina php de inserção de dados, como confirmações, reports de erros, etc. pode ser que o Sim908 esteja se perdendo com a resposta do seu protocolo de inserção de dados no banco.

zavattih

Mensagens : 14
Data de inscrição : 27/07/2013

Ir para o topo Ir para baixo

SIM908 e arduino UNO rastreador veicular - Página 3 Empty Re: SIM908 e arduino UNO rastreador veicular

Mensagem  giovaniriolli Qui 29 Ago - 22:23

zavattih,

Fico muito feliz que seu projeto deu certo. Vou verificar o meu código e passar para ASP que é a linguagem que eu domino.
Após os testes acho interessante colocarmos o código pronto e com os macetes que tem que ser feito, tipo de fonte, para ajudar outros membros com dificuldade.

giovaniriolli

Mensagens : 17
Data de inscrição : 06/06/2013

Ir para o topo Ir para baixo

SIM908 e arduino UNO rastreador veicular - Página 3 Empty Coordenada Incompleta.

Mensagem  mace_marques Sáb 31 Ago - 23:08

Boa Noite amigos.
estou com um certo problema no código.
quando ele retorna o código nmea o mesmo vem incompleto.
ele aparece assim:
32,025237.000,A,100.002006,S,3254.794926,W,0.0

quando deveria aparecer assim:
32,030518.000,A,100.001130,S,3254.793851,W,0.00,0.00,010913,,E,A

Obs: o código que eu utilizei foi o que está disponibilizado aqui no forum.
O Sim908 só retorna o nmea completo quando acionado diretamente pelo comando.
Se alguem puder me ajudar, agradeço.
Obrigado desde já

mace_marques

Mensagens : 8
Data de inscrição : 31/05/2013

Ir para o topo Ir para baixo

SIM908 e arduino UNO rastreador veicular - Página 3 Empty Re: SIM908 e arduino UNO rastreador veicular

Mensagem  Admin Qua 11 Set - 8:31

Aumente o tamanho do buffer
Admin
Admin
Admin

Mensagens : 560
Data de inscrição : 07/04/2009
Idade : 43
Localização : Franca

https://projetoarduino.forumeiros.com

Ir para o topo Ir para baixo

SIM908 e arduino UNO rastreador veicular - Página 3 Empty Conexão GPRS

Mensagem  mace_marques Ter 15 Out - 15:28

Toda vez que coloco no arduino esse comando (AT+CSTT=\"gprs.oi.com.br\",\"oi\",\"oi\")

Ele retorna erro.

mace_marques

Mensagens : 8
Data de inscrição : 31/05/2013

Ir para o topo Ir para baixo

SIM908 e arduino UNO rastreador veicular - Página 3 Empty Re: SIM908 e arduino UNO rastreador veicular

Mensagem  Admin Ter 15 Out - 15:37

Tá faltando aspas ai
Admin
Admin
Admin

Mensagens : 560
Data de inscrição : 07/04/2009
Idade : 43
Localização : Franca

https://projetoarduino.forumeiros.com

Ir para o topo Ir para baixo

SIM908 e arduino UNO rastreador veicular - Página 3 Empty ERRO NO AT+CSTT

Mensagem  americo Qua 16 Out - 20:16

POR QUE QUANDO EU COLOCO O COMANDO AT+CSTT, ELE ME RETORNA ERRO???

meu chip é tim e estou usando assim:

AT+CSTT="tim.com.br","tim","tim"

Consegui fazer ele retornar OK somente uma vez, do resto só erro!!! antes desse comando já usei o AT+CSQ que me retorna OK, mas quando dou o comando do AT+CSTT ele continua dando erro!!!

americo

Mensagens : 7
Data de inscrição : 27/08/2013
Idade : 32
Localização : Maringá - Pr

Ir para o topo Ir para baixo

SIM908 e arduino UNO rastreador veicular - Página 3 Empty Re: SIM908 e arduino UNO rastreador veicular

Mensagem  Admin Qui 17 Out - 6:51

Verifique seu chip se está ativo para o plano de dados
Admin
Admin
Admin

Mensagens : 560
Data de inscrição : 07/04/2009
Idade : 43
Localização : Franca

https://projetoarduino.forumeiros.com

Ir para o topo Ir para baixo

SIM908 e arduino UNO rastreador veicular - Página 3 Empty Consegui Resolver o Problema

Mensagem  mace_marques Qui 17 Out - 17:10

Troquei para um chip da OI e funcionou...
quanto ao chip da tim... foi apenas aumentar o delay que funcionou.

mace_marques

Mensagens : 8
Data de inscrição : 31/05/2013

Ir para o topo Ir para baixo

SIM908 e arduino UNO rastreador veicular - Página 3 Empty Resposta do Módulo

Mensagem  mace_marques Sáb 19 Out - 14:37

Boa Tarde.
Amigos como faço para saber se o modulo responde OK ou Erro durante a execução do codigo...

EX:
Serial.println("Desligando GPS...");
mySerial.println("AT+CGPSPWR=0");
Serial.println("GPS Desligado.");
delay(1000);

nesse exemplo... o comando passa direto, sem eu saber se o modulo respondeu OK.
existe alguma função ou trecho de codigo que me retone apenas essa resposta?

Obrigado desde já.
Abraço.

mace_marques

Mensagens : 8
Data de inscrição : 31/05/2013

Ir para o topo Ir para baixo

SIM908 e arduino UNO rastreador veicular - Página 3 Empty Dúvida

Mensagem  americo Seg 21 Out - 16:26

Sobre o problema citado por mim anteriormente, continua dando erro no AT+CIICR !!! e ativei meu pacote de dados....

tenho outra dúvida, com o sim908 gostaria de pegar as coordenadas GPS e enviar para um celular..
para solicitar a coordenada eu utilizo o comando AT+CGPSINF=32, com isso ele me retorna algo desse tipo:

32,200421.000,A,2323.891622,S,5158.630559,W,0.00,0.00,270813,,E,A
OK

então gostaria de pegar os valores que vão de 2323 até ..559, antes do W e enviar esses valores para o celular....
alguém poderia me explicar como faço para pegar esse valor para depois enviar???

mt obrigado

americo

Mensagens : 7
Data de inscrição : 27/08/2013
Idade : 32
Localização : Maringá - Pr

Ir para o topo Ir para baixo

SIM908 e arduino UNO rastreador veicular - Página 3 Empty Enviando as coodenadas de latitude e longitude para um celular SIM908

Mensagem  americo Qui 31 Out - 16:57

Olá, depois de fazer muita pesquisa aqui no site conseguir fazer meu programa funcionar corretamente... Quando envio uma sms para o chip que está no módulo ele lê essa sms e verifica se ela é igual a uma senha registrada, caso seja, ele me retorna a latitude e longitude....
Não sou especialista em programação tenho uma base apenas, tive mt dificuldade pra entender e fazer funcionar, se alguém tiver alguma duvida é só falar que tento ajudar.... mas se olharem todas as postagem dos tópicos a maioria dessas duvidas já foram respondidas!!!
SEGUE O CÓDIGO:

Código:

#include <SoftwareSerial.h>
#include <Wire.h> //I2C library

SoftwareSerial mySerial(2, 3); //RX, TX

const int powerkey =  5;
const int statuspin = 6;
const int vDetect = 4;
const int led = 13;

int i = 0;
int firstClosingBracket;
int vState=0;
int pinState=0;
int count = 0;
int erroConec = 0;
int statusConec = false;
float int_lat_hour = 00.000000;
float int_long_hour = 00.000000;


String inputString = "";        //STRING USADA PARA ARMAZENADA DADOS DE ENTRADA
String readEeprom = "";
char inChar;
char str_long[19];
char str_lat[19];

/**********************************************************************************************************
  CONFIGURAÇÕES
**************************************************************************************************************/
String apn = "tim.com.br";
String user = "tim";
String pass = "tim";

String phone = "+554499434644";

/**************************************************************************************************************
  FUNÇÃO QUE LÊ A SOFTSERIAL
  *DEVE SER CHAMADA TODA VEZ QUE DER UM COMANDO NO SIM908
************************************************************************************************************/
void leserial()
{
  inputString = "";
  while (mySerial.available()>0)
  {
    inChar = mySerial.read();  //LÊ A O QUE ESTÁ NA PORTA SERIAL E MANDA ESSE DADO PARA inChar      
    inputString += inChar;    
    //delay(1);
  }
  Serial.println(inputString);  //USADO PARA MOSTRAR A LEITURA QUE FOI FEITA NA SOFTSERIAL
}

/*******************************************************************************************************
  ADQUIRI E TRATA O CÓDIGO NMEA
*************************************************************************************************************/
void pegaPosicao(){  
  Serial.println("Codigo NMEA");
  {
    mySerial.println("AT+CGPSINF=0");  //SOLICITA AS COODENADAS GPS
    delay(200);              
    leserial();
    //Serial.println(inputString);
    
/************** SEPARA LATITUDE E LONGITUDE *******************/
    char buffer[250] = "";
    char *p_char;
    char *p_char1;

   inputString.toCharArray(buffer, 250);  
/*************** LONGITUDE ******************/
   p_char = strchr((char *)(buffer),',');
   p_char1 = p_char+1;  //ESTAMOS NO PRIMEIRO CARACTER DA LONGITUDE
   p_char = strchr((char *)(p_char1), ',');
   if (p_char != NULL) {
          *p_char = 0;
    }
   strcpy(str_long, (char *)(p_char1));

/*************** LATITUDE ******************/
   p_char++;
   p_char1 = strchr((char *)(p_char), ',');
   if (p_char1 != NULL) {
          *p_char1 = 0;
    }  
  strcpy(str_lat, (char *)(p_char));
/**********TRANSFORMANDO A STRING EM INTERGER**********/
    char str_long_pos[5] = "";  
    str_long_pos[0] = str_long[0];
    str_long_pos[1] = str_long[1];
    str_long_pos[2] = str_long[2];
    int_long_hour = atof(str_long_pos);
    str_long_pos[0] = str_long[3];
    str_long_pos[1] = str_long[4];
    str_long_pos[2] = str_long[5];
    str_long_pos[3] = str_long[6];
    str_long_pos[4] = str_long[7];
    str_long_pos[5] = str_long[8];
    float int_long_min = 00.000000;
    int_long_min = atof(str_long_pos);
    int_long_min = int_long_min / -60;  // DIVIDE POR 60 PARA TER AS COORDENADAS PRONTAS PARA SEREM USADAS NO GOOGLE MAPS
    int_long_hour = int_long_hour + int_long_min;
    
/************ FAZ A MESMA COISA PARA A LATITUDE ************/
    char str_lat_pos[5] = "";
    str_lat_pos[0] = str_lat[0];
    str_lat_pos[1] = str_lat[1];
    str_lat_pos[2] = str_lat[2];
    int_lat_hour = atof(str_lat_pos);
    str_lat_pos[0] = str_lat[3];
    str_lat_pos[1] = str_lat[4];
    str_lat_pos[2] = str_lat[5];
    str_lat_pos[3] = str_lat[6];
    str_lat_pos[4] = str_lat[7];
    str_lat_pos[5] = str_lat[8];
    float int_lat_min = 00.000000;
    int_lat_min = atof(str_lat_pos);
    int_lat_min = int_lat_min / -60;
    int_lat_hour = int_lat_hour + int_lat_min;
    
/**************** MOSTRA COMO FICOU A LATITUDE E A LONGITUDE ****************/
     Serial.println(int_long_hour,6); // ESSE 6 É O NUMERO DE CASAS DECIMAIS
     Serial.println(int_lat_hour,6);
    
    
     delay(1000);
 }
}

/**************************************************************************************************************
  VERIFICA SE O GPS ESTA LIGADO
*************************************************************************************************************/
void verificaGPS(){
   Serial.println("Verifica GPS");              
   mySerial.println("AT+CGPSPWR?");  //VERIFICA SE O GPS ESTÁ LIGADO
   delay(500);
   leserial();  
   http://Serial.println(inputString);
   firstClosingBracket = inputString.indexOf(':');  //VAI PEGAR UM VALOR DE ENTRADA DA STRING DEPOIS DOS 2 PONTOS, E COLOCA ESSE VALOR //IGUAL firstClosingBracket
   if (inputString.startsWith("0",firstClosingBracket+2))  //SE A ENTRADA DA STRING COMEÇAR COM (inputString.StartsWith) 0, DEPOIS DE  //firstClosingBracket + 2 ELE ENTRA NO IF
   {
     Serial.println("Ligando GPS");
     mySerial.println("AT+CGPSPWR=1");  //LIGA O MODO GPS
     delay(2000);  
     mySerial.println("AT+CGPSRST=0");  //REINICIA O MODO GPS
   }
   mySerial.flush();
}

/************************************************************************************************************
  VERIFICA SE ESTÁ CONECTADO
*************************************************************************************************************/
void verificaConexao(){
  Serial.println("Verifica Conexão");              
  mySerial.println("AT+CIFSR");  //OBTER ENDEREÇO IP LOCAL
  delay(2000);
  leserial();
  //Serial.println(inputString);
  firstClosingBracket = inputString.indexOf('E');  //VAI PROCURAR NA ENTRADA DA STRING ONDE TEM UM E
                                                              //E GRAVAR ISSO EM firstClosingBracket
  if (inputString.startsWith("ERROR",firstClosingBracket))  //SE A ENTRADA DA STRING COMEÇAR COM
                                                                           //(inputString.StartsWith) ERROR, ENTRA NESSE IF
  {
    erroConec++;  //AQUI ELE VAI CONTANDO OS ERROS DA CONEXÃO E CASSO PASSE DE 5 TENTATIVAS ELE DESLIGA E LIGA O MODULO
    statusConec = false;  
    Serial.println("Conectando");
    mySerial.println("AT+CSTT=\"" +apn+ "\",\"" +user+ "\",\"" +pass+ "\"");  //INÍCIO DA TAREFA SET APN, NOME DE USUÁRIO E SENHA
    delay(4000);
    mySerial.println("AT+CIICR");  //FAZ A CONEXÃO GPRS
    delay(10000);
    mySerial.println("AT+CIFSR");  //OBTER ENDEREÇO IP LOCAL
    delay(4000);
    mySerial.println("AT+CDNSCFG?");  //CONFIGURA O DNS
    leserial();
    // Serial.println(inputString);
    mySerial.flush();
  }
   else
   {
     Serial.println("Conectado!!!");
     statusConec = true;  
   }  
   //isso aqui é uma tentativa de reaver a rede GSPRS
   if(erroConec > 3)
   {
     erroConec = 0;
     http://Serial.println("Desligando o modulo");
     //digitalWrite(powerkey, HIGH);   // set the LED on
     //delay(2000);
     //digitalWrite(powerkey, LOW);
     //leserial();
     //delay(20000);
  }
}
void setup()
{
/*********************************************************************************************************
 INICIALIZANDO O SERIAL
**********************************************************************************************************/
  Serial.begin(9600);
  mySerial.begin(9600);
  pinMode(powerkey, OUTPUT);
  pinMode(statuspin, INPUT);
  //inputString.reserve(300);
  
/*********************************************************************************************************
  TIRA O ECO E TORNA A SMS LEGÍVEL
**********************************************************************************************************/
  Serial.println("Inicializando o Modulo");
  mySerial.println("ATE0");
  delay(1000);
  mySerial.println("AT+CMGF=1");  //SELECIONA O FORMATO DA MENSAGEM DE TEXTO
  delay(1000);
  mySerial.println("AT&W0");  //ARMAZENA OS PARÂMETROS DA CONFIGURAÇÃO ATUAL DO PERFIL DO USUÁRIO DEFINIDO
  delay(1000);
  mySerial.println("AT+CGPSRST=1");  //RESETA O GPS
  verificaConexao();  //CHAMA A FUNÇÃO
  verificaGPS();  //CHAMA A FUNÇÃO
  mySerial.println("AT+CMGDA=\"DEL ALL\"");  //DELETA TODAS AS MENSAGENS
  delay(1000);
  Serial.println("Mensagens deletadas");
  leserial();  //CHAMA A FUNÇÃO
  delay(2000);
}

void loop()
{
  pinState = digitalRead(statuspin);
  if(pinState==LOW)
  {
    Serial.println("Ligando o Sim908");    
    digitalWrite(powerkey, HIGH);   //ACENDE O LED
    delay(2000);
    digitalWrite(powerkey, LOW);  //DESLIGA O LED
    delay(30000); //DELAY É DEMORADO PARA DAR TEMPO DO MÓDULO LIGAR E SE REGISTRAR NA REDE
  }
  pegaPosicao();  //CHAMA A FUNÇÃO

/***********************************************************************************************************
  FUNÇÃO PARA LÊ AS SMS
************************************************************************************************************/
  Serial.println("Lendo SMS");
  /*if(int_long_hour && int_lat_hour)*/{
  //if(i==0){
  mySerial.println("AT+CMGR=1");  //LÊ A SMS QUE ACABOU DE CHEGAR
  //  i++;
  //}
  delay(200);  
  leserial();
  //Serial.println(inputString);
  firstClosingBracket = inputString.indexOf('#');  //PROCURA NA ENTRADA DA STRING ONDE TEM UM #
  
/************* Envia SMS caso encontre a senha #1234**************/
  if (inputString.startsWith("#1234",firstClosingBracket))  //SE A ENTRADA DA STRING COMEÇAR COM(inputString.StartsWith) #1234 ENTRA NO IF
  {
    delay(1000);
    pegaPosicao();  //CHAMA A FUNÇÃO NOVAMENTE PARA PODER PEGAR OS DAOS CORRETAMENTE
    digitalWrite(led, HIGH);
    Serial.println("Enviando SMS");
    mySerial.println("AT+CMGS=\"" +phone+ "\"");  // CONFIGURA PARA ENVIAR MENSAGEM PARA O NUMERO DESEJADO
    delay(1000);        
    mySerial.print("Longitude: ");
    mySerial.println(int_long_hour,6);
    mySerial.print("Latitude: ");
    mySerial.println(int_lat_hour,6);    
    delay(1000);
    mySerial.write(26);
    delay(6000);
    mySerial.println("AT+CMGD=1");  //APAGA A MENSAGEM QUE CHEGOU
    //mySerial.println("AT+CMGDA=\"DEL ALL\"");  //DELETA TODAS AS MENSAGENS
    digitalWrite(led, LOW);
    Serial.println("Mensagem enviada");
  }
  mySerial.flush();
  delay(2000);
  }
}
/************************************************ FIM **********************************************/


americo

Mensagens : 7
Data de inscrição : 27/08/2013
Idade : 32
Localização : Maringá - Pr

Ir para o topo Ir para baixo

SIM908 e arduino UNO rastreador veicular - Página 3 Empty Hyperterminal

Mensagem  as_vasc Qua 6 Nov - 14:26

Olá amigos,

Estou desenvolvendo um protótipo de telemetria, mas as coisas não estão indo bem.
Para implementar e testar a aquisição de dados eu estou usando o hyperterminal para enviar os comandos, e um script em PHP para receber os dados, mas não está funcionando, segue abaixo os comandos e respostas e logo abaixo o script em PHP. Eu sei que esta é uma questão recorrente, mas aparentemente está tudo funcionando corretamente. OBS: eu criei uma página formulário em html para testar a recepção do script e ele salvou corretamente no banco de dados. O que será que falta? Onde será que estou errando? Se alguém puder me ajudar, serei muito grato.

AT
OK
AT+CREG?
+CREG: 0,1
OK
AT+CIPMUX=0
OK
AT+CSTT="wap.tim.br","tim","tim"
OK
AT+CIICR
OK
AT+CIFSR
100.66.150.122
AT+CIPSTART="TCP","www.metroaguaavasc.com.br","80"
OK
CONNECT OK
AT+CIPSEND
> GET http://www.metroaguaavasc.com.br/gprs.php?idcliente="12345Y"&leitura="123"
SEND OK

$cliente = $_GET['cliente'];
$leitura = $_GET['leitura'];

$dbc = mysqli_connect('localhost', 'banco_db', 'senha', 'metro_TCC');

$sql = "INSERT INTO leituras (idcliente, leitura)" .
"VALUES ('$idcliente', '$leitura')";

mysqli_query($dbc, $sql);

mysqli_close($dbc);
?>

as_vasc

Mensagens : 3
Data de inscrição : 08/10/2013

Ir para o topo Ir para baixo

SIM908 e arduino UNO rastreador veicular - Página 3 Empty Novidades para o SIM 908

Mensagem  trcsistemas Qua 4 Dez - 6:33

Olá, tenho novidades para esse shield, criei uma pequena aplicação web que pode receber os dados e mostrar em um mapa do google, quem tiver interesse em testar seus projetos nela fiquem a vontade. Segue o link: "www.dvlogistica.com/os" lembrando que esse site só funciona se o arduino estiver configurado conforme explicações anteriores desse post. Em breve farei um vídeo mostrando o funcionamento. Até mais galera.

trcsistemas

Mensagens : 8
Data de inscrição : 08/09/2012

Ir para o topo Ir para baixo

SIM908 e arduino UNO rastreador veicular - Página 3 Empty Re: SIM908 e arduino UNO rastreador veicular

Mensagem  Admin Qui 5 Dez - 6:03

Olá TRC muito bom o site porem no primiero código que vc postou

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 seusite+seuphp+variaveis");//executa comando

Não tem o formato de dados que nem o endereço do formulário para cadastrar coordenadas no seu site tem como passar isso ?
Admin
Admin
Admin

Mensagens : 560
Data de inscrição : 07/04/2009
Idade : 43
Localização : Franca

https://projetoarduino.forumeiros.com

Ir para o topo Ir para baixo

SIM908 e arduino UNO rastreador veicular - Página 3 Empty Re: SIM908 e arduino UNO rastreador veicular

Mensagem  trcsistemas Qui 5 Dez - 6:23

Na verdade o código que esta ai no fórum esta desatualizado, abaixo segue a nova versão, aconselho que use a IDE 1.0.1 para compilar o código:

OBS.: Utilizei o chip da claro tive melhores resultados. Essa versão do código corrige um problema que existia na anterior onde o arduino só iniciava o programa se conectado ao serial monitor. E o mais importante, no envio do GET a variavel idsim deve conter o um numero cadastrado no site.

#include
SoftwareSerial mySerial(2, 3);

#define BUF_LEN_0  200
#define BUF_LEN_1  84

const int MAXDATA = 256;

int powerkey =  5;
int statuspin = 6;
int pinState = 0;
int verifica = 0;
int x =0;
String lat;
String lon;
String ctrl;
byte num_of_bytes;
byte retorno;
char comm_buf[BUF_LEN_0];
char data [MAXDATA];
byte n;
String splitString(String s, char parser,int index);

void setup() {
 Serial.begin(9600);
 mySerial.begin(9600);
 pinMode(powerkey, OUTPUT);
 pinMode(statuspin, INPUT);

}

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) {
  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();
  }
   
  lat = "";
  lon = "";
  ctrl = "";
  limpa_buffer();
  mySerial.flush();
  delay(1000);
  mySerial.println("AT+CGPSINF=32");
  delay(1000);
  leserial();
  //delay(120000);
  delay(60000);
  if (ctrl == "S") {
  enviadados();
  }
  limpa_buffer();
}

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

void enviadados()
{  
 mySerial.println("AT+CIPMUX=1");
 delay(2000);
 limpa_buffer();
 
 mySerial.println("AT+CSTT=\"claro.com.br\",\"claro\",\"claro\"");
 delay(2000);
 limpa_buffer();

 mySerial.println("AT+CIICR");
 delay(2000);
 limpa_buffer();

 mySerial.println("AT+CIFSR");
 delay(2000);
 limpa_buffer();

 mySerial.println("AT+CIPSTART=1,\"tcp\",\"dvlogistica.com\",\"80\"");
 delay(2000);
 limpa_buffer();

 mySerial.println("AT+CIPSEND=1");
 delay(2000);
 limpa_buffer();
 
 mySerial.println("GET http://www.dvlogistica.com/inseredados.php?lati="+lat+"&long="+lon+"&velo=0&idsim=76350266");//executa comando
 delay(2000);
 limpa_buffer();
 
 delay(2000);
 mySerial.write(26);
 delay(2000);
 mySerial.println("AT+CIPSHUT");
 delay(2000);
 mySerial.flush();
 
 /*mySerial.println("AT+CMGF=1");  //    Because we want to send the SMS in text mode
 Serial.println("Enviando SMS");
 delay(1000);
 mySerial.println("AT+CMGS=\"976350266\"");  // Aqui vc coloca o numero para o qual quer enviar SMS
 delay(2000);  
 mySerial.print("Dados GPS");
 mySerial.print("Latitude: "+lat);
 mySerial.print("Longitude: "+lon);
 delay(2000);          
 mySerial.write(26); //CTRL+Z*/  
}

void leserial()
{
 num_of_bytes = mySerial.available(); //Pega quantidade de bytes que estao na serial
 while (mySerial.available() > 0)    //Espera até que serial possua bytes
 {
   for(n=0; n   {  
    comm_buf[n] = mySerial.read();
   }
 }
 lat = splitString(comm_buf,',',3);
 ctrl = splitString(comm_buf,',',4);
 lon = splitString(comm_buf,',',5);
 Serial.println("Latitude: "+lat);
 Serial.println("Longitude: "+lon);
 Serial.println("CTRC: "+ctrl);
 mySerial.flush();  //limpa buffer de entrada da serial
 limpa_buffer();
}

String splitString(String s, char parser,int index){
 String rs='\0';
 int parserIndex = index;
 int parserCnt=0;
 int rFromIndex=0, rToIndex=-1;

 while(index>=parserCnt){
   rFromIndex = rToIndex+1;
   rToIndex = s.indexOf(parser,rFromIndex);

   if(index == parserCnt){
     if(rToIndex == 0 || rToIndex == -1){
       return '\0';
     }
     return s.substring(rFromIndex,rToIndex);
   }
   else{
     parserCnt++;
   }

 }
 return rs;
}

trcsistemas

Mensagens : 8
Data de inscrição : 08/09/2012

Ir para o topo Ir para baixo

SIM908 e arduino UNO rastreador veicular - Página 3 Empty rastreador com o 908

Mensagem  raphaelpereira Seg 3 Fev - 15:19

por favor alguém sabe alguma forma de consertar o horário que o gps busca. pois o gps busca as informações mas retorna o horário com um fuso horário de 2 horas a mais. queria saber alguma coisa tipo um comando at para parametrizar isso. por que da para consertar se colocar na programaço para subtrair 2 horas do valor retornado. porem fazendo isso só estarei consertando o horário e a data não porque ao chegar as 10 horas da noite como se tem 2 horas a mais a data recebida e do próximo dia.

alguém sabe me dizer como eu faço essa parametrização?
obrigado.

raphaelpereira

Mensagens : 2
Data de inscrição : 03/02/2014

Ir para o topo Ir para baixo

SIM908 e arduino UNO rastreador veicular - Página 3 Empty Re: SIM908 e arduino UNO rastreador veicular

Mensagem  hi1975 Seg 3 Fev - 16:09

raphael, não tem como vc fazer um tratamento melhor de data/hora? Do jeito que vc falou, vc está simplesmente subtraindo 2 da hora. Isso é muito simplório. Precisa tratar melhor o dado, como por exemplo, verificar se o resultado da conta for negativo, precisaria subtrair um dia e ajustar o contador de horas para 24, e se o isso resultasse em dia negativo, precisaria subtrair um mês e reajustar o contador de dia em 28, 30 ou 31 conforme o mês, e se o resultado disso fosse mês negativo, precisaria subtrair um ano e reajustar o mês para 12. Esse é um método totalmente braçal e exigiria certos cuidados e simulações.

Mas se a sua aplicação usa PHP para tratar os dados vindos do GPS para gravar no banco de dados, dá pra combinar os comandos date e strtotime. Veja:

Código:
<?php

$formato_saida = 'Y-m-d H:i:s';
$data_gps = '2012-03-01 01:10:40'; // trate os dados vindos do gps para ficar nesse formato

$diff = '-3 hour'; // pode ser valor positivo ou negativo; aceita day, month, year, hour, minute, second

$data_resultante = date($formato_saida, strtotime($diff,strtotime($data_gps)));

echo $data_resultante;
?>

hi1975

Mensagens : 16
Data de inscrição : 30/01/2014

Ir para o topo Ir para baixo

SIM908 e arduino UNO rastreador veicular - Página 3 Empty Este código funciona para arduino mega + sim908?

Mensagem  Dias Sex 28 Mar - 19:41

trcsistemas escreveu:Olá pessoal, segue minha contribuição para o forum, fiz um pequeno sistema de rastreamento com o SIM908 + arduino uno, segue abaixo o video mostrando o funcionamento e código fonte:

Video:



Código fonte :

#include
NewSoftSerial mySerial(2, 3);

#define BUF_LEN  200

int powerkey =  5;
int statuspin = 6;
int pinState = 0;
int verifica = 0;
String lat;
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);
  }

  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();
  }
   
  lat = "";
  lon = "";
  ctrl = "";
  limpa_buffer();
  mySerial.flush();
  delay(500);
  mySerial.println("AT+CGPSINF=32");
  delay(1000);
  leserial();
  delay(60000);
  if (ctrl == "S") {
  enviadados();
  }
  limpa_buffer();
}

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

void enviadados()
{  
 mySerial.println("AT+CSTT=\"portaldaoperadora\",\"usuario\",\"senha\"");//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();

 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 seusite+seuphp+variaveis");//executa comando
 delay(3000);
 limpa_buffer();
 
 delay(1000);
 mySerial.println();  
 delay(1000);
 mySerial.println(0x1A,BYTE);    
 limpa_buffer();
 mySerial.flush();  
}

void leserial()
{
 num_of_bytes = mySerial.available(); //Pega quantidade de bytes que estao na serial
 while (mySerial.available() > 0)    //Espera até que serial possua bytes
 {
   for(n=0; n    {  
    comm_buf[n] = mySerial.read();
   }
 }
 if (n == 63) {
   //Se o n for menor que 63 descarta pacote
   //Alimenta as variaveis com o conteudo do buffer
   lat = comm_buf;
   lon = comm_buf;
   ctrl= lat.substring(30,31);
   //Pega só a latitude e longitude
   lat = lat.substring(18,29);
   lon = lon.substring(32,43);
 }
 mySerial.flush();  //limpa buffer de entrada da serial
 limpa_buffer();
}




Se alguem se interessar no software que busca os dados e plota no mapa, entrem em contato no email que se encontra nas observações do video.

Espero que o código fonte acima ajude alguem.

Dias

Mensagens : 2
Data de inscrição : 13/03/2014

Ir para o topo Ir para baixo

SIM908 e arduino UNO rastreador veicular - Página 3 Empty ENVIAR COORDENADAS PARA BD.

Mensagem  aronrao Sáb 19 Abr - 11:56

Pessoal, estou tentando enviar as coordenadas adquiridas, para um webserver. Alguém pode me ajudar?

Estou usando o seguinte código:

Código:
#include <SoftwareSerial.h>
#include <Wire.h> //I2C library
SoftwareSerial mySerial(2, 3); //RX, TX
const int powerkey = 5;
const int statuspin = 6;
const int vDetect = 4;
const int led = 13;
int i = 0;
int firstClosingBracket;
int vState=0;
int pinState=0;
int count = 0;
int erroConec = 0;
int statusConec = false;
float int_long_hour = 00.000000;
float int_lat_hour = 00.000000;

String inputString = ""; //STRING USADA PARA ARMAZENADA DADOS DE ENTRADA
String readEeprom = "";
char inChar;
char str_long[19];
char str_lat[19];
/**********************************************************************************************************
CONFIGURAÇÕES
**************************************************************************************************************/
String apn = "zap.vivo.com.br";
String user = "zap";
String pass = "zap";
String phone = "numero cel";

/**************************************************************************************************************
FUNÇÃO QUE LÊ A SOFTSERIAL
*DEVE SER CHAMADA TODA VEZ QUE DER UM COMANDO NO SIM908
************************************************************************************************************/
void leserial()
{
inputString = "";
while (mySerial.available()>0)
{
inChar = mySerial.read(); //LÊ A O QUE ESTÁ NA PORTA SERIAL E MANDA ESSE DADO PARA inChar
inputString += inChar;
//delay(1);
}
Serial.println(inputString); //USADO PARA MOSTRAR A LEITURA QUE FOI FEITA NA SOFTSERIAL
}
/*******************************************************************************************************
ADQUIRI E TRATA O CÓDIGO NMEA
*************************************************************************************************************/
void pegaPosicao(){
Serial.println("Codigo NMEA");
{
mySerial.println("AT+CGPSINF=0"); //SOLICITA AS COODENADAS GPS
delay(200);
leserial();
http://Serial.println(inputString);

/************** SEPARA LATITUDE E LONGITUDE *******************/
char buffer[250] = "";
char *p_char;
char *p_char1;
inputString.toCharArray(buffer, 250);
/*************** LONGITUDE ******************/
p_char = strchr((char *)(buffer),',');
p_char1 = p_char+1; //ESTAMOS NO PRIMEIRO CARACTER DA LONGITUDE
p_char = strchr((char *)(p_char1), ',');
if (p_char != NULL) {
*p_char = 0;
}
strcpy(str_long, (char *)(p_char1));
/*************** LATITUDE ******************/
p_char++;
p_char1 = strchr((char *)(p_char), ',');
if (p_char1 != NULL) {
*p_char1 = 0;
}
strcpy(str_lat, (char *)(p_char));
/**********TRANSFORMANDO A STRING EM INTERGER**********/
char str_long_pos[5] = "";
str_long_pos[0] = str_long[0];
str_long_pos[1] = str_long[1];
str_long_pos[2] = str_long[2];
int_long_hour = atof(str_long_pos);
str_long_pos[0] = str_long[3];
str_long_pos[1] = str_long[4];
str_long_pos[2] = str_long[5];
str_long_pos[3] = str_long[6];
str_long_pos[4] = str_long[7];
str_long_pos[5] = str_long[8];
float int_long_min = 00.000000;
int_long_min = atof(str_long_pos);
int_long_min = int_long_min / -60; // DIVIDE POR 60 PARA TER AS COORDENADAS PRONTAS PARA SEREM USADAS NO GOOGLE MAPS
int_long_hour = int_long_hour + int_long_min;

/************ FAZ A MESMA COISA PARA A LATITUDE ************/
char str_lat_pos[5] = "";
str_lat_pos[0] = str_lat[0];
str_lat_pos[1] = str_lat[1];
str_lat_pos[2] = str_lat[2];
int_lat_hour = atof(str_lat_pos);
str_lat_pos[0] = str_lat[3];
str_lat_pos[1] = str_lat[4];
str_lat_pos[2] = str_lat[5];
str_lat_pos[3] = str_lat[6];
str_lat_pos[4] = str_lat[7];
str_lat_pos[5] = str_lat[8];
float int_lat_min = 00.000000;
int_lat_min = atof(str_lat_pos);
int_lat_min = int_lat_min / -60;
int_lat_hour = int_lat_hour + int_lat_min;

/**************** MOSTRA COMO FICOU A LATITUDE E A LONGITUDE ****************/
Serial.println(int_lat_hour,6); // ESSE 6 É O NUMERO DE CASAS DECIMAIS
Serial.println(int_long_hour,6);


delay(1000);
}
}
/**************************************************************************************************************
VERIFICA SE O GPS ESTA LIGADO
*************************************************************************************************************/
void verificaGPS(){
Serial.println("Verifica GPS");
mySerial.println("AT+CGPSPWR?"); //VERIFICA SE O GPS ESTÁ LIGADO
delay(500);
leserial();
http://Serial.println(inputString);
firstClosingBracket = inputString.indexOf(':'); //VAI PEGAR UM VALOR DE ENTRADA DA STRING DEPOIS DOS 2 PONTOS, E COLOCA ESSE VALOR //IGUAL firstClosingBracket
if (inputString.startsWith("0",firstClosingBracket+2)) //SE A ENTRADA DA STRING COMEÇAR COM (inputString.StartsWith) 0, DEPOIS DE //firstClosingBracket + 2 ELE ENTRA NO IF
{
Serial.println("Ligando GPS");
mySerial.println("AT+CGPSPWR=1"); //LIGA O MODO GPS
delay(2000);
mySerial.println("AT+CGPSRST=0"); //REINICIA O MODO GPS
}
mySerial.flush();
}
/************************************************************************************************************
VERIFICA SE ESTÁ CONECTADO
*************************************************************************************************************/
void verificaConexao(){
Serial.println("Verifica Conexão");
mySerial.println("AT+CIFSR"); //OBTER ENDEREÇO IP LOCAL
delay(2000);
leserial();
http://Serial.println(inputString);
firstClosingBracket = inputString.indexOf('E'); //VAI PROCURAR NA ENTRADA DA STRING ONDE TEM UM E
//E GRAVAR ISSO EM firstClosingBracket
if (inputString.startsWith("ERROR",firstClosingBracket)) //SE A ENTRADA DA STRING COMEÇAR COM
//(inputString.StartsWith) ERROR, ENTRA NESSE IF
{
erroConec++; //AQUI ELE VAI CONTANDO OS ERROS DA CONEXÃO E CASSO PASSE DE 5 TENTATIVAS ELE DESLIGA E LIGA O MODULO
statusConec = false;
Serial.println("Conectando");
mySerial.println("AT+CSTT=\""+apn+"\",\"" +user+ "\",\"" +pass+ "\""); //INÍCIO DA TAREFA SET APN, NOME DE USUÁRIO E SENHA
delay(4000);
mySerial.println("AT+CIICR"); //FAZ A CONEXÃO GPRS
delay(10000);
mySerial.println("AT+CIFSR"); //OBTER ENDEREÇO IP LOCAL
delay(4000);
mySerial.println("AT+CDNSCFG?"); //CONFIGURA O DNS
leserial();
// Serial.println(inputString);
mySerial.flush();
}
else
{
Serial.println("Conectado!!!");
statusConec = true;
}
//isso aqui é uma tentativa de reaver a rede GSPRS
if(erroConec > 3){
erroConec = 0;
//http://Serial.println("Desligando o modulo");
//digitalWrite(powerkey, HIGH); // set the LED on
//delay(2000);
//digitalWrite(powerkey, LOW);
//leserial();
//delay(20000);
}
}
void setup()
{
/*********************************************************************************************************
INICIALIZANDO O SERIAL
**********************************************************************************************************/
Serial.begin(9600);
mySerial.begin(9600);
pinMode(powerkey, OUTPUT);
pinMode(statuspin, INPUT);
http://inputString.reserve(300);

/*********************************************************************************************************
TIRA O ECO E TORNA A SMS LEGÍVEL
**********************************************************************************************************/
Serial.println("Inicializando o Modulo");
mySerial.println("ATE0");
delay(1000);
mySerial.println("AT+CMGF=1"); //SELECIONA O FORMATO DA MENSAGEM DE TEXTO
delay(1000);
mySerial.println("AT&W0"); //ARMAZENA OS PARÂMETROS DA CONFIGURAÇÃO ATUAL DO PERFIL DO USUÁRIO DEFINIDO
delay(1000);
mySerial.println("AT+CGPSRST=1"); //RESETA O GPS
verificaConexao(); //CHAMA A FUNÇÃO
verificaGPS(); //CHAMA A FUNÇÃO
mySerial.println("AT+CMGDA=\"DEL ALL\""); //DELETA TODAS AS MENSAGENS
delay(1000);
Serial.println("Mensagens deletadas");
leserial(); //CHAMA A FUNÇÃO
delay(2000);
}
void loop()
{
pinState = digitalRead(statuspin);
if(pinState==LOW)
{
Serial.println("Ligando o Sim908");
digitalWrite(powerkey, HIGH); //ACENDE O LED
delay(2000);
digitalWrite(powerkey, LOW); //DESLIGA O LED
delay(30000); //DELAY É DEMORADO PARA DAR TEMPO DO MÓDULO LIGAR E SE REGISTRAR NA REDE
}
pegaPosicao(); //CHAMA A FUNÇÃO
/***********************************************************************************************************
FUNÇÃO PARA LÊ AS SMS
************************************************************************************************************/
Serial.println("Lendo SMS");
if(int_lat_hour && int_long_hour){
if(i==0){
mySerial.println("AT+CMGR=1"); //LÊ A SMS QUE ACABOU DE CHEGAR
i++;
}
delay(200);
leserial();
http://Serial.println(inputString);
firstClosingBracket = inputString.indexOf('#'); //PROCURA NA ENTRADA DA STRING ONDE TEM UM #

/************* Envia SMS caso encontre a senha #1234**************/
if (inputString.startsWith("#1234",firstClosingBracket)) //SE A ENTRADA DA STRING COMEÇAR COM(inputString.StartsWith) #1234 ENTRA NO IF
{
delay(1000);
pegaPosicao(); //CHAMA A FUNÇÃO NOVAMENTE PARA PODER PEGAR OS DAOS CORRETAMENTE
digitalWrite(led, HIGH);
Serial.println("Enviando SMS");
mySerial.println("AT+CMGS=\""+phoneenvia+"\""); // CONFIGURA PARA ENVIAR MENSAGEM PARA O NUMERO DESEJADO
delay(1000);
mySerial.print("Longitude: ");
mySerial.println(int_long_hour,6);
mySerial.print("Latitude: ");
mySerial.println(int_lat_hour,6);
delay(1000);
mySerial.write(26);
delay(6000);
mySerial.println("AT+CMGD=1"); //APAGA A MENSAGEM QUE CHEGOU
http://mySerial.println("AT+CMGDA=\"DEL ALL\""); //DELETA TODAS AS MENSAGENS
digitalWrite(led, LOW);
Serial.println("Mensagem enviada");
}
mySerial.flush();
delay(2000);
}
}
/************************************************ FIM **********************************************/



Com esse código, eu consigo adquirir as coordenadas corretamente, porém, gostaria de enviar tais coordenadas, para uma página PHP.

O endereço da página é o seguinte: ambulancesystem.com.br/test.php

O código da página é este:


Código:
<?php

session_start();

$lati2 =  $_GET['lati'];
$longe2  = $_GET['longe'];
$data2 = date("d/m/Y");

$con = mysql_connect("mysql01.site1393701359.hospedagemdesites.ws", "host", "senha") or die(mysql_error($con));
mysql_select_db("nome da tabela", $con);

  
  mysql_query("INSERT INTO Consulta (latitude,longitude,data) VALUES ('$lati2','$longe2','$data2')") or die(mysql_error($con));

?>




Alguém aí poderia me ajudar?

aronrao

Mensagens : 2
Data de inscrição : 15/03/2014

Ir para o topo Ir para baixo

SIM908 e arduino UNO rastreador veicular - Página 3 Empty Re: SIM908 e arduino UNO rastreador veicular

Mensagem  hi1975 Qui 1 maio - 11:41

aronrao escreveu:Pessoal, estou tentando enviar as coordenadas adquiridas, para um webserver. Alguém pode me ajudar?

Com esse código, eu consigo adquirir as coordenadas corretamente, porém, gostaria de enviar tais coordenadas, para uma página PHP.

O endereço da página é o seguinte: ambulancesystem.com.br/test.php

O código da página é este:

[...] codigo php [...]

Alguém aí poderia me ajudar?


Vc precisa ler o log do apache e/ou mysql para saber que tipo de erro ocorre. Tendo isso em mãos, diga-nos o tipo de erro para que alguém possa te ajudar.

Mas a primeira vista, eu já vi que vc está tentando gravar no mysql as datas no formato "d/m/Y". Se o tipo do campo data no mysql for "date", esse seu formato usado é inválido. Vc precisa converter para o formato ""Y-m-d" (com hífen separando, e não barras) para que o mysql aceite. No entanto, se vc configurou essa coluna de data para varchar, tudo bem, aí vc até poderia inserir a data em qualquer formato, porém vc perderia a capacidade de usar recursos relativos à cálculos e ordenações de datas.

Então te recomendo configurar no mysql a coluna para abastecimento da data com o tipo DATETIME e gravar as informações no formato "Y-m-d H:i:s". Julgo ser importante gravar inclusive o horário, minuto e segundo pois para aplicações de gps tais informações são essenciais.

Feito isso, caso continue não funcionando, informe-nos o erro exibido no log do apache e/ou mysql

hi1975

Mensagens : 16
Data de inscrição : 30/01/2014

Ir para o topo Ir para baixo

SIM908 e arduino UNO rastreador veicular - Página 3 Empty Re: SIM908 e arduino UNO rastreador veicular

Mensagem  aronrao Sáb 3 maio - 13:37

hi1975 escreveu:
aronrao escreveu:Pessoal, estou tentando enviar as coordenadas adquiridas, para um webserver. Alguém pode me ajudar?

Com esse código, eu consigo adquirir as coordenadas corretamente, porém, gostaria de enviar tais coordenadas, para uma página PHP.

O endereço da página é o seguinte: ambulancesystem.com.br/test.php

O código da página é este:

[...] codigo php [...]

Alguém aí poderia me ajudar?


Vc precisa ler o log do apache e/ou mysql para saber que tipo de erro ocorre. Tendo isso em mãos, diga-nos o tipo de erro para que alguém possa te ajudar.

Mas a primeira vista, eu já vi que vc está tentando gravar no mysql as datas no formato "d/m/Y". Se o tipo do campo data no mysql for "date", esse seu formato usado é inválido. Vc precisa converter para o formato ""Y-m-d" (com hífen separando, e não barras) para que o mysql aceite. No entanto, se vc configurou essa coluna de data para varchar, tudo bem, aí vc até poderia inserir a data em qualquer formato, porém vc perderia a capacidade de usar recursos relativos à cálculos e ordenações de datas.

Então te recomendo configurar no mysql a coluna para abastecimento da data com o tipo DATETIME e gravar as informações no formato "Y-m-d H:i:s". Julgo ser importante gravar inclusive o horário, minuto e segundo pois para aplicações de gps tais informações são essenciais.

Feito isso, caso continue não funcionando, informe-nos o erro exibido no log do apache e/ou mysql






Bom, o erro nao é em relação ao código do PHP para tratamento da data. O Problema descrito é em relação a enviar as coordenadas adquiridas no shield para o código PHP.
As coordenadas não são enviadas para a página PHP através do comando GET descrito no código.

aronrao

Mensagens : 2
Data de inscrição : 15/03/2014

Ir para o topo Ir para baixo

SIM908 e arduino UNO rastreador veicular - Página 3 Empty Re: SIM908 e arduino UNO rastreador veicular

Mensagem  Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Página 3 de 4 Anterior  1, 2, 3, 4  Seguinte

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos