Este ejemplo es parte de las herramientas suministradas para gestionar el escudo GSM y muestra cómo utilizar la Biblioteca GSM para gestionar la banda del modem GSM conectado.
Vea la página http://www.worldtimezone.com/gsm.html para obtener información general de la banda GSM. Las configuraciones regionales típicas son:
Europa, África, Oriente Medio: E-GSM (900) + DCS (1800)
EE.UU., Canadá, América del Sur: GSM (850) + PCS (1900)
México: PCS (1900)
Brasil: GSM (850) + E-GSM (900) + DCS (1800) + PCS (1900)
Hardware necesitado
- Placa Arduino o Genuino
- Escudo GSM/GPRS Telefonica + Arduino
- Tarjeta SIM
- Circuito
Este programa, para el escudo Arduino GSM, comprueba la banda configurada actualmente en el módem y le permite cambiarla.
// Gestion de banda // Este programa, para el escudo Arduino GSM, comprueba la banda actualmente // configurada en el módem y le permite cambiarla. // Por favor, visite la página http://www.worldtimezone.com/gsm.html // Configuraciones habituales: // Europa, África, Oriente Medio: E-GSM (900) + DCS (1800) // EE.UU., Canadá, América del Sur: GSM (850) + PCS (1900) // México: PCS (1900) // Brasil: GSM (850) + E-GSM (900) + DCS (1800) + PCS (1900) // Circuito: // * Escudo GSM // Creado 12 de junio de 2012 por Javier Zorzano, Scott Fitzgerald // Este ejemplo es de dominio público. // bibliotecas #include <GSM.h> // initializa la instancia biblioteca GSMBand band; 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 } // El gestor de banda comienza reiniciandi el modem Serial.println("Reiniciando el modem..."); band.begin(); Serial.println("Modem reiniciado."); }; void loop() { // Obtiene la banda actual String bandName = band.getBand(); // Obtiene e imprime el nombre de la banda Serial.print("Banda actual:"); Serial.println(bandName); Serial.println("¿Quiere cambiar la banda?"); String newBandName; newBandName = askUser(); // Avisar al usuario de lo que vamos a hacer ... Serial.print("\nConfigurando la banda "); Serial.println(newBandName); // Cambia la banda boolean operationSuccess; operationSuccess = band.setBand(newBandName); // Avisa al usuario de que el cambio ha sido OK if (operationSuccess) { Serial.println("Conseguido"); } else { Serial.println("Error mientras se cambiaba la banda"); } if (operationSuccess) { while (true); } } // Esta función ofrece al usuario diferentes opciones // por medio de la interfaz de serie // el usuario selecciona una String askUser() { String newBand; Serial.println("Seleccionar la banda:"); // Print the different options Serial.println("1 : E-GSM(900)"); Serial.println("2 : DCS(1800)"); Serial.println("3 : PCS(1900)"); Serial.println("4 : E-GSM(900)+DCS(1800) ex: Europa"); Serial.println("5 : GSM(850)+PCS(1900) Ex: USA, Sudamerica."); Serial.println("6 : GSM(850)+E-GSM(900)+DCS(1800)+PCS(1900)"); // Buffer de entrada vacio while (Serial.available()) { Serial.read(); } // Espera una respuesta, basta con ver el primer carácter while (!Serial.available()); char c = Serial.read(); if (c == '1') { newBand = GSM_MODE_EGSM; } else if (c == '2') { newBand = GSM_MODE_DCS; } else if (c == '3') { newBand = GSM_MODE_PCS; } else if (c == '4') { newBand = GSM_MODE_EGSM_DCS; } else if (c == '5') { newBand = GSM_MODE_GSM850_PCS; } else if (c == '6') { newBand = GSM_MODE_GSM850_EGSM_DCS_PCS; } else { newBand = "GSM_MODE_UNDEFINED"; } return newBand;
No hay comentarios:
Publicar un comentario