|
Arduino: Realizar una conexión a Internet con la placa Arduino y un módulo GPRS GSM
Explicamos cómo realizar una conexión a Internet, a una página web por socket mediante Arduino UNO y un módulo GPRS/GSM. Mostramos todos los requisitos hardware y software para realizar este proyecto de prueba con Arduino. Indicamos cómo conectar dos Arduinos para enviar la salida serie de uno de ellos (el que lleva el módulo GPRS/GSM) a otro.
Requisitos para realizar conexión a Internet desde Arduino con GPRSEn la siguiente sección del siguiente artículo explicamos los requisitos hardware y software necesarios para realizar el envío de SMS con Arduino y un módulo GPRS, dichos requisitos son los mismos que para la conexión a Internet: Requisitos para enviar SMS y hacer llamadas desde placa Arduino Básicamente necesitaremos un Módulo GPRS (en nuestro caso usamos un GPRS Sagem Quadband Module for Arduino), una Placa Arduino UNO y los requisitos software explicados en este otro artículo, donde también indicamos cómo conectar Arduino al PC paso a paso y cómo enviar programas desde el IDE de Arduino a la memoria Flash de la placa: Primer proyecto hardware con Arduino, encender un LED
Cómo conectar el módulo GPRS a la placa Arduino UNOEn la siguiente sección del siguiente artículo explicamos paso a paso cómo conectar la antena externa al módulo GPRS y cómo conectar el módulo GPRS a la placa Arduino UNO: Cómo conectar módulo GPRS a placa Arduino UNO
Consideraciones importantes a tener en cuenta antes de enviar el programa a Arduino para usar el módulo GPRSHay que tener en cuenta que el módulo GPRS tiene "dos posiciones" para la conexión con Arduino:
Programar Arduino UNO para realizar una conexión a Internet con el módulo GPRSPara realizar una conexión a Internet con la placa Arduino UNO, insertaremos una tarjeta SIM en el módulo GPRS con la opción de datos activa, conectaremos el módulo GPRS a la placa Arduino, colocaremos los jumpers del módulo en su posición para conexión con PC y conectaremos Arduino UNO al PC por el puerto USB. Una vez realizados todos estos pasos (explicados anteriormente), abriremos el IDE de desarrollo de Arduino y escribiremos el siguiente programa: /* * Conexion a Internet con modulo GPRS y Arduino */ int pinActivarGPRS = 2; // pin para activar el módulo GPRS //procedimiento para activar el módulo GPRS void activarModuloGPRS() { digitalWrite(pinActivarGPRS, HIGH); delay(2000); digitalWrite(pinActivarGPRS, LOW); } void setup() { pinMode(pinActivarGPRS, OUTPUT); Serial.begin(19200); //velocidad de conexión con módulo GPRS activarModuloGPRS(); //activar el módulo GPRS delay(20000); //esperamos 20 segundos a que se active el módulo GPRS Serial.println("AT&k3"); //activa el control de flujo RTS/CTS en el modem delay(1000); Serial.print("AT+KCNXCFG=0,"); //inicia la configuración para el GPRS Serial.print(34,BYTE); Serial.print("GPRS"); //tipo de conexión Serial.print(34,BYTE); Serial.print(","); Serial.print(34,BYTE); Serial.print("gprs-service.com"); //punto de acceso Serial.print(34,BYTE); Serial.print(","); Serial.print(34,BYTE); Serial.print(""); //usuario del operador Serial.print(34,BYTE); Serial.print(","); Serial.print(34,BYTE); Serial.print("1234"); //contraseña del operador, para Simyo "1234" Serial.print(34,BYTE); Serial.println(); delay(1000); //establecer configuraciones de tiempos de espera, reintentos de conexion y demas Serial.println("AT+KCNXTIMER=0,60,2,70"); delay(1000); Serial.println("AT+KCNXPROFILE=0"); delay(1000); Serial.println("AT+CGATT=1"); //para conectarnos a la red movil del operador delay(1000); Serial.print("AT+KTCPCFG=0,0,"); //para indicar el host o IP al que nos conectaremos Serial.print(34,BYTE); Serial.print("www.ajpdsoft.com"); Serial.print(34,BYTE); Serial.println(",80"); //puerto por el que se realizará la conexión delay(1000); Serial.println("AT+KTCPCNX=1"); //para iniciar un intercambio de datos TCP delay(7000); //para envio de datos a la conexion //el 18 indica la cantidad de datos que queremos enviar "GET / HTTP/1.0\r" Serial.println("AT+KTCPSND=1,18"); delay(2000); Serial.println("GET / HTTP/1.0"); Serial.print(10,BYTE); //salto de línea Serial.print(13,BYTE); //retorno de carro Serial.print("--EOF--Pattern--"); //fin de la cadena de envio de datos delay(2000); Serial.println("AT+KTCPRCV=1,807"); //activar recepcion de datos delay(1000); Serial.println("AT+KTCPCLOSE=1,1"); //cerrar la conexion delay(1000); } void loop() { } Como siempre, verificaremos el código pulsando en el botón "Verify" del IDE de desarrollo de Arduino: Y lo enviaremos a la placa Arduino pulsando en "Upload":
Enviar salida serie de un Arduino a otro para comprobar resultado de la conexión a InternetEn este proyecto, para poder comprobar la placa Arduino con el módulo GPRS GSM realiza la conexión a Internet correctamente, deberemos conectar una segunda placa Arduino al primero como explicamos a continuación. Por un lado conectaremos un cable del pin TX - 1 del Arduino sin el módulo GPRS GSM al jumper USB del módulo GPRS GSM como se muestra en la imagen y por otro lado conectaremos un segundo cable del pin GND del Arduino sin el módulo GPRS al ping GND del Arduino con el módulo:
Una vez conectados los dos Arduinos, conectaremos el segundo (el que no lleva el programa ni el módulo GPRS) al PC por el puerto USB, iniciaremos el IDE de Arduino, seleccionaremos el puerto desde el menú "Tools" - "Serial Port": Pulsaremos en el botón "Serial Monitor" y en la ventana que nos mostrará debemos seleccionar la misma velocidad que hayamos indicando en el programa para la conexión serie, en nuestro caso 19200 baud (si no hacemos esto puede que veamos caracteres raros en la pantalla): Ahora alimentaremos eléctricamente el Arduino con el módulo GPRS GSM, tras unos segundos, si la conexión de los dos Arduinos mediante los dos cables es correcta, iremos viendo la salida serie del primer Arduino en el PC y así podremos verificar y testear el resultado de la conexión a Internet:
Artículos relacionados
CréditosArtículo realizado íntegramente por Alonsojpd miembro fundador del Proyecto AjpdSoft, con la inestimable colaboración de Antonio RN de RS. Nota: Revisado por Alonsojpd el 18-10-2011. Anuncios
Enviado el Martes, 18 octubre a las 01:01:16 por ajpdsoft
|
|