bclose

SIM808: GSM/GPRS + GPS

Localización GPS, llamadas, mensajes e Internet
tienda online prometec

Objetivos

.

 

 

    • Presentar el módulo GSM/GPRS y GPS SIM808.
    • Aprender cómo conectarlo a nuestro Arduino.
    • Trabajar con los comandos AT.
    • Aprender a obtener las coordenadas GPS y la hora en UTC.

 

Material requerido.

ArduinoUNO Arduino Uno o similar. Un PC con el entorno de Arduino correctamente instalado y configurado.
 GSM/GPRS GPSUn módulo GSM/GPRS GPS SIM808.
Img_3_6Algunos macho-hembra de Protoboard.
Power supply

 Una fuente de alimentación para Arduino.

 

EL MÓDULO SIM808: GSM/GPRS + GPS

 

Este módulo está basado en el chip SIMCOM SIM808 y nos ofrece, además de las funcionalidades de envío y recepción de datos GSM/GPRS (la de los teléfonos móviles 2g), la tecnología GPS de navegación por satélite. O sea que, gracias a este módulo y utilizando una tarjeta SIM, seremos capaces de enviar y recibir llamadas y SMS, conectarnos a Internet y conocer nuestras coordenadas y el horario UTC (Tiempo Universal Coordinado).

Y por supuesto tiene conexión para cascos y micrófono para que podamos hablar con quien nos llame o cuando llamemos nosotros.

GSM/GPRS GPS

Para comunicarnos con este tipo de módulos utilizamos los comandos AT, unos viejos conocidos de esta página.

 
  • Toda la parte de comunicaciones GSM/GPRS es semejante a la que tratamos con el SIM900.
  • Así que si queréis, os recomendamos echar un ojo a sus respectivas sesiones Módulo GSM/GPRS SIM900.
 

 

CONEXIONES Y PUESTA EN MARCHA

 

Vamos a empezar por colocar en el módulo SIM808 la tarjeta SIM que vayamos a usar, que se pone en la parte de abajo de la placa. Es para tarjetas SIM de las grandes, así o usáis una de esas o necesitaréis de un adaptador.

También deberíamos poner en el módulo las dos antenas que vienen con él, la del GPRS y la del GPS. En las conexiones de la placa vienen marcado donde se conecta cada una de ellas. Antena GPRS y GPS SIM808

Y ahora nos toca conectarlo al Arduino, para lo que usaremos los pines Tx y Rx de la tarjeta (transmisión y recepción de datos), que conectaremos a los pines 7 y 8 del  Arduino respectivamente. Pueden ser otros pines cualesquiera, siempre que los soporte la librería Software Serial que vamos a utilizar. Además uniremos las tierras y utilizaremos una fuente de alimentación externa para el módulo SIM808, ya que a la hora de comunicar este tipo de módulos consume mucho y no será suficiente con la alimentación del Arduino.

 
  • Recordad que las conexiones Rx y Tx del módulo y del SIM808 deben ser cruzadas, es decir, el Rx de uno al Tx del otro y viceversa para que se puedan comunicar de forma efectiva.
  • Y que no se os olvide unir las tierras de todos los componentes que uséis, o no funcionará.
 
SIM808 gprs gps arduino

Para encender el módulo utilizaremos el LED de encendido, y veremos como se ilumina un LED. Y para activar la alimentación a la tarjeta SIM tendremos que pulsar el pulsador un par de segundos. Al hacerlo veremos como se encienden dos LEDs, uno fijo y otro que parpadear una vez por segundo. Mientras esté así significa que no ha encontrado la red móvil, cosa que solucionaremos metiendo el PIN como veremos más adelante.

 

COMANDOS AT PARA EL GSM/GPRS

 

Para poder comunicarnos vía comandos AT tendremos que cargar un programa para la comunicación serie como hemos hecho tantas veces anteriormente. Crearemos una instancia llamada SIM808 y seleccionaremos los pines del Arduino que queramos usar para comunicarnos (Rx y Tx). Nosotros hemos elegido el 7 y el 8, pero podéis usar cualquiera que sea compatible con la librería. También podéis cambiar la velocidad de comunicación, pero debe ser la misma para el puerto serie y para la instancia que hemos creado. Nosotros hemos elegido 19200 porque es la que usa el SIM900, de forma que podamos usar los programas que ya tenemos de esas sesiones.

#include <SoftwareSerial.h>
SoftwareSerial SIM808(7, 8); //Seleccionamos los pines 7 como Rx y 8 como Tx

void setup()
{
 SIM808.begin(19200);
 Serial.begin(19200);
 delay(100);
}

void loop()
{
 //Envíamos y recibimos datos
 if (Serial.available() > 0)
 SIM808.write(Serial.read());
 if (SIM808.available() > 0)
 Serial.write(SIM808.read());
}

Una vez hayamos cargado el programa abrimos el monitor serie y seleccionamos la velocidad correcta. El primer comando AT nos servirá simplemente para saber si el módulo responde y que por lo tanto la comunicación funciona. Y este comando es simplemente AT, lo escribimos y pulsamos INTRO. Debería respondernos con un OK; si no deberíamos repasar que esté todo en orden: conexiones, encendido y velocidad correcta.

monitor serie AT

Comprobado esto, ya podemos meter el PIN de la tarjeta SIM, que se hace mediante el comando AT+CPIN=”XXXX”; donde tendréis que sustituir XXXX por el pin que corresponda, en mi caso 1867, o sea, AT+CPIN=”1867″. Obtendremos un mensaje de respuesta indicando si el PIN es correcto, y en caso de que lo sea, el LED que parpadeaba una vez por segundo pasará a hacerlo cada 3 segundos (más o menos), indicando que ha encontrado la red móvil.

comando at pin sim

Y ahora ya estamos en disposición de enviar y recibir llamadas y conectarnos a Internet. Para comprobar que efectivamente podéis llamaros al numero de teléfono de la SIM que hayáis puesto en el módulo, o usar el comando ATDXXXXXXXXX; (sustituyendo las X por el número de teléfono y respetando el “;”) para llamar a quien queráis. Y si le conectáis unos cascos y un micrófono al módulo podréis hablar como si fuera un teléfono normal.

monitor serie llamar recibir

Os dejamos una tabla con los comandos AT más utilizados con este tipo de módulos y enlaces a las sesiones de SIM900 donde ya tratamos eso, porque los comandos AT son los mismos y la programación también.

 

COMANDOS AT PARA EL GPS

 

La parte del GPS se controla igual, mediante comandos AT, y vamos a verlos usando el mismo programa que en el apartado anterior. Primero activaremos el GPS mediante el comando AT+CGPSPWR=1. Y después preguntaremos por el estado del GPS hasta que veamos que ya nos ha posicionado utilizando AT+CGPSSTATUS?. Cuando nos devuelva “Location 3D Fix” ya podremos seguir, lo que suele llevar unos 30 segundos la primera vez.

buscar red gps

Ahora ya estamos en posición de obtener los datos del GPSusando el comando AT+CGPSINF=0 que nos devolverá algo como esto: “+CGPSINF: 0,4316.645000,257.667700,14.800000,20170117141311.000,0,9,1.796440,198.850006″; que siguiendo ese orden corresponden a:

  1. Modo: 0.
  2. Latitud: 43º 16′ 64.5″.
  3. Longitud: 2º 7′ 66 77″.
  4. Altitud 14.8
  5. Fecha en UTC: 20170117141311, o sea, 17 de enero de 2017 a las 14:13:11.
  6. Tiempo de respuesta: 0.
  7. Número de satélites: 9.
  8. Velocidad: 1.796440 en nudos.
  9. Curso: 198.850006.

 

Coordenadas y UTC

También podemos usar AT+CGPSOUT=32 para obtener los datos del GPS pero usando la especificación de la NMEA (National Marine Electronics Association), que define la interfaz entre varios equipos electrónicos marítimos. Con este comando recibiremos estos datos hasta que cerremos el GPS usando AT+CGPSPWR=0.

gps datos

Estos datos corresponden a:

  1. Horario UTC: 14:25:34.
  2. Estado: A=Activo, V=Vacío.
  3. Latitud: 43º 16′ 68.54″ N.
  4. Longitud: 2º 57′ 64.83″ W.
  5. Velocidad en nudos: 0.40.
  6. Ángulo de derrota en grados: 1236.98.
  7. Fecha: 17/01/17
  8. Variación magnética.
  9. Datos del Cheksum.

 

Y si queréis comprobarlo buscad en Google “posición por coordenadas” o algo parecido e introducir los datos de latitud y longitud que hemos obtenido. No es que tenga una precisión del 100% pero no está mal. Al menos a mí me ha localizado con un margen de error aceptable.

mapa

 

Resumen de la sesión

 

En esta sesión hemos aprendido varias cosas importantes:

 
    • Hemos presentado los módulos GSM/GPRS + GPS basados en el chip SIM808.
    • Sabemos como conectarlo y ponerlo en marcha.
    • A utilizar la parte GSM/GPRS para enviar y recibir llamadas y mensajes y conectarnos a Internet.
    • A obtener los datos del GPS: localización, horario y fecha UTC…
 

(44) Comments

  • Hola gente,

    Estoy necesitando ayuda, no estoy pudiendo hacer funcionar la placa correctamente con Arduino UNO.
    Esta insertada la SIM en la placa y ambas placas están siendo alimentadas separadamente por los puertos USB de mi laptop.

    Conexiones:

    SIM808 UNO
    RX PIN8
    TX PIN7
    GND GND

    Lo que me pasa es lo siguiente: enchufo la placa, se prende el led de encendido, luego aprieto el boton de encendido de la SIM, empiezan a pardear los LED, en ese momento que parpadean los LEDs envio el comando AT y recibo OK, hasta ahi todo perfecto. El tema es que luego de unos segundos, los LEDs dejan de parpadear, se apagan y cuando envio el comando AT no recibo respuesta. Realmente no se porque sucede esto, si alguno me puede dar una mano seria de gran ayuda.

    Les dejo un video con lo que esta pasando:

    https://www.youtube.com/watch?v=JJmbeLIpdQM

    El codigo:
    #include
    SoftwareSerial mySerial(7, 8); //RX, TX

    void setup()
    {
    mySerial.begin(9600);
    Serial.begin(9600);
    delay(100);
    }

    void loop()
    {

    if (Serial.available()>0){
    mySerial.write(Serial.read());
    }
    if (mySerial.available()>0){
    Serial.write(mySerial.read());
    }
    }

    Agradeceria mucho su ayuda,

    Saludos.

    • Hola Lucas el código parece estar bien, y además consigues enviar y recibir así que las conexiones parece que también lo están. Tiene pinta de que puede ser la alimentación, pero por lo que dices y por lo que veo en el vídeo usas fuentes separadas. ¿Tienes unidas las tierras del sim808 y del arduino?

      • Hola Ivan, gracias por la respuesta. Si, uso fuentes separadas, ambas placas estan conectados a los puertos USB de mi laptop.
        Deberia andar bien, ambos puertos USB los verifique y entregan un poquito mas de 5V. Hay algun comando de configuracion que tenga que ejecutar sobre la placa? La verdad no se me ocurre mas.

  • Hola, estoy necesitando ayuda, no estoy pudiendo hacer funcionar la placa correctamente con Arduino UNO, lo que me pasa es lo siguiente.
    Esta insertada la SIM en la placa y ambas placas están siendo alimentadas separadamente por los puertos USB de mi laptop.
    Conexiones:

    SIM808 UNO
    RX PIN8
    TX PIN7
    GND GND

    El problema es…enchufo la placa, se prende el led de encendido, luego aprieto el boton de encendido de la SIM, empiezan a pardear los LED, en ese momento que parpadean los LEDs envio el comando AT y recibo OK, hasta ahi todo perfecto. El tema es que luego de unos segundos, los LEDs dejan de parpadear, se apagan y cuando envio el comando AT no recibo respuesta. Realmente no se porque sucede esto, si alguno me puede dar una mano seria de gran ayuda.

    Les dejo un video con lo que esta pasando:
    https://www.youtube.com/watch?v=JJmbeLIpdQM
    Gracias

    • Hola Lucas, tiene toda la pinta de que es por la alimentación. Prueba a usar una fuente externa para el SIM808 en vez de la de tu ordenador a ver si se arregla. Un salñudo.

  • Buenas Tardes

    Estaba Trabando muy bien con el modulo sim808 hace un par de días y ahora cuando mando el comando AT+CGREG? para ver si se registro me sale buscando y se queda por mucho tiempo o aveces me niegan el registro, y con el comando at+cops? para ver la compañía me sale 0, estaba usando movistar y telcel, me podrían orientar para ver que esta sucediendo les agradecería mucho.

    Saludos

    • Hola Rodrigo, en mi caso cuando he tenido problemas de ese tipo ha sido o por falta de alimentación o he tenido que acercar el gps a una ventana o algo así. De todas formas a veces puede tardar varios minutos en encontrar la red.

  • Buenas tares Ivan.

    Gracias por el tiempo y la pronta respuesta, te sigo comentando lo que he obtenido en las pruebas que he hecho estos dias:
    Sigue marcándome error el comando AT+CPIN, no he logrado llamar aun, ni mandar mensajes, pero ya logre recibir y leer mensajes SMS en el Monitor Serial, ¿Cual podría ser el problema? (Ese chip es de la compañía MOVISTAR).
    La siguiente prueba que hice fue probar otros chips, sin embargo los tres chips diferentes que puse en el modulo eran con plan de contratación (hasta el momento no se si ese sea un factor para que la red no sea reconocida) y ninguno de los tres que probé reconoció la red, respondian al comando OK, pero para verificar la conexión nunca se conecto el modulo al satélite (dos de los 3 chips son de la compañia TELCEL y el otro es AT&T).
    No se si los anteriores factores sean motivo por el que no puedo conseguir comunicación con el modulo o por el cual no puedo hacer llamadas y validar el PIN en el Monitor Serial.
    Gracias por leerme y la ayuda.

    Saludos desde la Ciudad de Mexico.

    • Javier

    Hola,

    Afortunadamente he logrado la conexión pero tengo, quizá, un problema en el código, y es que esperaría a que se pudiese visualizar en el monitor serial las respuesta cómo van sucediendo. Me explico, implementando el código no logro ver nada, haciendo ciertas modificaciones (viendo otros códigos con la SIM900) he creado un CHAR donde se guardan las respuesta pero se muestran justo cuando se terminan las sentencias AT, si yo trato de implementar que por cada vez que mando algo vía el monitor serial se lea y escriba la respuesta sólo visualizo caracteres/números, creí pudiese ser un tiempo de espera pero aún así no sabría cuanto es lo mínimo a esperar.

    ¿Alguna idea de como podría lograr este “tiempo real”?¿tiempos de espera?

    -SIM808
    -Leonardo
    -Alimentación externa para la SIM808

    • Hola Javier, con le código deberías ser capaz de ver las respuestas. Seguramente el error tiene que ver con la conexión de los cables Tx y Rx (recuerda que van cruzadas a Rx y Tx de Arduino), con los pines que estés usando para el software serial o con la velocidad de comunicación.

      Lo primero revisa los cables. Después, en la sesión usamos los pines 7 y 8 de Arduino, porque en el UNO valen, pero el leonardo no acepta el 7 para usar con la librería software serial, deberías sustituirlos por alguno de estos 8, 9, 10, 11, por ejemplo el diez y el 11, o los que mejor te parezcan.

      Segundo, normalmente estos módulos vienen por defecto a 19200 baudios, y así lo ponemos en el programa:

      SIM808.begin(19200);
      Serial.begin(19200);

      Recuerda que por lo tanto tu monitor serie tienes que ponerlo también a 19200 baudios cuando lo abras. Si nada de esto te funciona, puede ser que tu módulo funcione a otra velocidad, así que tendrías que ir probando hasta dar con ella.

      Un saludo.

  • Buenas tardes, excelente tutorial, sin embargo tengo problemas a la hroa de recibir informacion, el comando AT responde con OK, pero a la hora de mandar AT+CPIN=”1234″ me aparece error, otros comandos los reconoce muy bien, peor este no, incluso le cargue otros como AT+CREG?, lo alimento con el VMCU(4V,2A) , tampoco he podido hacer llamadas, con el comando ATDXXXXXXXXXX; solo me da como repsuesta No carrier, espero me puedas ayudar y saludos

    • Hola Mauricio, ¿estás seguro que ese es el pin de tu tarjeta? Pruébala en un móvil a ver si puedes desbloquearla.

      Otra cosa que puede ser es que en estos módulos si metes el pin correctamente y tratas de volver a meterlo te da error, aunque ya está desbloqueada. Pero ese no parece tu problema porque no te deja llamar.

      Que no te deje llamar es lo normal si no te reconoce el pin como bueno. Puede ser que si lo has metido mal 3 veces te pida el puk ahora, yo desde luego lo probaría en un móvil normal por si acaso. Y si ya lo has hecho, me comentas. Un saludo.

  • Consegui! era só colocar Serial.println(latitude,4);

  • Consegui executar outro código nele, porém ele me retorna apenas 2 casas decimais após a virgula. Sabes me dizer se há um comando para exibir 4 casas?

    • Hola Cleber, puede que tengas algo en el código que corte los decimales, porque tanto AT+CGPSINF=0 como AT+CGPSOUT=32 te devuelven por defecto grados, minutos y segundos con 4 decimales. Un saludo.

        • Cleber Dias

        Não consigo executar comandos AT…

        • Hola Cleber,
          Revisa despacio los tutoriales que hemos publicado. Estan probados ¿Vale?

          Un saludo

  • Olá, minha comunicação GPS não está sendo efetivada.
    Mando o comando AT, porém ele não me responde.
    Estou usando uma fonte de alimentação 9V e mesmo circuito que você (arduino UNO e módulo).

    • Hola Clever, si no te responde lo más normal es que puedan ser dos cosas:

      Que haya un error en las conexiones, revísalas por si acaso.
      Que tu módulo no esté configurado a 19200 baudios de velocidad en cuyo caso tendrás que probar con otras a ver.

      Un saludo.

    • Jorge

    Hola, tengo problemas de comunicación con el SIM808 y arduino uno, cargue el mismo código con las conexiones en los pines 8 y 9 a tx rx y el gnd al gps con una alimentación de 5v desde el arduino pero al enviar ÄT desde el monitor serial no recibo ninguna respuesta!

    Espero puedan ayudarme, saludos cordiales

    • Hola Jorge, lo primero si vas a usar esos pines tienes que cambiar en el sketch los pines que usamos para el software serial. Además, la alimentación a través de Arduino de 5V puede ue sea insuficiente sobre todo a la hora de transmitir datos, conectarte a la red, llamar, etc…

      Un saludo.

        • Jorge

        Revise las conexiones y la velocidad de trasmisión las cuales son las mismas que usas en el tutorial, y cambie la alimentación a una fuente externa de 9V pero tampoco me responde. Alguna recomendación de solución ?

        • Pues la verdad es que no mucho más. Que no se te olvide unir las tierras de los módulos, y si pruebas todas las velocidades y ninguna te funciona a lo mejor tiene algún fallo tu módulo, porque la verdad es que no se me ocurre mucho más.

  • Hola disculpa segui el tutorial, pero al momento de poner el pin me sale error, igualmente cuando mando el comando de GPS

    • Hola Javier, al enviar simplmente AT te devuelve OK o también te devuelve error?

      • Hola gracias por la respuesta
        Esto es lo que me aparce en el monitor serial :
        //////////////////////////////////////////////////////////////////////////////////////////////////////7
        AT
        OK
        AT+CPIN=”xxxx” //sustituyo las x por mi numero pin como lo hiciste pero igual me manda error, pero si puedo realizar llamadas
        ERROR
        AT+CGPSPWR=1
        ERROR
        AT+CGPSSTATUS?
        ERROR
        //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        Cuales son las posibles causas del por que suceden estos errores, para el modulo sim808 utilizo una fuente externa.

  • hola Ivan, para conectar un arduino leonardo a mi modulo sim es la misma conexion o algo cambia?
    y como le podria hacer para apagar un led, enviando un mensaje a mi modulo
    por fa conestame me seria de mucha ayuda

    • Hola Andrés, tendrías que usar algunos de estos pines para la conexión que son los que se pueden usar con la librería software serial: 8, 9, 10, 11

      Para encender y apagar un led te servirá esta sesión, que aunque es del sim900 se controla igual
      http://www.prometec.net/gprs-controlar-led/

      Si tienes problemas me dices.

      Un saludo.

  • Hola, disculpe cuando envío el comando AT no me devuelve ninguna respuesta, ya revise varias veces la conexión y está todo como lo indica la imagen, la duda que tengo es si se puede poner un chip 4g en el módulo? ¿hay problema si la alimentación es de 5 VDC?
    Saludos¡

    • Hola Iván, si no ves ninguna respuesta puede ser que no esté funionando el envío y el sim808 no se entere, o que no funcione la respuesta. Debería ser un poblema en las conexiones (aunque si las has revisado ya no tiene mucho mayor misterio), en la velocidad de comunicación o en la alimentación. Con estos módulos que consumen mucho sobre todo al recibir y transmitir datos a la red te recomendaría que usases una fuente de al menos 9V.

      Y otra cuestión, qué arduino estás usando?

      Un saludo.

    • Addy Rocha

    Hola buen día, estoy utilizando el sim808 y al momento que le pido la ubicación del GPS (mandando un SMS con @GPS) Me responde con un SMS que indica lon: 0 y lat :0. Sabes como puedo solucionar esto?

    De antemano gracias por tu ayuda

    • Hola Addy, comprueba que al enviarle AT+CGPSSTATUS?te devuelva “Location 3D Fix”, para asegurarte de que haya cogido la señal GPS. Un saludo.

  • Hola Juan,
    Como siempre estupendas explicaciones. Deberías escribir un libro tipo “La biblia de arduino” seguro que seria un bestseller. Veo que has analizado la Sim900 y la Sim808 ¿cual te gusta mas?.

    Gracias y saludos

    • Hola José, pues después de usar las dos, si vas a prescindir del GPS a mí me gusta más la SIM900, sobre todo porque en la 808 que tengo yo no he encontrado la forma de encenderla o reiniciarla por software, únicamente mediante pulsador. Un saludo.

  • Amigo te cuento que a
    mi sale location not fix
    no supieras como solucionar ese problema.
    gracias

    • Hola Mirjo, si no puede encontrar tu posición puede ser porque estés en algún sitio cerrado, y con los techos le cuesta. Acércalo a una ventana y prueba a ver. Un saludo.

    • Pepe

    Hola Ivan,

    Ya me funciona correctamente.

    Como podría segmentar la cadena y sólo mostrar los datos de longitud y latitud para así posteriormente poder enviarla a una base de datos mysql.

    ¿Cómo podría hacer ambas cosas, tanto segmentarlos como enviarlos a una base de datos?

    void read_GPS(){
    char c;
    Serial.println(“AT+CGNSINF”);
    read_String();

    strtok(inData, “,”);
    strcpy(longitude,strtok(NULL, “,”)); // Gets longitude
    strcpy(latitude,strtok(NULL, “,”)); // Gets latitude
    }

    void read_String() {
    index=0;

    while(Serial.available() > 0) // Don’t read unless
    // there you know there is data
    {
    if(index < 199) // One less than the size of the array
    {
    inChar = Serial.read(); // Read a character
    inData[index] = inChar; // Store it
    index++; // Increment where to write next
    inData[index] = '\0'; // Null terminate the string
    }
    }
    }

    Un saludo,
    Pepe

    • Hola Pepe, estamos preparando un tutorial para enviar datos a un servidor utilizando una página que se llama thingspeak para subirlos. A ver si podemos publicarlo más pronto que tarde. Para segmentar cadenas puedes usar cadena.substring(posinicial,posfinal) Un saludo.

      • Cesar

      Hola amigo, lo pudiste solucionar?, necesito ayuda con eso de longitud y latitud

  • Hola, buenos días
    Intente realizarlo con un código sencillo, pero no obtengo resultados.
    Hay algo mal en este código?

    #include
    SoftwareSerial SIM808(7,8);

    void setup() {
    SIM808.begin(9600);
    Serial.begin(9600);
    Serial.println(“OK”);
    delay(1000);
    SIM808.print(“AT+CGPSPWR=1\r”);
    delay(40000);
    SIM808.print(“AT+CGPSSTATUS?\r”);
    }

    void loop() {
    SIM808.print(“AT+CGPSINF=0\r”);
    while(1);
    }

    Lo hice con una SIM808 al igual que en su tutorial.
    Le agradecería muchísimo una respuesta. Gracias.

    • Hola Nahuel, no estas leyendo lo que te llega por el puerto serie en la comunicación con la SIM808. El programa debería ser más algo como esto:

      #include
      SoftwareSerial SIM808(10,11);

      char incoming_char = 0; //Variable para guardar los caracteres que envia el SIM900

      void setup()
      {
      //digitalWrite(9, HIGH); // Descomentar para activar la alimentación de la tarjeta por Software
      //delay(1000);
      //digitalWrite(9, LOW);
      delay (5000); //Nos damos un tiempo para encender el GPRS y la alimentación de la tarjeta
      SIM808.begin(19200); //Configura velocidad del puerto serie para el SIM900
      Serial.begin(19200); //Configura velocidad del puerto serie del Arduino
      delay (1000);
      SIM808.println(“AT+CGPSPWR=1”); //Comando AT para introducir el PIN de la tarjeta
      delay(25000); //Tiempo para que encuentre una RED
      SIM808.println(“AT+CGPSSTATUS?”); //Activamos la identificación de llamada.
      delay(1000);
      SIM808.println(“AT+CGPSINF=0”); //Activamos la identificación de llamada.
      }

      void loop() {
      if (SIM808.available() > 0)
      {
      incoming_char = SIM808.read(); //Guardamos el caracter que llega desde el SIM900
      Serial.print(incoming_char); //Mostramos el caracter en el monitor serie
      }
      }

      De todas formas mira las sesiones de la sim900 que funciona parecido y te servirán.

      Un saludo.

    • Pepe

    Buenos días,

    Estoy siguiendo el tutorial con la LoNet – Mini GSM/GPRS/GPS Breakout y cuando envío los comandos AT no me aparece nada, por lo que he probado a seguir este: http://wiki.seeedstudio.com/wiki/LoNet_-_GSM/GPRS/GPS_Breakout

    El código es este:

    #include

    SoftwareSerial mySerial(10, 11); // RX, TX

    void setup()
    {
    // Open serial communications and wait for port to open:
    Serial.begin(9600);
    mySerial.begin(9600);

    }

    void loop() // run over and over
    {
    if (mySerial.available())
    Serial.write(mySerial.read());

    if (Serial.available())
    {
    while(Serial.available())
    {
    mySerial.write(Serial.read());
    }
    mySerial.println();
    }
    }

    El problema es que cuando introduzco los comandos AT para comunicarme con el GPS me da ERROR y no entiendo el motivo. Las conexiones imagino que estarán bien ya que hay comunicación.

    Muchas gracias de antemano,

    Un saludo

    • Hola Pepe, podría ser que la alimentación sea insuficiente. Estas alimentándolo desde una fuente externa o desde el Arduino? Un saludo.

Give a Reply

WordPress Anti-Spam by WP-SpamShield