#include #include #include "stdio.h" //librerias propias-------------------- #include "utiles.h" #include "Sim808Manager.h" unsigned long milliseconds=100; //inicializacion sensores Sim808Manager sim808; unsigned long timer=millis(); unsigned long incremento=5000;//5 seg char strFecha[24]; int veces=0; void setup() { // initialize both serial ports: //Serial1.begin(19200); //SIM808.begin(19200); initCOM(); //inicia modulo sim808--------------- Serial2.begin(9600); if(sim808.inicia(&Serial2, 48)) { /* printCOM("envia sms hola"); if(!sim808.EnviaSMS("+34690744597", "hola")) printCOM("Error al enviar sms data"); */ printCOM("Modulo sim iniciado..."); printCOM("GPS iniciado..."); DataGPSSimManager* coor=sim808.GetGPSValid(); printCOM("Datos gps validos..."); //envia mensaje inicial------------------------------ enviaData(false); } else { printCOM("Fallo al iniciar SIM808"); } printCOM("...FIN INICIALIZACIONES"); } void loop() { if(!isTime(&timer,incremento)) { delay(100); return; } veces++; bool envia=veces>10; if(veces>10) veces=0; enviaData(false); } void enviaData(bool envia) { DataGPSSimManager* coor=sim808.GetGPS(); //envia mensaje inicial------------------------------ char buff[160]; char strlat[16]; char strlon[16]; char strfecha[24]; char stralt[16]; char strpres[16]; char strtem[16]; char strtemInt[16]; char strhdop[16]; char strvdop[16]; char precision[12]; dtostrf(coor->lat, 4, 6, strlat); dtostrf(coor->lon, 4, 6, strlon); dtostrf(coor->altitude, 6, 1, stralt); dtostrf(coor->hdop, 2, 2, strhdop); dtostrf(coor->vdop, 2, 2, strvdop); sprintf(buff,"APPData;%s;%s;%s;%s; Prec=%s; HDOP=%s; VDOP=%s ",coor->getFecha(strfecha), strlat, strlon, stralt, coor->getPrecision(precision), strhdop, strvdop ); printCOM(buff); if(!envia) return; if(!sim808.EnviaSMS("+34690744597", buff)) printCOM("Error al enviar sms data"); } /* * Para log en puerto COM en modo DEBUG */ void initCOM() { Serial.begin(9600); Serial.println("Iniciando"); }