Test Modem GSM

Este programa comprueba el módem en el escudo GSM para ver si está funcionando correctamente. Usted no necesita una tarjeta SIM para este ejemplo.

Hardware necesitado

Placa Arduino o Genuino

Circuito


Código

En primer lugar, importar la biblioteca de GSM

#include <GSM.h>
  
Crear una instancia de la clase GSMModem:

GSMModem modem;
  
Crear una variable para contener el número IMEI del módem

String IMEI = "";

En setup, abra una conexión serie al ordenador. Después de abrir la conexión, enviar un mensaje que indica que el programa se ha iniciado.

void setup(){
   Serial.begin(9600);
   Serial.print("Iniciando la prueba del modem...");
  
Llame a modem.begin () para iniciar el módem. Enviar un mensaje de estado en función del resultado, y el setup() final.

if(modem.begin())
     Serial.println("modem.begin() logrado");
   else
     Serial.println("ERROR, no se encuentra modem.");
 }
  
Dentro de loop, utilice modem.getIMEI () para recuperar el número IMEI del módem. Este número es único para su escudo GSM.

void loop()
 {
   // get modem IMEI
   Serial.print("Comprobando IMEI...");
   IMEI = modem.getIMEI();

Si hay una respuesta válida de getIMEI (), imprimirlo en el monitor serie y resetear el módem con modem.begin ().

if(IMEI != NULL)
   {
     // show IMEI in serial monitor
     Serial.println("Modem's IMEI: " + IMEI);
     // reset modem to check booting:
     Serial.print("Reseteando el modem...");
     modem.begin();

Una vez reseteado el modem, comprobar el IMEI de nuevo. Si es una devolución válida, el módem está funcionando como se esperaba.

if(modem.getIMEI() != NULL)
     {
       Serial.println("Modem funciona correctamente");
     }

Si, después de resetearel módem, no hay una declaración válida de getIMEI (), informar de un error

else
     {
       Serial.println("Error: getIMEI() fallo despues de modem.begin()");
     }
  
Si nunca ha recibido un número IMEI después de comenzar el programa, informar, y finalizar el programa.

}
   else
   {
     Serial.println("Error: No se pudo obtener el IMEI");
   }
   // no hace nada:
   while(true);
 }

Una vez que se carga el código, abrir el monitor serie. Debería ver el código HTML de http://arduino.cc imprimir en pantalla cuando se recibe.

El programa completo se encuentra a continuación.

// Comprobacion del modem

 // Este ejemplo comprueba para ver si el módem del escudo GSM está
 // funcionando correctamente. Usted no necesita una tarjeta SIM para
 // este ejemplo.

 // Circuito:
 // * Escudo GSM conectado

 // Creado el12 Junio de 2012 por David del Peral
 // modificado el 21 de Noviembre de 2012 por Tom Igoe

 // http://www.arduino.cc/en/Tutorial/GSMToolsTestModem

 // Este código de ejemplo esde dominio público

 // bibliotecas
 #include <GSM.h>

 // verificacion del modem
 GSMModem modem;

 // variable IMEI
 String IMEI = "";

 void setup() {
   // inicializa las comunicaciones serie y espera a que se abra el puerto:
   Serial.begin(9600);
   while (!Serial) {
     ; // espera a que el puerto serie se conecte. Necesario para Leonardo solamente
   }

   // inicia prueba de módem (reset y comprobar la respuesta)
   Serial.print("Iniciando prueba del modem...");
   if (modem.begin()) {
     Serial.println("modem.begin() conseguido");
   } else {
     Serial.println("ERROR, el modem no responde.");
   }
 }

 void loop() {
   // ontener el IMEI del modem
   Serial.print("Comprobando IMEI...");
   IMEI = modem.getIMEI();

   // comprobar la respuesta de IMEI
   if (IMEI != NULL) {
     // mostar el IMEI en el monitor serie
     Serial.println("Modem's IMEI: " + IMEI);
     // reiniciar el módem para comprobar el arranque:
     Serial.print("Reseteando el modem...");
     modem.begin();
     // obtener y comprobar una vez más el IMEI
     if (modem.getIMEI() != NULL) {
       Serial.println("El Modem funciona correctamente");
     } else {
       Serial.println("Error: getIMEI() fallo despues de modem.begin()");
     }
   } else {
     Serial.println("Error: No se puede obtener el IMEI");
   }
   // no hace nada:
   while (true);
 }
  







No hay comentarios:

Publicar un comentario