GPRS 1

Anuncio
GPRS
es un acrónimo de General Packet Radio Service o en
GPRScastellano: Servicio General de Paquetes por Radio,
esta tecnología se basa en la conmutación de paquetes
realizando la transmisión sobre la red GSM, y permite un
flujo continuo de los mismos a través de ella, por ejemplo
para aplicaciones que admiten navegación web y
transferencia
de
archivos.
Cuando
vemos
las
especificaciones técnicas de un modulo, se detallan una serie
de características relacionadas a las prestaciones de GPRS,
en el articulo de hoy intentaremos explicarlas.
ancho de banda que tiene asignado lo dividen en canales de
200 khz y a su vez, estos canales son divididos en 8
porciones de tiempo (slots) donde se alojan porciones tanto
de comunicaciones de voz como de datos (GSM o GPRS,
respectivamente).
La clase del MultiSlot hace referencia a la cantidad de Slots
que puede utilizar el modulo para subir y para bajar datos,
motivo por el cual va estar íntimamente relacionado con el
DataRate de este, al igual que el esquema de codificación del
cual hablaremos a continuación. La tabla Nº1 detalla las
posibles clases del MultiSlot y la cantidad de Slot que tiene
asociado cada uno.
Clase MultiSlot
Características Generales
En los módulos Motorola se detallan las siguientes
características:
Time slots
Rx
Tx
1
1
1
2
2
1
3
2
2
4
3
1
5
2
2
6
3
2
7
3
3
8
4
1
• Clase del modulo.
• Clase de MultiSlot.
• Esquemas de Codificación.
9
3
2
10
4
2
11
4
3
Clase del Modulo
12
4
4
13
3
3
14
4
4
15
5
5
En pocas palabras, la clase determina si se puede usar
simultáneamente GSM y GPRS, es decir, si es posible cursar
una llamada de voz en la red GSM, mientras que se reciben
y/o envían datos en GPRS.
16
6
6
Actualmente se encuentran definidas tres clases:
17
7
7
Módulos Clase A: Permiten el uso simultáneo de GSM y
GPRS, sin que haya degradación de la calidad de ninguno de
los dos servicios.
18
8
8
Esquemas de codificación
Módulos Clase B: Por su parte, monitorean los canales GSM
y GPRS a la vez pero no pueden establecer una
comunicación simultánea. Es decir, registran tanto GSM
como GPRS pero uno de los dos permanece suspendido
mientras el otro está activo. GSM tiene la prioridad, por lo
que la calidad del servicio GPRS se ve reducida.
La codificación de los paquetes datos hace posible la
recuperación de los mismos en los receptores, incluso si se
pierden bits en la interfaz radio. En función de la
codificación empleada habrá una mayor o menor posibilidad
de recuperar la información, es decir, proporcionan
diferentes grados de robustez frente a la pérdida de bits. Por
otro lado, hay que considerar que existe una relación inversa
entre la velocidad y la seguridad de integridad de los datos,
motivo por el cual, para poder garantizar una robustez
elevada, será necesario añadir mayor cantidad de
información de protección, y como consecuencia de esto la
velocidad de transferencia será menor. En la tabla Nº2 se
puede ver los diferentes esquemas de codificación y a la
velocidad que pueden transmitir y/o recibir datos cada uno
de ellos.
Modulos Clase C: No permiten el uso simultaneo de GSM y
GPRS y el usuario debe seleccionar el tipo de servicio al que
quiere conectarse.
Clase del MultiSlot
Las redes de GSM/GPRS utilizan una tecnología híbrida para
acceder a medio físico, que no es mas que una combinación
de FDMA (acceso múltiple por división de frecuencia) y
TDMA (acceso múltiple por división de tiempo), es decir el
1
GPRS
Esquema de Codificación
Data Rate Kbps
CS1
9.05
CS2
13.4
CS3
15.6
CS4
21.4
los paquetes recibidos a otros equipos remotos o mostrarlos
en una página web disponible en Internet, etc. Este debe
poseer una IP fija de Internet, y tendrá un puerto TCP/IP en
modo escucha (LISTEN) el cual recibirá los paquetes IP
desde Internet enviados por el remoto a través de GPRS. A
fin de confirmar la recepción, es conveniente preveer que el
servidor confirme la llegada correcta de un paquete enviando
otro hacia el DTE.
Como ejemplo de lo antes descrito podemos citar las
características de los módulos G20 y G24 de Motorola.
Para realizar el envío de datos a través de GPRS, se deben
seguir los siguientes pasos.
Ambos módulos son Clase B, por lo que estarán
monitoreando los canales de GSM y GPRS simultáneamente.
Por otro lado el G20 es MultiSlot Clase 8, motivo por lo cual
tendrá 4 slots para bajar datos y 1 slot para subirlos, mientras
que el G24 al ser clase 10 tendrá el doble de slots para subir
datos. Combinando la Clase del MultiSlot con los esquemas
de codificación, y suponiendo un esquema CS4, que es el
que nos permite mayor tasa de datos, vamos a tener los
siguientes resultados.En el caso del G20 vamos a tener una
tasa de 85.6 bps de bajada o recepción y 21.4 bps de subida o
transmisión, y en el caso del G24 la misma tasa de bajada o
recepción, y 42.8 bps de subida o transmisión.
1- Registrarse en la Red GSM.
Esta tarea es realizada automáticamente por el modulo
GSM/GPRS, de igual forma se puede realizar manualmente a
través del comando AT+CREG. Es necesario antes de realizar
cualquiera de las siguientes acciones que el modulo se
encuentre registrado, lo que se puede verificar con el mismo
comando antes nombrado y como se detallara en el ejemplo.
2- Attachearse en la Red GPRS.
Esta tarea es realizada automáticamente por el modulo
GSM/GPRS, de igual forma se puede realizar manualmente a
través del comando AT+CGATT. Es necesario antes de
realizar cualquiera de las siguientes acciones que el modulo
se encuentre attacheado, lo que se puede verificar con el
mismo comando antes nombrado y como se detallara en el
ejemplo.
Concepto de Funcionamiento:
En la figura que se muestra a continuación se ven los
elementos que intervienen en una conexión GPRS.
3- Abrir una conexión con el Gateway de la prestadora.
Esta tarea se realiza en forma manual y a través del comando
AT+MIPCALL. Ejecutado este comando se pueden llegar a
obtener dos respuestas por parte del Gateway de la
prestadora:
1- +MIPCALL: 172.17.53.121<CR><LF>
2- +MIPCALL: 0<CR><LF>
La primera de ellas nos indica que se ha establecido una
conexión y que para la comunicación con el Gateway se nos
ha asignado la IP mostrada. La segunda respuesta nos indica
que no se ha podido establecer una conexión.
Debemos aclarar que la IP que el Gateway nos entrega es
privada y solo para comunicarnos con él. Cuando nosotros
enviamos un paquete hacia Internet, este va desde nuestro
equipo hacia el Gateway y sale a Internet por una IP publica
y dinámica asignada por el Gateway, la cual estará
relacionada con la IP privada que tenemos durante un
periodo de tiempo que dependerá de la política de cada
prestadora.
El equipo remoto, el cual esta formado por un DTE (Data
Terminal Equipment) y un ModemG20/G24. El DTE es
quien necesita enviar y recibir datos, y lo realiza utilizando el
ModemG20/G24.
La red GSM, es a través de la cual se brinda el servicio de
GPRS y esta compuesta por un conjunto de BTS (Base
Transceiver Station), y es este conjunto el que genera la
cobertura de red.
El Gateway, es un dispositivo puesto a disposición de los
usuarios por parte del prestador del servicio GSM, el cual
asigna a cada dispositivo que se conecte una IP privada en
forma dinámica para la comunicación, y permite el envío y la
recepción de paquetes hacia y desde Internet.
El Servidor, es el equipo que recibe los paquetes enviados
por el equipo remoto a través de la red GSM, y quien con
ellos realiza alguna tarea. La cual puede ser desde reenviar
La sintaxis del comando AT+MIPCALL es la siguiente:
AT+MIPCALL:<Operación>,”<APN prestadora>”,<USR>
,<PSW><CR><LF>
Donde “Operación” puede ser conectar (1) o desconectar (0).
2
GPRS
Y para las diferentes prestadoras tenemos los siguientes
APN’s, USR’s y PSW’s.
Movistar
APN
USR
PSW
internet.unifon
wap
wap
gprs
gprs
gprs
gprs
CTI Movil internet.ctimovil.com.ar
Personal
gprs.personal.com.ar
En cuyo caso, si tuvimos la precaución de configurar el
modo texto del comando de reporte de errores, vamos a saber
cual es el posible problema.
+MIPSEND: <Socket>,<Free Size><CR><LF>
En este caso, los datos fueron bien buffereados y la respuesta
nos informa además el espacio libre en el Buffer para seguir
almacenando datos.
7- Transmitir la información.
4- Abrir el puerto del Servidor en Internet.
Esta se realiza a través del comando AT+MIPPUSH, y la
sintaxis es la siguiente:
Luego que se tiene una conexión, se debe abrir el puerto
destino de nuestro servidor.
AT+MIPUSH=<Socket><CR><LF>
Para realizar esta tarea se debe usar el comando
AT+MIPOPEN, el cual tiene la siguiente sintaxis:
Antes de entrar propiamente en el ejemplo describiremos
como se nos informa cuando el Modulo GSM/GPRS de
Motorola recibe un paquete por GPRS. Como existen dos
posibles tipos de protocolos de enlaces, TCP y UDP,
existirán dos tipos de paquetes de recepción, uno para cada
uno de los protocolos nombrados.
3- AT+MIPOPEN:<Socket>,<Port_Origen>,”<IP_Destino>”
,<Port_Destino>, <Protocolo><CR><LF>
Donde “Socket” puede ser de 1 a 4, y “Protocolo” TCP (0),
que es nuestro caso, ya que SMTP corre sobre TCP, o UDP
(1).
Para el caso de TCP:
Este comando nos informara si la apertura del puerto fue
realiza satisfactoriamente o no, y esto lo hará a través de la
siguiente respuesta.
+MIPRTCP: <Socket>,<Left>,<Data><CR><LF>
4- +MIPOPEN: <Socket>,<Estado><CR><LF>
+MIPRUDP:<IP Origen>,<PortOrigen>,<Socket>,<Left>
,<Data><CR><LF>
Y para el caso de UDP:
Donde si “Estado” es igual a 1, significa que el puerto fue
abierto, si el estado es igual a 0 significa que no se pudo
abrir.
Donde IP Origen y Port Origen son la dirección IP y el
puerto de donde los datos fueron enviados y Socket indica
por cual de los 4 socket del modulo ingresaron los datos. Los
otros dos parámetros están íntimamente relacionados con el
dato que se recibe, este se divide en varios paquetes de 160
caracteres hexadecimales y cada uno de los paquetes
resultantes de esta división serán enviados fuera del modulo
en un paquete con el formato descripto arriba, por lo que el
campo Left indicara cuantos bytes faltan para la recepción
del paquete completo.
5- Codificar la información a transmitir.
La información a enviar no se puede transmitir en formato de
carácter sino que hay que pasarlos a hexadecimal.
Como ejemplo de esto vemos el famosos mensaje “HOLA
MUNDO” que pasando a formato hexadecimal queda de la
siguiente forma “484F4C41204D554E444F”
A continuación realizaremos un ejemplo donde se seguirá la
secuencia descripta.
6- Cargar en el Buffer de transmisión la información.
Los datos que vamos a transmitir, se deben colocar primero
en un Buffer del modulo G20/G24. Esto se realiza a través
del comando AT+MIPSEND, el cual tiene la siguiente
sintaxis:
Ejemplo:
Como ejemplo de una comunicación a través de GPRS, nos
conectaremos a un servidor al servidor de SMTP de Yahoo
Argentina y enviaremos el comando HELO para que este se
identifique. Para poder realizar este ejemplo de aplicación
necesitamos contar con un ModemG20 (o equipo similar) y
una PC con puerto serie, e hyperteminal instalado.
AT+MIPSEND=<Socket>,”<Data>”<CR><LF>
Donde “Socket” nos indica por cual de los 4 sockets van a
salir los datos. Y “Data” es el dato codificado en
hexadecimal como se explico arriba, no pudiendose cargar
mas de 160 caracteres en este campo, lo que representa 80
caracters sin codificar. Como resultado de este comando
podemos tener dos respuestas.
Configuración de equipos
Para realizar la configuración y posterior conexión debe
conectarse el equipo al puerto serie de la PC, activar el
Hyperteminal y configurar el COM1 en 9600 Bps, con
control de flujo, 8 bits de datos, sin paridad y 1 bit de stop.
ERROR<CR><LF>
3
GPRS
9- Abro conexión con el Gateway de la prestadora.
10- Confirmación del comando anterior.
11- Informe de IP asignada por parte del Gateway.
12- Abro puerto en Servidor de SMTP de Yahoo Argentina.
13- Confirmación de comando anterior.
14- Informe del resultado del comando anterior. En este caso
nos indica que el socket 1 fue abierto.
15- Recepción de un paquete de datos enviado por el
servidor, como mensaje de bienvenida. Este esta en
hexadecimal, si lo pasamos a ASCII dice el siguiente:
Secuencia de comandos y respuestas
Para facilitar la lectura se omitirá incluir al final de cada
comando enviado al modulo G20/G24 y mensaje recibido de
este la secuencia <CR><LF>.
1
ATE0
2
ATE0
OK
3
AT+CMEE=2
4
OK
5
AT+CREG?
6
+CREG: 000,001
OK
7
AT+CGATT?
8
+CGATT: 1
OK
9
AT+MIPCALL=1,"internet.unifon","wap","wap"
10
OK
11
+MIPCALL: 172.17.53.121
12
AT+MIPOPEN=1,25,"209.191.85.254",25,0
13
OK
14
+MIPOPEN: 1,1
15
+MIPRTCP:1,0,32323020736D74703130382E6D61
696C2E6D75642E7961686F6F2E636F6D2045534D
54500D0A
16
AT+MIPSEND=1,"68656C6F0D0A"
17
+MIPSEND: 1,0,1366
OK
18
AT+MIPPUSH=1
19
+MIPPUSH: 1,0
OK
20
+MIPRTCP:1,0,32353020736D74703130382E6D61
696C2E6D75642E7961686F6F2E636F6D0D0A
21
+MIPRTCP:1,0,3435312074696D656F75742028233
42E342E33290D0A
22
+MIPSTAT: 1,1
220 smtp108.mail.mud.yahoo.com ESMTP
16- Cargo en el Buffer paquete de datos a enviar, como
dijimos arriba en la descripción del ejemplo se enviara el
comando HELO.
17- Informe del estado del buffer y confirmación del
comando anterior.
18- Envío paquete en Buffer al Servidor destino.
19- Confirmación del comando anterior.
20- Recepción de un paquete de datos enviados por el
servidor, como respuesta al comando enviado. Este esta en
hexadecimal, si lo pasamos a ASCII dice el siguiente:
250 smtp108.mail.mud yahoo.com
21- Recepción de un paquete de datos enviados por el
servidor, informando que va cerrar la conexión. Este esta en
hexadecimal, si lo pasamos a ASCII dice lo siguiente:
451 timeout (#4.4.3)
22- Informe por parte del modulo, que nos indica que se
cerró la conexión con el Servidor.
Consultas: [email protected]
Detalles:
1- Se envía comando para cancelar el eco de los comandos
enviados.
2- Confirmación de comando anterior.
3- Configuro el reporte de errores en modo texto.
4- Confirmación del comando anterior.
5- Envío comando para verificar el estado en la red GSM.
6- Informe del estado en la red GSM, como respuesta del
comando anterior.
7- Envío comando para verificar el estado en la red GPRS.
8- Informa el estado en la red GPRS, como respuesta del
comando anterior.
4
Descargar