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 GPRS.
- Cómo conectar el módulo GPRS a la placa Arduino UNO.
- Consideraciones importantes a tener en cuenta antes de enviar el programa a Arduino para usar el módulo GPRS.
- Programar Arduino UNO para realizar una conexión a Internet con el módulo GPRS.
- Enviar salida serie de un Arduino a otro para comprobar resultado de la conexión a Internet.
- Artículos relacionados.
- Créditos.
Requisitos para realizar conexión a Internet desde Arduino con GPRS
En 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:
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:
Cómo conectar el módulo GPRS a la placa Arduino UNO
En 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:
Consideraciones importantes a tener en cuenta antes de enviar el programa a Arduino para usar el módulo GPRS
Hay que tener en cuenta que el módulo GPRS tiene "dos posiciones" para la conexión con Arduino:
1. Por un lado hay que indicarle al módulo GPRS cuándo está conectado al PC por el puerto USB (serie emulado), esto se hace colocando dos jumpers que incorpora en la parte superior de la siguiente forma:
2. Para probar el programa de conexión a Internet o cualquier otra tarea que hayamos programado con Arduino y el módulo GPRS deberemos desconectarlo del USB del PC y alimentarlo externamente. Además, deberemos cambiar los jumpers mencionados anteriormente a esta nueva posición:Es muy importante tener esto en cuenta, cuando queramos enviar el programa a Arduino, los dos jumpers deben estar como se indica en la imagen anterior, si no es así el Upload (envío) del programa dará error.El error que nos mostrará el IDE de desarrollo de Arduino si no hemos colocado los jumpers correctamente será:avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51
Si no se hace esto, cuando desconectemos Arduino del PC y lo alimentemos externamente, el módulo GPRS no funcionará.
Programar Arduino UNO para realizar una conexión a Internet con el módulo GPRS
Para 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 Internet
En 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:
1. Vista del Arduino con el módulo GPRS GSM:2. Vista del Arduino sin el módulo GPRS:3. Vista de los dos Arduinos conectados:
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
- Primer proyecto hardware con Arduino, encender un LED.
- Enviar SMS y hacer llamadas desde placa Arduino con módulo GPRS.
- Obtener temperatura y humedad con Arduino.
- Obtener temperatura con sensor SEN118A2B de cabeza de acero y Arduino.
- Tipos de memoria en el microcontrolador de Arduino, Flash, SRAM y EEPROM.
- Sensor de temperatura con Visual Studio y Delphi.
- AjpdSoft Sensor de Movimiento con WebCam - Código fuente Delphi.
- Realizar un alimentador eléctrico para un Asus EEE PC.
- Acceso a aplicaciones y al equipo con huella dactilar.
- Cómo enviar SMS desde un PC usando un módem GSM con Visual Basic .Net.
- Uno de nuestros miembros arreglando un portátil.
- AjpdSoft Puerto Paralelo Código Fuente Delphi.
- AjpdSoft Cálculo parámetros módulos fotovoltaicos.
- AjpdSoft Cálculo de los parámetros de radiación.
- Enviar y recibir faxes desde un equipo con Windows XP y un módem.
- Cómo conectar dos equipos en red por el puerto paralelo con Windows 98 y XP.
- Los pitidos (beep codes) del PC, su significado en caso de error de hardware.
- Cómo actualizar el firmware del teléfono móvil Nokia N96.
- Cómo actualizar el firmware de algunos dispositivos: routers, BIOS, etc.
- AjpdSoft Sensor de Movimiento con WebCam.
- Reparar equipo portátil averiado: al mover el monitor se apaga.
- Instalar impresoras en Active Directory, auditar impresoras.
- Mi primera aplicación Android con Eclipse en Linux, instalar Eclipse Ubuntu.
- Instalar Microsoft Windows 7 Ultimate virtualizado en VMware Server 2.0.1.
- Trucos, código fuente C++.
- Definición USB Enciclopedia AjpdSoft.
Créditos
Artículo realizado íntegramente por Alonsojpd miembro fundador del Proyecto AjpdSoft, con la inestimable colaboración de Antonio RN de RS.
No hay comentarios:
Publicar un comentario