hola esoty en desarrollo de un proyecto, coloco la sim en este caso ya utulice TELCEL y AT&T estoy en mexico y no logro que el modulo SIM900 conecte a ninguna de las dos redes
podrian ayudarme no entiendo que este pasando
Saltar al contenido
En este tutorial, te enseñaremos cómo configurar y comunicarte con un módulo SIM900 usando Arduino. Este módulo te permite enviar y recibir mensajes SMS y conectarte a la red GPRS para acceder a internet. Vamos a mostrarte cómo enviar comandos AT al módulo y leer sus respuestas para hacer una solicitud HTTP.
El módulo SIM900 es un dispositivo de comunicación GSM/GPRS que permite a los microcontroladores, como el Arduino, conectarse a redes móviles para realizar llamadas, enviar mensajes SMS, y conectarse a internet mediante GPRS. Es ampliamente utilizado en proyectos de IoT (Internet de las Cosas) debido a su versatilidad y facilidad de integración. A continuación, se describen las características principales del módulo SIM900.
Compatibilidad GSM/GPRS:
Interfaz Serial:
Conectividad de Datos:
Antena:
Ejemplo de Uso
Los comandos AT son instrucciones estándar utilizadas para controlar módems GSM, como el SIM900. "AT" significa "Attention" (Atención) y precede a cada comando. Estos comandos permiten realizar diversas operaciones, como:
Para enviar y recibir comandos AT desde el Arduino, utilizamos la comunicación serie. El Arduino se comunica con el módulo SIM900 a través de pines digitales configurados como una interfaz de comunicación serie utilizando la librería SoftwareSerial
.
Este es el código que usaremos para configurar el módulo SIM900 y enviarle comandos AT:
Ahora, emite el comando de prueba "AT" a través del monitor serial configurado a 9600 baudios con "NL" y "CR" activados. Deberías recibir como respuesta "OK" desde el módulo.
Aquí tienes un enlace al documento con todos los comandos AT que acepta el módulo: SIM900_AT_MANUAL.
El código que se proporciona a continuación te permitirá enviar un mensaje a un número de teléfono que está almacenado en un array de caracteres.
En el caso del último comando, el carácter ASCII 26 (^Z) se envía para indicar el final del mensaje SMS. Este carácter le dice al módulo que el mensaje completo ha sido ingresado y que debe proceder a enviarlo.
Por favor, asegúrate de reemplazar el número de teléfono y el mensaje en el código con los datos que deseas utilizar para el envío del mensaje.
Una ves subido el codigo al arduino, abre el monitor serial y presiona el boton conectado al pin digital 2 para enviar el mensaje.
El protocolo HTTP (HyperText Transfer Protocol) es el protocolo utilizado por la web para la transferencia de datos. Una petición HTTP se compone de varias partes clave:
Método de Solicitud: Indica la acción que se desea realizar. Los métodos comunes incluyen GET, POST, PUT, DELETE, entre otros. En este tutorial, usamos el método GET para solicitar datos de un servidor.
URL (Uniform Resource Locator): La dirección del recurso que se quiere solicitar. En nuestro ejemplo, la URL es http://worldtimeapi.org/api/timezone/Etc/UTC
.
Encabezados de la Petición: Proporcionan información adicional sobre la petición. Esto puede incluir detalles sobre el tipo de datos que se esperan en la respuesta, el tipo de navegador que está realizando la petición, y más.
Cuerpo de la Petición: Contiene datos que se envían al servidor. Esto se utiliza principalmente en métodos como POST, donde se envían datos para ser procesados.
Configuración del Módulo SIM900: El módulo SIM900 necesita ser configurado para conectarse a la red GPRS (General Packet Radio Service). Esto se hace a través de una serie de comandos AT que configuran el APN (Access Point Name) de tu proveedor de servicios móviles, y establecen una conexión GPRS.
Inicialización del Servicio HTTP: Una vez establecida la conexión GPRS, se inicializa el servicio HTTP en el módulo SIM900 mediante el comando AT+HTTPINIT
.
Configuración de Parámetros HTTP: Se configuran los parámetros necesarios para la petición HTTP, como el contexto de la conexión (CID) y la URL a la que se desea acceder.
Ejecutar la Petición HTTP: Se envía el comando AT+HTTPACTION=0
para realizar una solicitud GET. El módulo SIM900 se conecta al servidor especificado en la URL y solicita los datos.
Leer la Respuesta: Una vez realizada la petición, se puede leer la respuesta del servidor utilizando el comando AT+HTTPREAD
. La respuesta del servidor incluirá el código de estado HTTP (por ejemplo, 200 para una solicitud exitosa) y el cuerpo de la respuesta con los datos solicitados.
Para conectarse a la red GPRS de tu operador móvil, es esencial configurar correctamente el APN (Access Point Name), el nombre de usuario y la contraseña.
Ahora sube el siguiente código a tu Arduino. Este código configura el módulo SIM900, realiza una petición HTTP y muestra la respuesta en el monitor serial. Modifica la siguientes líneas del código con los valores de tu operador:
sendATCommand("AT+CSTT=\"internet.itelcel.com\",\"webgprs\",\"webgprs2002\"");
sendATCommand("AT+SAPBR=3,1,\"APN\",\"internet.itelcel.com\"");
Reinicia el Arduino con el SIM900 conectado y el monitor serial abierto.
El código en la sección `setup` configurará el módulo SIM900 y lo preparará para realizar la petición HTTP. Cuando todo esté listo, recibirás algo similar a esto a través del puerto serie:
Ahora envia el comando AT+HTTPACTION=0 que inicia la solicitud, y espera a recibir la respuesta.
Por último envia el comando AT+HTTPREAD para leer los datos de la respuesta HTTP.
El módulo SIM900 es una herramienta poderosa para agregar conectividad GSM/GPRS a tus proyectos de Arduino. Con este conocimiento, puedes expandir tus proyectos para incluir diversas aplicaciones de IoT (Internet de las Cosas) que requieren comunicación a través de redes móviles.
Si tienes preguntas o problemas, no dudes en dejar un comentario. ¡Feliz programación!
hola esoty en desarrollo de un proyecto, coloco la sim en este caso ya utulice TELCEL y AT&T estoy en mexico y no logro que el modulo SIM900 conecte a ninguna de las dos redes
podrian ayudarme no entiendo que este pasando
Buenas tardes, le saluda jose palacin, muy buena explicacion a ello como haria poder enviar un mesaje de texto , solo para saber el estado del led si se encuentra encendido o apagado, michas gracias
comments