Modems con y sin stack TCP/IP. Visión práctica
Escrito por blogElectronica en 1.TECNOLOGÍAS (teórico), Comunic. GSM/GPRSEl otro día posteaba sobre el nuevo modelo de modem umts/hsdpa MTX-H15. Si os acordáis, os dije que la conexión con este módem es necesario hacerla a través de un puerto USB, pues ese módem, por razones que atienden a la muy alta velocidad de transferencia de datos, no puede gestionarse con el habitual puerto RS232 con el que todos trabajamos normalmente con este tipo de dispositivos. Por consiguiente el modem MTX-HC15 tampoco dispone de pila TCP/IP.
En ocasiones he oido que un modem tiene pila TCP/IP. ¿Qué significa esto de tener o no tener pila TCP/IP? ¿Cambia la forma de trabajar?
Cuando decimos que un modem dispone de pila tcp/ip (stack tcp/ip) significa que, hablando llanamente, el módem es capaz de, mediante comandos AT recibidos vía serie, establecer y gestionar los datos enviados y recibidos a través de una comunicación IP.
Cuando decimos que un modem es GPRS pero no dispone de pila tcp/ip, significa que para gestionar una comunicación IP es necesario disponer de un dispositivo (un sistema con procesador) que gestione el módem y que disponga de esa pila, es decir, de un dispositivo con cierta inteligencia que disponga de todas las funciones y librerías que forman lo que se conoce como pila o stack tcp/IP.
Muy bien, pero sigo sin entenderlo. ¿Algún ejemplo en concreto?
Por ejemplo, un módem Siemens TC65 o TC63 sí tienen pila TCP/IP. Esto significa que tan solo con un micro muy muy simple que únicamente tenga un puerto serie (por ejemplo algún PIC) podrá realizarse una comunicación TCP/IP a través de GPRS. Toda la complejidad de la gestión de las tramas IP será realizado por el propio módem. El micro, enviando simples comandos AT por el puerto serie, puede realizar conexiones IP a servidores remotos y enviar y recibir datos de los mismos. Por ejemplo, si ya tenemos un socket TCP conectado un servidor y nos ha enviado datos, simplemente enviando el comando “AT^SISR=0″ por el puerto serie, el modem nos devolverá los datos que tenga en el buffer de recepción del socket nº 0. Así de fácil.
Como he dicho antes, modems como por ejemplo el Siemens HC15 (umts) o un Siemens MC35iT (gprs) no disponen de pila tcp/ip por razones distintas (uno por razones de velocidad, otro simplemente por precio). Con estos modems realizar una conexión IP a través de GPRS no puede realizarse por un micro tan simple como el anterior sin pila TCP/IP, pues estos módems no contienen las funciones necesarias para gestionar las tramas recibidas. Actúan símplemente como modems. Estos módems deben ser controlados por procesadores con stack tcp/IP, que serán los que reciban “el chorro” de datos provinientes de los modems y analicen las cabeceras IP, los CRCs, etc etc.
¿Y cuando elegir un modem con pila TCP/IP o sin ella?
Pues depende. En ocasiones no se puede elegir debido a que no encontrarás modems con la pila, como el caso de modems UMTS/HSDPA. En caso en que sí puedas elegir, pues dependerá de si ya estás utilizando un micro que dispone de dicha pila o no. Si no dispone evidentemente deberás coger un módem con pila tcp/ip, y si dispone de ella pues tú eliges. Personalmente yo siempre que pudiese eligiría un modem con stack tcp/IP, pues las aplicaciones normalmente te serán muchísimo más simples de implementar, sobre todo aquellas en las que no tengas que realizar envíos o recepciones masivas de datos. Si tienes que enviar montones de datos de forma masiva (aplicaciones de vídeo por ejemplo) pues sí, entonces mejor utilizar la pila tcp/IP del procesador, por cuestiones de velocidad.
Posiblemente ya sabías lo que significa en la práctica que un modem tenga stack tcp/ip o no. Si no es así, espero que este post te haya aclarado un poquito el concepto.
Post relacionados:
- Módem HSDPA EU3. Interfaces de comunicación y stack TCP/IP Hoy voy a comentar un poco por encima los interfaces...
Hola,
Sigo mucho tu blog, felicidades.
Tengo un proyecto en el cual estoy usando una plataforma linux embedida tengo puertos usb y puerto serie, y necesito tener comunicaciones umts, despues de leer tus maravillosos articulos, tengo una duda, cuando te refieres a la pila tcp/ip, te refieres a que estos dispositivos vienen con una ip directamente y solo poniendo el gateway (y algun parametro de configuracion) estableceria conexion con internet? o hay que implementar igualmente algun protocolo que haga la “llamada”?
Gracias y un saludo
Hola Joaquin,
cuando me refiero a que un dispositivo (un modem) tiene pila TCP/IP me refiero a que simplemente con comandos AT enviados vía serie al modem, el modem es capaz de crear y gestionar una comunicación tcp/ip, es decir, tu le mandas al modem mediante comandos AT por el puerto serie “crea un socket tcp/ip” “establece una comunicación con la IP xxx.xxx.xxx.xxx” “envía estos datos al servidor remoto”. Un ejemplo claro de ver un dispositivo que tiene pila tcp/ip la tienes en este video, en el cual se crea una conexión tcp/ip con un servidor remoto únicamente con comandos AT. http://www.matrix.es/videos/demoGPRS_Siemens.htm
Los modems (ninguno) viene con una IP preestablecida. Como mucho la tarjeta SIM que utilices puedes pedírsela al operador con una IP fija, de lo contrario cada vez que te conectes a UMTS el operador te dará una IP distinta.
Si tu utilizas un módulo embebido Linux con un modem UMTS tal como un MTX-H15 no te preocupes, que la pila la tienes en en módulo embebido por lo que la aplicación te funcionará perfectamente.
Salu2
Hola,
Gracias por tu rapida respuesta, mas claro imposible, ya lo dejabas totalmente claro en el video, responde a todas mis dudas. Me pondre en contacto con Matrix, para pedir una unidad y evaluarlo.
Muchas gracias
Que tal, solo para felicitarte por la web, la e conocido hoy y me a sorpendido pues tiene temas muy Buenos, y sobre todo muy bien explicados, claros y tecnicos a la vez.
Sigue asi pues la verdad son temas muy interesantes que poca gente los trata en el idioma español,aparte explicas muy bien el funcionamiento de los distintos aparatos mejor que los propios fabricantes.
Felicidades, un saludo de un visitante asiduo a apartir de hoy
Gracias Spider,
encantado de tenerte por aquí.
Salu2.
saludos amigo
De casualidad sabes algun comando para los modems gsm, ojalá mas especifico para el modem GM48 de sony ericsson, para saber si posee pila de tcp/ip. Yo me puedo conectar a internet y decifrar direcciones ip a partir de la direccion. pero al tratar de configurar un socket para recibir los datos y leer luego el buffer me da error.
agradezco tu colaboracion
Hola Didier,
creo que no hay ningún parámetro que indique si un módem tiene pila o no. De todas formas te puedo decir que el modem GM48 sí tiene pila TCP/IP integrada. Con el error que te da no te puedo ayudar, pues conozco muy bien los modems Siemens, pero no los Sony (llamados ahora Wavecom, pues como sabrás Wavecom compró la división M2M de Sony-Ericcson hace unos meses) lo siento.
Salu2.
Gracias por tu colaboración.
Quiciera agregar un comentario para saber si aguien tiene el software M2MPOWER; me ha sido dificil conseguirlo, o la colaboracion de alguien que sepa como manejar el envio y recepcion de infomormacion a una ip a traves de el modem GM48 o GR48, he visto q leen constantemente estos post y lo felicito por la buena información
Gracias de nuevo
Hola ,
En primer lugar , enhorabuena por este artículo , ya que es de la mejor información que he podido encontrar por internet .
Has comentado que para GSM hay dos tipos de modems . Los que tienen la pila TCP-IP implementada y los que no tienen la pila TCP-IP . En el segundo caso , para hacer posible una conexión TCP- IP es necesario conectarlo a un procesador que contenga la pila TCP-IP .
MI pregunta es , en este segundo caso , a grandes rasgos , cómo se configuraría el modem desde un PC con LInux para poder hacer conexiones TCP-IP , si no hay comandos AT.
Muchas gracias con antelación
Hola Pedro,
precisamente tengo un artículo donde digo paso por paso como configurar un módem sin pila (en este caso un HC25 3G) bajo linux aquí:
http://www.blogelectronica.com/usando-el-modem-umts-hsdpa-mtx-h25-bajo-linux/
Salu2.
Hola blogElectronica,
es muy hermoso blog de verdad, estoy recien comenzando en este mundo de la electronica GPS y GPRS. Estoy desarrollando una aplicacion a medida para clientes ya tengo un modulo GPS conectado a micro controlador y una memoria de almacenamiento funciona perfecto.
Ahora necesito enviar los datos via GSM-GPRS via TCP/IP a un servidor.
No tengo definido que modulo GSM deberia utilizar, ni como funciona, las conecciones con el micro controlador y viceversa, tambien la adquisicion de los mismos.
No se si pudieras brindarme asesoramiento tecnico o alguna forma de ayudarme. Te agradesco de antemano si pudieras responderme.
saludos
juan vargas
Hola Juan,
lo que me preguntas en muy extenso y no se puede explicar en unas cuantas líneas. Léete el blog entero (lo relacionado con GPRS) y sobre todo dale un vistazo a los ejemplos en java que he ido publicando y aprenderás seguro lo que necesitas.
Reslecto a las conexiones, si necesitas un módulo (sin GPS) te valdría un simple MC55i. En el manual de HW tienes un ejemplo básico de circuitería que será suficiente para tu aplicación.
Salu2.