Buenas tardes disculpen recientemente conseguí un sim808 con el que tengo un proyecto y no se cual sea la razón por la cual no me detecta la simcard trabajo con un código que encontré en linea nada mas para revisar que la simcard esta siendo detectada pero me detecta nada me sale que no se a detectado la simcard, trabajo con un Arduino que no es original pero e trabajado en otros proyectos con este mismo y no a presentado ningún problema
#include <DFRobot_SIM808.h>
#include <sim808.h>
#include <SoftwareSerial.h>
#define MESSAGE_LENGTH 160
char message[MESSAGE_LENGTH];
int messageIndex = 0;
char MESSAGE[300];
char lat[12];
char lon[12];
char wspeed[12];
char gprsBuffer[64];
char phone[16]="4818413687";
char datetime[24];
#define PIN_TX 8
#define PIN_RX 7
SoftwareSerial mySerial(PIN_TX,PIN_RX);
DFRobot_SIM808 sim808 (&mySerial);
void sendSMS();
void getGPS();
void readSMS();
void setup()
{
mySerial.begin(9600);
Serial.begin(9600);
while(!sim808.init())
{
Serial.print("Sim808: fallo en la inicializacion\r\n");
delay(200);
}
delay(3000);
Serial.println("SIM: modulo funcionando correctamente");
Serial.println("Por favor realiza una llamada!");
}
void getGPS(){//Toma de datos GPS
while(!sim808_check_with_cmd("AT+CGPSPWR=1", "OK\r\n", CMD))
{
Serial.println("Fallo al iniciar GPS");
}
Serial.println("GPS encendido!");
delay(1000);
while(!sim808_check_with_cmd("AT+CGPSSTATUS?\r\n", "+CGPSSTATUS: Location 2D Fix", CMD)&&!sim808_check_with_cmd("AT+CGPSSTATUS?\r\n", "+CGPSSTATUS: Location 3D Fix", CMD))
{
Serial.println("Adquiriendo datos del GPS");
}
mySerial.println("AT+CGPSOUT=32");
while(!sim808.getGPS());
mySerial.println("AT+CGPSOUT=0");
while(!sim808.getGPS());
mySerial.println("AT+CGPSOUT=0");
Serial.print("Latitud: ");
Serial.println(sim808.GPSdata.lat);
Serial.print("Longitud: ");
Serial.println(sim808.GPSdata.lon);
Serial.print("Velocidad del viento: ");
Serial.println(sim808.GPSdata.speed_kph);
Serial.println();
float la = sim808.GPSdata.lat;
float lo = sim808.GPSdata.lon;
float ws = sim808.GPSdata.speed_kph;
dtostrf(la, 4, 6, lat);
dtostrf(lo, 4, 6, lon);
dtostrf(ws, 4, 6, wspeed);
sprintf(MESSAGE, "Latitud: %s\nLongitud: %s\nVelocidad del Viento: %s kph\nhttp://maps.google.com/maps?q=%s,%s\n", lat, lon, wspeed, lat, lon);
}
void sendSMS(){//Enviar mensaje
Serial.println("Enviando Mensaje....");
Serial.println(MESSAGE);
Serial.println(phone);
sim808.sendSMS(phone,MESSAGE);
}
void loop(){
if(sim808.readable()){
sim808_read_buffer(gprsBuffer,32,DEFAULT_TIMEOUT);
}
if(messageIndex > 0){
getGPS();
sendSMS();
messageIndex=0;
sim808_clean_buffer(gprsBuffer,64);
}
}

