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...");
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.");
}
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();
{
// 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();
{
// 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");
}
{
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()");
}
{
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);
}
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);
}
// 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