

Familia modems GPRS / UMTS de Siemens
Escrito por blogElectronica en 2.DISPOSITIVOS (práctico), Comunic. GSM/GPRS, Comunicaciones UMTSHay muchos tipos de módems en el mercado GSM / GPRS / UMTS / HSDPA. Las distintas características de los mismos nos harán decantar por uno u otro modelo en función de las necesidades de nuestras aplicaciones. No tiene sentido utilizar un módem UMTS únicamente para enviar mensajes SMS como tampoco lo tiene usar un módem GPRS para recibir vídeo en tiempo real. Cada tipo de modem está pensado para un tipo de aplicación diferente.
A continuación os hago una breve descripción de los módulos GSM, GPRS y UMTS/HSDPA de Siemens. En este post sólo voy a hablar de los módulos OEM (sin caja). Los ordenaré por precio descendente (es lo mismo que decir que los ordenaré desde la tecnología más puntera a la más básica ) . Para cada equipo comentaré brevemente qué características tiene y para qué tipo de aplicaciones se suelen utilizar cada uno de ellos.
Módulo UMTS / HSPDA de Siemens HC25

Principales características
- Velocidad HSDPA de 3.6Mbps (Download) / 384kbps (Upload)
- Tribanda UMTS/HSDPA (850/1900/2100MHz)
- Quatribanda GSM /850/900/1800/1900MHz)
- GPRS Clase 10, CDS, SMS, Voz (Handset, Headset, Handsfree)
- Comunicación por puerto USB
¿Para que utilizaremos este modelo?Cláramente para aplicaciones de vídeo, para aplicaciones de VoIP o para cualquier aplicación que requiera una velocidad de download o de upload elevada. Este modem es además GSM Quatribanda, por lo que nuestras aplicaciones GSM servirán también para zonas de fuera de Europa. No tiene la pila TCP/IP integrada y la conexión es por USB. Esto implica que estos modelos de módem siempre deberán ir asociados a un dispositivo con cierta inteligencia, como puede ser un módulo embebido de Digi, por ejemplo, el cual funciona bajo Linux.
Módulo UMTS de Siemens HC15

Principales características.
- Velocidad HSDPA de 3.6Mbps (Download) / 384kbps (Upload)
- Monobanda UMTS/HSDPA (2100MHz)
- Doble banda GSM (900/1800MHz)
- GPRS Clase 10, CDS, SMS, Voz
- Comunicación por puerto USB¿Para que utilizaremos este modelo?
Es casi idéntico al modelo anterior. Prácticamente lo utilizaríamos para las mismas aplicaciones que el módulo de Siemens HC25. Diferencias básicamente dos. Por un lado las bandas de frecuencia soportadas (hay que pensar para qué paises queremos utilizar nuestros dispositivos) que es inferior. Por otro lado los perfiles de audio soportados también son menores en número al modelo HC25. Es pin a pin compatible con el modelo HC25.
Módulo Siemens XT65

Principales características.
- GSM Quatribanda (850/900/1800/1900 MHz)
- GPRS Clase 12 (86kbps download y upload)
- Pila TCP/IP integrada
- Posibilidad de embeber dento del módulo tus aplicaciones en Java (memoria flash 1.2Mb y ram de 400Kb)
- GPS integrado uBlox de 16 canales (controlable por comandos AT externamente o desde tu própia aplicación Java embebida).
- SMS, FAX, Audio, 1 puerto serie, USB 2.0, bus I2C y SPI, 2 puertos ADC, PWM, RTC (reloj de tiempo real) y GPIOs.
- Actulización de tus aplicaciones Java por OTAP (mediante GPRS)¿Para que utilizaremos este modelo?
La característica principal de este modelo es que cuenta con GPS integrado (de marca uBlox). Puedes comunicarte con él mediante comandos AT o mediante tus propias aplicaciones Java embebidas dentro del módulo (utilizando las clases java que nos proporciona Siemens). Evidentemente utilizaremos este modelo para cualquier aplicación relacionada con GPS + GPRS, como son localizadores personales, control de flotas, alarmas de automóviles, etc etc.
Módulo Siemens TC65

Principales características.
- GSM Quatribanda (850/900/1800/1900 MHz)
- GPRS Clase 12 (86kbps download y upload)
- Pila TCP/IP integrada
- Posibilidad de embeber dento del módulo tus aplicaciones en Java (memoria flash 1.7Mb y ram de 400Kb)
- SMS, FAX, Audio, 2 puerto serie, USB 2.0, bus I2C y SPI, 2 puertos ADC, PWM, RTC (reloj de tiempo real) y GPIOs.
- Actulización de tus aplicaciones Java por OTAP (mediante GPRS)¿Para que utilizaremos este modelo?
Este es mi modelo preferido
. Dispone de todo tipo de puertos E/S. Lo utilizaríamos principalmente para aplicaciones que requieran embeber nuestro propio software dentro del modem (en Java). Estas aplicaciones además pueden controlar todos los puertos de E/S del modem, es decir, a modo de ejemplo, si conectamos un volumétrico a un pin de E/S podemos hacer que al detectar presencia envíe un SMS. Casi cualquier aplicación que se nos ocurra relacionada con comunicaciones GPRS es susceptible de realizarse con este modem. Es el módem para mi gusto más completo ya que no precisa de ningún micro externo.
Módulo Siemens TC63

Principales características.
- GSM Quatribanda (850/900/1800/1900 MHz)
- GPRS Clase 12 (86kbps download y upload)
- Pila TCP/IP integrada
- SMS, FAX, Audio, 2 puerto serie, USB 2.0, bus I2C, RTC (reloj de tiempo real) .
- Actulización de tus aplicaciones Java por OTAP (mediante GPRS)¿Para que utilizaremos este modelo?
Es casi idéntico al TC65, con la diferencia que no soporta Java y no tiene bus SPI, ADC ni PWM. Aun así es pin a pin compatible tanto con el modelo XT65 como con el TC65. Esto es importantísimo, pues implica que si utilizamos un modem de esta familia (XT65,TC65,TC63), podremos poner uno u otro en función de nuestras necesidades sin cambiar el diseño de nuestro circuito. El TC63 es el modelo más indicado de utilizar para cualquier aplicación GPRS que no precise de aplicaciones embebidas en su interior. Al no poder embeber aplicaciones en su interior este modem siempre tendrá que ir en nuestros circuitos acompañado de un microprocesador o dispositivo que sea capaz de controlar las comunicaciones mediante comandos AT enviados al puerto serie del modem. Por ejemplo es un modelo ideal para conectar a un PLC.
Módulo Siemens MC55

Principales características.
- GSM tribanda (900/1800/1900 MHz)
- GPRS Clase 10 (60kbps download y 40kbps upload)
- Pila TCP/IP integrada
- SMS, FAX, Audio, 2 puerto serie, y RTC (reloj de tiempo real) .¿Para que utilizaremos este modelo?
Este es un modelo ligéramente inferior en prestaciones al TC63. Es tribanda por lo que no sirve para todos los paises fuera de la Unión Europea. Es clase 10, es decir, la velocidad teórica máxima es algo inferior a los modelos XT65,TC65 y TC63. Digo teórica porque en España la clase máxima es la 10, por lo que en este país, en la práctica irá igual de rápido que sus hermanos mayores. La principal diferencia con su hermano mayor TC63 es que este MC55 no es quatribanda (no vale para aplicaciones en todos los paises fuera de Europa) y que no soporta tarjetas SIM de 1.8V.
Yo siempre que fuera posible, de elegir entre un MC55 y un TC63 elegiría un TC63. Por el tema de la SIM (tienden todas a ser de 1.8V) y por ser quatribanda. El MC55 es ligeramente algo inferior en tamaño al TC63 y sólo lo eligiría para aquellas aplicaciones en el que el tamaño es crítico.
Todos estos módulos son distribuidos en España por Matrix Electrónica (Teléfono 935882137). Dispone de servicio técnico que resolverá todas vuestras dudas. Aunque si tienes dudas y quieres compartirlas también puedes escribirlas aquí que también te responderé
Noticias relacionadas: Nuevo módem GPRS MTX65
Post relacionados:
- Compresión de archivos con J2ME en módems GPRS Siemens TC65 En muchas aplicaciones con módems GPRS es necesario almacenar datos...
- Autoarranque de aplicaciones Java en módems Siemens Muy buenas. Hoy voy a poner un pequeño post relacionado con...
- Modems GSM/GPRS. (II) – Modem Siemens TC65 Hoy vamos a ver las pricipales características del modem GPRS...
- Nuevo módem GPRS teminal MTX65 basado en el módem Siemens TC65 Matrix Electrónica ha lanzado la distribución de un nuevo modelo...
- Entrenador de Módems GPRS Siemens Seguramente si lees mi blog de tanto en tanto has...
Hola. Ante todo muy interesante la exposición de los diferentes modelos. Yo en concreto estoy utilizando el MC55 para una aplicación GPRS. El problema es que el firmware debe de tener algún fallo (o la documentación… uso el AT command set versión 03.03) porque no hay forma de acceder a un servidor FTP privado con login y pwd… Si es un FTP público no hay problema, pero intentando acceder a uno privado (tal y como viene indicado en el manual, apartado 10.2.4 en pag. 233, usando ftpput…) da siempre error.
Alguien sabe si hay algún cambio en la sintaxis del comando???
Agradecería cualquier aclaración, o por lo menos saber el teléfono de alguien de Siemens a quien hacerle esta pregunta….
Muchas gracias.
Jon Mikel Etxebarria
Hola Jon,
¿Cuándo te da el error?
¿Al especificar el servicio FTP con la dirección?(at^siss=1,address,”ftpput://
myname:mypasswd@192.168.1.2/upload/example.
txt”)
¿ Al abrir el socket? (at^siso=1)
¿ Al utilizar el comando SISW para escribir los datos?
¿Especificas el type en el comando siss? (;type=i, por ejemplo)
Salu2.
Buenos días, ante todo gracias por la rapida respuesta!
Me da error al especificar la dirección del ftp, tanto si especifico el type, como si no… Estoy intentando llamar a Siemens pero no hay forma de contactar …
El caso es que lo que quisiera es escribir un dato (corto) en un fichero alojado en un servidor. Entiendo que FTP es la mejor opción, porque por socket no sé como enlazar el dato con el servidor…
Un saludo.
Jon
Hola Jon,
lo de rápida respuesta … bueno … hago lo que puedo, sólo puedo consultar el blog por las tardes-noches en casa.
A ver si mañana puedo darte respuesta a lo de FTP …
En lo referente a si FTP es la mejor opción, pues no lo sé, pues desconozco tu aplicación. Una alternativa muy sencilla es utilizar HTTP si como dices los datos son cortos. El MC55 (bueno, y todos los Siemens con pila TCP/IP interna) pueden usar GET y POST para enviar datos.
Por ejemplo, si lo que quieres es enviar periódicamente los datos de un sensor, digamos de temperatura, una manera fácil como yo lo haría sería cargando este link “http://www.blogElectronica.com/recogedatos.asp?pass=unPassword&temperatura=25″. Si la lista de datos fuera larga (sobre todo si es mayor de 1024 bytes) hay que usar el método POST.
Si trabajas con un servidor ASP son muy fáciles de regocer esos datos, por ejemplo para GET:
password=Request.QueryString(“pass”)
temperatura=Request.QueryString(“temperatura”)
para POST sólo hay que cambiar la palabra QueryString por FORM
Luego teniendo los datos es muy fácil guardarlos en una Base de datos, teniendo los datos almacenados con fecha, hora, … pero no me extiendo porque a lo mejor no es lo que quieres hacer y yo estoy aquí liándote más
) (Si quieres saber más dímelo)
Hola,
Ese link es lo que debería mandar el modem al server ASP, no?? Es que no estoy muy puesto en ASP, y con lo que me he enterado desde ayer aún me da para poco…
Estaría encantado de que me amplíes un poco el tema…
Muchas gracias por adelantado!!
Jon
Exacto, el modem “debe de cargar esa página”. Pongo unos archivos que he creado en el enlace http://www.blogElectronica.com/TEMP/GuardarDatosEnBBDD.zip con todo lo necesario para guardar datos en una BBDD.
Otra opción que tienes es hacerlo con FTP como decías. Tal vez deberías hacer un upgrade de tu MC55 de la versión 3.03 a la 4.00. Se puede hacer mediante el puerto serie.
En cuanto pueda lo pruebo!!
Excelente ayuda, la verdad. Una cosa más, y no quiero ser muy pedigüeño…El tema es que lo de la actualización a V4.00 (que será la última…), de donde la saco??? porque si tengo que esperar que me la den los de siemens…
Un saludo.
Jon
Para la actualización a la v4.00 deberías ponerte en contacto con tu distribuidor de Siemens.
Hola,
Has probado a acceder a tu server desde un programa de FTP de windows??
si no puedes comprueba bien los permisos de acceso de tu FTP, los puertos en los que esta es servicio FTP activada(generalmente el TCP20 y el UDP 21). AL ser tu servidor privado, presupongo está detrás de un router. Tendrás que tener mapeados los puertos donde está instalado el servico a la direccion IP de tu server. Es posible que esto es lo que te pase.
Salu2
Comprueba también que has puest ocorrectamente todos los datos de tu server. ejemplo
de conexion con Amena. los datos de FTP están ligeramente cambiados. usa los tuyos
[08:02:59.7] ati [08:03:00.0] SIEMENS
[08:03:00.0] MC55
[08:03:00.0] REVISION 03.03
[08:03:00.1] OK
[08:03:02.0] at+cpin=8778 [08:03:06.9] OK
[08:03:14.4] at [08:03:14.4] OK
[08:03:14.5] ati [08:03:14.5] SIEMENS
[08:03:14.5] MC55
[08:03:14.5] REVISION 03.03
[08:03:14.5] OK
[08:03:14.6] at+csq
[08:03:14.6] +CSQ: 23,99
[08:03:14.6] OK
[08:03:14.7] at+creg?
[08:03:14.7] +CREG: 0,1
[08:03:14.7] OK
[08:03:14.7] at^sics=0,conType,GPRS0
[08:03:14.8] OK
[08:03:14.8] at^sics=0,alphabet,1
[08:03:14.8] OK
[08:03:14.9] at^sics=0,user,CLIENTE
[08:03:14.9] OK
[08:03:15.0] at^sics=0,passwd,AMENA
[08:03:15.0] OK
[08:03:15.1] at^sics=0,apn,internet
[08:03:15.1] OK
[08:03:15.2] at^sics=0,dns1,”213.143.33.8″
[08:03:15.2] OK
[08:03:15.3] at^sics=0,dns2,”213.143.32.20″
[08:03:15.3] OK
[08:03:15.4] at^siss=1,srvType,ftp
[08:03:15.4] OK
[08:03:15.5] at^siss=1,conId,0
[08:03:15.5] OK
[08:03:15.5] at^siss=1,alphabet,1
[08:03:15.6] OK
[08:03:15.6]AT^SISS=1,address,”ftpput://bichos:controlados@
miftpserver.org.com:21201/pruebas/text.txt;type=a”
[08:03:15.7] OK
[08:03:15.8] at^siso=1
[08:03:20.4] OK
[08:03:22.6] at^sisw=1,15
[08:03:31.4] ^SISW: 1, 15
[08:03:39.8] OK
[08:03:39.8] ^SISW: 1, 1
[08:03:39.8] ^SISW: 1, 1
[08:03:43.2] at^sisc=1
[08:03:50.3] OK
[08:03:51.3] ^SISW: 1, 2
Muchas gracias Pua por compartir tus conocimientos,
encantado de tenerte por aquí y poder contar con tus comentarios.
Salu2.
Qué tal, está muy interesante tu blog, yo estoy iniciando con GPRS y me ha resultado de mucha ayuda (creo que ando un poco perdido). Si no es mucha molestia tengo algunas dudas de algunas cosas que en lo particular me llamaron mucho la atención, espero puedas ayudarme.
En primer lugar, para el modelo TC65 dices que se le pueden embeder apps Java, qué tan complicado resulta programarlas?, supongo que hay APIs para hacer esto y para poder controlar todos los puertos de E/S desde Java. Me interesa esto porque tengo varios años manejando Java y no sabía que que los módems tuvieran esta funcionalidad, es una grata sorpresa. Por otra parte, desde el mismo java se haría la llamada “http://www.blogElectronica.com/recogedatos.asp?pass=unPassword&temperatura=25″ que pones arriba?, se puede invocar cualquier página?, con las apps java evito programar con los comandos AT?
Perdón por tantas preguntas, voy a ponerme a investigar acerca de esto y gracias de antemano
Hola,
Desde Java tienes primitivas que te abstraeran de la gran mayoria de las funcionalidades del TCP/IP. Ejemplo socketconnection, ioensocket, socketserver, HTTP, ssl,etc.
De todas maneras simeprenecesitarás usar comandos AT para definir la conexión, introducir el pin, y te recomendaria un estudio/monitorización de cobertura, URC, SMS (Todo esto usando comandos AT)
EL TC65 incluye cas itodas las funcionalidades del MIDP 2.0, solo le faltan las classes de LCD y generación de Sonidos.
La gestión de los GPIO’s (Todas los I/o) se ha ce mendiante comandos AT. Dispone de una clase llamanda ATListener que te va a permitir enviar comandos y recoger respuestas .
Te adjunto un ejemplo de como gestionar la entrada del PIN de la SIM
private boolean enterpin(String pin) {
String response;
try {
// checks, if PIN is required
response = atcommand.send(“AT+CPIN?\r”);
if (response.indexOf(“READY”) > -1) {
System.out.println(“no PIN required”);
return true;
}
System.out.println(“enter PIN ” + pin);
atcommand.send(“AT+CPIN=” + pin + “\r”);
response = atcommand.send(“AT+CPIN?\r”);
if (response.indexOf(“READY”) > -1) {
System.out.println(“PIN accepted”);
return true;
}
System.out.println(response);
System.out.println(“PIN rejected”);
return false;
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (ATCommandFailedException e) {
e.printStackTrace();
}
return false;
}
Ejemplo de como crear tu conexion GPRS. en este caso la Internet del operador Orange
private void configure() {
try {
// configuration for Internet access:
String response = atcommand
.send(“AT^SJNET=\”gprs\”,\”internet\”,\”CLIENTE\”,\”AMENA\”,
\”000.000.000.000\”,0\r”); // T-Mobile
if (response.indexOf(“ERROR”) >= 0) {
System.out.println(response);
}
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (ATCommandFailedException e) {
e.printStackTrace();
}
}
He estado investigando y creo que un problema podría ser el costo del módem, tienes idea de cuánto podría costarme el módem gprs más barato?
Hola,
Ni idea!!! El que tengo me lop puso la empresa para desarrollar. No se cual es su coste.
Saludos
Hola,
Antes que nada me puso muy contento el articulo, porque estoy a punto de comprar el TC65 para una aplicacion con GPS
Ahora son mis primeras armas en este rubro, por lo que segun veo tenes algo de experiencia en esto, y agradezco cualquier ejmplo o ayuda que me puedas brindar mas que nada para tomar los datos desde el GPS al Modem.
Espero luego de probarlo un poco, comentar aqui mis experiencias.
Saludos
Ale
Hola Alejandro,
si lo necesitas puedo enviarte algún ejemplo de cómo controlar el puerto serie en Java para el TC65.
De todas formas, para aplicaciones con GPS, en lugar del TC65 ¿no te iría mejor el XT65 que tiene GPS integrado, y que ya incorpora la API de Java para el manejo del mismo?
Salu2.
Maestro,
Gracias por la respuesta, te cuento que en Argentina todavía no lo venden, y no tienen fecha de lanzamiento aun.
Por eso es que tengo esta opción, seguramente cuando llegue a la Argentina optaré por este módulo, total no creo que haya mucha diferencia con lo que ya desarrolle.
Ahora tu ofrecimiento de ayuda es super aceptado, si tenes algo para mandarme por favor que nada te detenga
Con respecto a costos, cuanto sale el XT65 allí?
A mi aquí me sale u$s130 el TC65 mas u$s85 el GPS SirfIII PMB-688
Espero ansioso tu respuesta.
Saludos
Gente,
Ya tengo los modulos en mi PODER!!! estoy como loco, pero no tengo idea de como hacer las conexiones para empezar a usarlo, la documentacion que traen es muy completa la verdad que eso me ayudo mucho, espero esta semana poder tenerlo armado para empezar a trabajar.
Saludos
Gente,
Estoy necesitando ayuda, gracais al consejo del sitio, compre el TC65T pero en la Argentina no hay fuente para este equipo, directamente no se vende, por lo que tengo que fabricarla, y no se las caracteristicas de la misma.
Por otro lado necesito conectar el GPS veo que tienen entrada Serie y GPIO pero no se cual tengo que usar.
Por favor cualquier Link, explicacion o sugerencia es totalmente bienvenida.
Muchas gracias por todo
Hola Alejandro,
Mira el datasheet de descripción HW de este equipo. Puedes encontrar el documento buscando en Google haciendo click aquí
Concretamente mira la página 23 donde habla de la alimentación. Te aconsejo que unas el pin de Power con el de IGN, de esta manera el modem se arrancará auomáticamente al conectar la alimentación.
Respecto al GPS das poca información. Si tiene puerto serie RS232 lo más simple es que lo conectes al puerto RS232 del TC65T. Con un programa Java programado dentro del TC65T podrás controlarlo sin problemas y enviar los datos de posición vía GPRS, SMS, …
Salu2.
Muchas gracias por la pronta respuesta.
Con respecto al GPS es un modulo Polstargps PMB-688 que no tiene RS232 sino TTL http://www.polstargps.com/html/module-PMB-688-2.html el Datasheet: http://www.polstargps.com/html/download/Module/PMB-688.pdf
Con respecto a la alimentacion entonces me quedarian los Pines 1,2 y 4 con 12V y el 5 y 6 para el neutro, esto seria correcto?
Hola Alejandro,
Repecto a lo que indicas de la alimentación sí, es correcto. El pin 1,2 y 4 a 12V y el 5 y 6 a GND.
Respecto al módulo GPS es una lástima que no utilices el módulo de Siemens XT65 que tiene incorporado un módulo GPS en su interior (SirfIII de uBlox). La aplicación te hubiese resultado tremendamente más sencilla.
Veo que tampoco has elegido un módulo GPS con salida 232, sino TTL. Tal vez como trabajas con GPS a nivél de módulo te hubiera ido mejor trabajar con el TC65 también a nivel de módulo y no terminal. Pero bueno, si estás utilizando el TC65T, con RS232, no te queda otra que utilizar un chip max232 o similar para la conversión TTL/RS232.
Salu2.
Estimado,
Gracias por toda tu ayuda, ya tengo el modulo funcionando, aun sin el GPS pero vamos encaminados, en otro comentario me digiste que tendrias algun ejemplo que me puedas pasar para probarlo.
Te agradeceria mucho si lo podes postear.
Maestro, me quedo una duda, en el video veo que tenes el puerto USB desarme el modulo y veo que esta el lugar para soldarlo, mi consulta es si simplemente alcanza con soldar la ficha o hay que agregar algo o modificar algo en la placa.
Saludos
Hola Alejandro,
basta con soldar, no hay que añadir nada más. Lo único es que tendrás que taladrar la caja de plástico para que pueda asomar el conector USB.
Salu2.
Muy buen sitio, hasta ahora estoy comenzando a conocer elementos de comunicaciones móviles de ultima generación, ya que donde me encuentro aun no ha llegado, bueno, estar eleyendo todos esos aportes técnicos, son nuevos para mi, gracias.
el sitio es excelente, quisiera saber donde encontrar informacion tecnica sobre el modelo tc63 y si es posible de conectarlo con un microcontrolador. gracias.
Hola Javier,
¿qué necesitas?, información hardware o información de comandos AT.
Por supuesto puedes conectarlo a un microcontrolador a través de una uarth sin problema alguno. Recuerda que si la aplicación lo permite (no es una aplicación excesivamente compleja) puedes utilizar el TC65 que permite programar en Java en su interior.
Salu2.
Hola, hace un tiempo te consulta por el TC65 me comentaste que tendrías algunos ejemplos de script en JAVA para hacer algunas cosas.
Tengo todo el Hard, pero por no saber Java nunca lo probé, si no es mucha molestia, y tendrías algunos ejemplos por las básicos que sean para guiarme serian de gran ayuda.
Saludos
Hola, felicidades por el blog, es muy interesante.
Una duda acerca del Siemens TC63
¿Sabeis si necesita drivers especiales para funcionar sobre Windows VISTA?
Estamos intentando instalarlo pero el proceso de agregar nuevo hardware termina con error y, sin embargo, en Windows2000 y WindowsXP no habiamos encontrado problemas y todo iba bien.
¿Alguien mas lo ha intentado sobre Windows VISTA?
Gracias por anticipado.
hola,
solicitaselo a tu suministrador. Creo recordar que hay para lasdosversionesde vista 32 bits y 64 bits
Salu2
Por cierto para losp uertosserie solo configuralo como modem standard a la velocidad a la quetengas el puerto, para el USB si necesitaras el driver que tienes que solicitar a tu suministrador.
Saludos
Hola a todos,
Soy nuevo en esto de módulos GSM y por ello me lanzo a pediros ayuda:
Me he comprado el TC65 para añadirselo a un automata un poco peculiar que he desarrollado para una aplicación. Mi problema es que me han pasado el manual del TC65T, pero no tengo ni idea de como conseguir el manual del TC65. ¿Podríais ayudarme?
Muchas gracias
Hola,
solicitaselo a tu suministrador del producto.
Será lo más fácil.
hola a todos
estoy tratando de conectar un modem gsm (siemen mc35i) con un microcontrolador (el 8051)…..y he visto que arriba se hacia referencia a conectar el puerto serie del modem con la uart del micro…pero me podrias facilitar informacion acerca de como cablear las lineas y que lineas son realmente las necesarias??
otra cosa que me tiene atascado es : como trato los comandos at con el micro como una cadena de caracteres?
te agradeceria un poco de ayuda
un saludo y muchas gracias, estupendo el blog
Hola,
Las lineas que necestas dependerám de si quieres utilizar contro lde flujo o no.
Yo te recominedo el RX y TX para la recepción
CTS/RTS para contro lde Flujo
DTR para conocer la llegaga de eventos e incluso para encender el módulo
RING para conocer por hardware una llamada entrante
supongo que con estás puedes hacerlo todo.
Saludos
Pua
Muchas garcias Pua.
Podrias decirme si realmente es necesario el control de flujo?
De ser asi tendria que leerla por los puertos del micro puesto que la uart0 del 8051 solo tiene rx y tx y manejarlas con software que yo creara dentro del programa No?
No he probado aun a pasarle comandos at…aunque creo que si se los paso como una cadena de caracteres al buffer y para leer comparo lo que el buffer meta en otra cadena con posibles respuestas que estaran ya en el programa asi sabre la respuesta usando la funcion strncmp o strcmp.
si puedes comentarme algo de esto me harias un gran favor…
muchas gracias
Hola José Manuel,
depende de tu aplicación dependerá si es recomendable usar control de flujo o no. Con el control de flujo evitarás enviar más datos de los que pueda procesar el modem. Para la mayoría de las aplicaciones no es necesario, auque si puedes incorporar esas líneas mejor.
Si la uarth de tu micro no tiene más que tx y rx y quieres control de flujo, pues sí, deberías utilizar un par de pines de E/S para esa labor y gestionarlas tú desde tu programa.
En cuanto a la manera de tratar las respuestas del modem, pues sí, una manera normal de gestionarlas en C es utilizar las funciones de Strings, como strcmp, strstr, … ( si te fijas como trato yo en los últimos ejemplos las respuestas del modem con un programa java, lo hago con el método instr, análogo a lo que tú pretendes hacer en C )
Salu2.
Hola, estoy iniciandome en el tc65 que tengo que hacer un proyecto fin de carrera (soy informatico) asi que si alguien tuviese ejemplos para iniciar le agradecería mucho que me los enviara, que no entiendo muy bien como va.
Muchas gracias.
Buenos días.
Felicidades por los contenidos, resultan muy útiles y animan a utilizar el MTX-65 en más aplicaciones de las que a priori puedas imaginar… espero que sea un éxito.
Estoy actualmente utilizando el servicio put del ftp del MTX-65 (ftpput).
Sólo es posible hacer puts a los directorios de destino por defecto? (la definición de address te deja definir el nombre de archivo local pero no veo cómo definir el directorio/nombre remoto).
Al usar @ como separador de contraseña@host… ¿ no podemos usar contraseñas – ej. ftp anónimo – emails?
Muchas gracias y enhorabuena nuevamente.
Hola,
Perfectamnete.
Copia estas lineas como script de ZOC (te lo puedes bajar de internet) y rellena las cajitas que te abre. Si tienes el modem conectado al TC65(con pin y registrado) podrás ver todas las lineas de configuración
/* REXX (CREATED BY Pua para pruebas FTP 02/02/06) */
CALL ZocTimeout 10
CALL ZocWaitForSeq 1
CALL ZocCommand “CLS”
SAY “FTP Script Pua para GPRS. Intoducir los parametros solicitados”
SAY “El módulo tiene que tener pin introducido y estar registrado”
SAY “Por defecto utiliza el operador AMENA”
SAY “No hay ninguna comprobación de la veracidad de los datos introducidos”
CALL ZocTimeout 180
CALL ZocSend “at^M”
CALL ZocWait “OK”
CALL ZocSend “ati^M”
CALL ZocWait “OK”
CALL ZocSend “at+csq^M”
CALL ZocWait “OK”
CALL ZocSend “at+creg?^M”
CALL ZocWait “OK”
CALL ZocSend “at^(5E)sics=0,conType,GPRS0^M”
CALL ZocWait “OK”
CALL ZocSend “at^(5E)sics=0,alphabet,1^M”
CALL ZocWait “OK”
USERGPRS= ZocAsk(“Usuario de GPRS”,”CLIENTE”)
CALL ZocSend “at^(5E)sics=0,user,”USERGPRS”^M”
CALL ZocWait “OK”
PASSGPRS= ZocAsk(“PAssword de GPRS”,”AMENA”)
CALL ZocSend “at^(5E)sics=0,passwd,”PASSGPRS”^M”
CALL ZocWait “OK”
APNGPRS= ZocAsk(“APN del operador”,”internet”)
CALL ZocSend “at^(5E)sics=0,apn,”APNGPRS”^M”
CALL ZocWait “OK”
DNS1= ZocAsk(“DNS1″,”0.0.0.0″)
CALL ZocSend “at^(5E)sics=0,dns1,”DNS1″^M”
CALL ZocWait “OK”
DNS2= ZocAsk(“DNS2″,”0.0.0.0″)
CALL ZocSend “at^(5E)sics=0,dns2,”DNS2″^M”
CALL ZocWait “OK”
CALL ZocSend “at^(5E)siss=1,srvType,ftp^M”
CALL ZocWait “OK”
CALL ZocSend “at^(5E)siss=1,conId,0^M”
CALL ZocWait “OK”
CALL ZocSend “at^(5E)siss=1,alphabet,1^M”
CALL ZocWait “OK”
FTPADRESS= ZocAsk(“Dirección del Servidor FTP”,”")
FTPUSER= ZocAsk(“Usuario del Servidor FTP”,”")
FTPPASS= ZocAsk(“Pasword del Servidor FTP”,”")
FTPPORT= ZocAsk(“Puerto del servidor FTP, por defecto 21″,”21″)
CALL ZocSend “^MAT^(5E)SISS=1,address,
“”ftp://”FTPUSER”:”FTPPASS”@”FTPADRESS”:”FTPPORT”"”^M”
CALL ZocWait “OK”
CALL ZocSend “at^(5E)siso=1^M”
Salu2
Pua
Gracias Pua,
Perdóname, pero estoy un poco desconcertado.. imagino que tu respuesta Estoy “googleando” para ilustrarme un poco acerca de Zoc, pero aún así te diré que mi intención es hacerlo todo programáticamente desde Java (con el TC65 como módulo independiente, sin PC alguno).
Mi “línea de investigación” actual es hacer todo abriendo un socket al puerto 21 con un socket connection (ej.- gprs vodafone):
SocketConnection csock = (SocketConnection) Connector.open(“socket://”
+ server + “:” + CNTRL_PORT + ;bearertype=gprs;
access_point=airtelnet.es; dns=212.73.32.3;
username=vodadone;password=vodafone;timeout=90″);
para después enviar comandos ftp, logarme, cambiar de directorio… etc programáticamente.
No lo he testeado aún, pero imagino que así me evito definir conexiones y servicios con los ATs y no me veo limitado en el ftpput a escribirle al servidor el archivo al directorio por defecto.
Muchas gracias (es de agradecer este soporte desinteresado que das)
hola,
Creo que esto se esta líando.
Vamos a ver, puedes usar las primitivas de Java para realizar la conexion GPRS y usar sockets. No se si tienes ya primitivas de alto nivel.
Si prefieres hacerlo con los comandos TCP/IP puedes hacerlo desde java, pero no podrás mantener las dos conexiones a la vez. En ese caso los comandos son los que te pongo en el post anterior. simplemente usa el ATListener y maneja las URC para hacer tu programa. Creo que tengo por hay algunos ejemplos de esto, incluso de usar los sockets de la pila TCP/IP externa desde Java.
Tal y como lo planteas en tu post no te va a funcionar tendrías que programarte el protocolo FTP desde Java, Y llevar el protocolo por el TCP 20 y el UDP 21, creo recordar.
Salu2
Pua
Gracias Pua,
Buenos días.
Sigo con el asunto “ftp”.
Imagino que el script ZOC no hace más que enviarle los ATs correspondientes por lo que si desde ZOC acepta un user con una “@” intercalada, desde Java con un:
at^siss=1,address,”ftp://anonymous:miemail@servidor.com
@ftp.cs.unc.edu/welcome.msg;type=a”
Debería “tragar” (y creo que envié el post porque me encontré un error aquí).
De todas formas aunque esto funcionase, no veo cómo especificarle el directorio de destino en el servidor ftp (hasta donde yo sé, el parámetro que se le pasa al AT es únicamente el nombre de archivo local).
Si crees que ambas cosas son posibles con ATs… obviamente es más fácil con ATs y URCs que ponerse a programar el protocolo ftp en crudo (y manejar los dos sockets el de control y el de datos en modo pasivo…).
Gracias.
AGD
Perdón… en el ejemplo anterior mostré un AT para “ftp get” cuando lo que quería ilustrar es que al “ftpput” no sé cómo decirle el directorio destino en el servidor ftp.
hola,
Tan sencillo como
servidor/directorio1/directorio2/…/directorioN/archivo
No que desconozco es si la cadena tiene alguna limitación en tamaño. supongo que el path tiene que existir y ser correcto
Salu2
Pua
Gracias Pua,
Efectivamente así mucho más sencillo.
Mañana probaré a ver si me funciona y realimento el post.
Saludos,
AGD
Buenos días,
He probado con “servidor/directorio1/directorio2/…/directorioN/archivo” en modo comandos AT desde hyperterminal y no he conseguido más que un error.
Imagino que como con ftpput el separador de “servidor” y “archivo local” en la cadena address es precisamente “/” no lo interpreta bien (yo lo que quiero es escribir a un directorio remoto en particular, el archivo local no me importa que está en el raiz de la fash)
Quizá no he sido lo suficientemente paciente… en cualquier caso:
Has probado a realizar el ftpput así como me aconsejas con éxito?
Otras consultillas:
- En modo debug, aún no he pasado correrlo de forma normal, nunca me pasa por el constructor de la Midlet (no puedo inicializar nada ahí)… ¿es ésto normal? ¿ocurre fuera del modo debug?
- En modo debug siempre me sobreescribe el archivo .jad borrando toda línea adicional que haya puesto ahí… eso no me permite debuggear la lectura de parámetros que fije en el .jad. ¿es ésto normal? ¿ocurre fuera del modo debug?
Disculpa el abuso.
Gracias
Más dudas…
…estoy teniendo un problema con el método delete() de FileConnection,
a pesar de que abro el FileConnection con un READ_WRITE y a pesar de que sé que el open() es exitoso – el método .exists() me devuelve true – a la hora de hacer el delete(9 tengo una IOException, cuyo getmessage() únicamente me dice “null”.
por lo demás tengo el ftp implantado como socket IP en el puerto 21 corriendo (pero quiero que cada vez que me envíe con éxito un archivo lo borre para no llenar la flash).
Gracias.
AGD
Respondo a mi último post:
Simplemente el archivo debía estar abierto por otro método (seguramente salí sin hacer un close del stream) y por ello no me dejaba hacer el delete.
Saludos.
Respondo a “- En modo debug siempre me sobreescribe el archivo .jad borrando toda línea adicional que haya puesto ahí… eso no me permite debuggear la lectura de parámetros que fije en el .jad. ¿es ésto normal? ¿ocurre fuera del modo debug?”
Esto era así porque estaba escribiendo el .jad editando el fichero de texto.
En cuanto lo he hecho con Proyecto -> Properties y en Application descriptor / Attributes los anadí con el botón “Add”, comenzó a funcionar.
Saludos
URCs:
Tengo definida una conexión GPRS con AT^SJNET=…
Tengo configurado el TC-65 para que me notifique SMSs entrantes vía URC:
at+cnmi=3,1,2,0,1
Con el hyperterminal recibo los URCs de SMS entrante sin problemas, sin embargo desde Java no los recibo (y sí que recibo el URC de RING).
Alguna pista?
Gracias,
AGD
Hola AGD,
¿no tendrás llena la memoria de SMS?
Por otro lado tienes un ejemplo java en el blog (concretamente en la tercera entrega de unos posts que puse para el MTX65+G hace poco) en los que se gestiona un URC de recepción de SMS.
Dale un vistazo, a ver si ves algo diferente al tuyo. El programa de ejemplo que puse funciona correctamente.
Salu2.
P.D. Muchas gracias por contestarte a ti mismo a las preguntas que has generado y no dejar las preguntas sin respuesta. De verás. Hay muchos miles de personas que leen estos posts y a más de uno seguro que le resulta de ayuda.
Gracias Pua,
La verdad es que no está llena la memoria porque los SMS sí que entran (pero no me “salta” el URC).
De hecho creo haberme basado en tu ejemplo ALARMASMS para esta parte del código.
Estoy desconcertado porque si con el hyperterminal sigo los mismos pasos (la misma secuencia de ATs) sí que veo perfectamente cómo entra el URC del SMS. Sin embargo desde Java, en el código que gestiona los URCs – como te digo basado en tu ALARMASMS – sí que me entra el URC de llamada (cuando llamo para probar) pero no el de SMSs (luego compruebo leyendo los SMS que sí que hay nuevos en el terminal).
Esta es la parte de configuración del módem:
s_respuestaAT=gps.sendAT(“at+cmee=2″); //configuramos descripción extendida de errores en módem
s_respuestaAT=gps.sendAT(“at^sjnet=GPRS,airtelnet.es,vodafone,vodafone,212.73.32.3,600″);
//Configuramos el módem para enviar mensajes de texto:
System.out.println(“Configuramos el módem para enviar SMS de texto, no PDU\r”);
s_respuestaAT=gps.sendAT(“at+cmgf=1″);
System.out.println(“Activamos los URC para los SMS entrantes\r”);
//Configuramos para activar mensajes URC cuando recibamos un SMS
s_respuestaAT=gps.sendAT(“at+cnmi=3,1,2,0,1″);
s_respuestaAT=gps.sendAT(“at+cmer=2″); //Anadí esta línea porque no recibía el URS… pero tampoco.
La de gestión de URCs entrantes es similar a la de tu ejemplo.
Saludos
AGD
Hola AGD,
aparentemente lo tienes bien. Me desconcierta que recibas los URCs de SMS desde el hypertérminal y no desde Java y que además desde java recibas otros URC y no el de SMS. Aparentemente lo tienes correcto.
Pese a que te hayas basado en el ejemplo, tal vez podrías probar el ejemplo tal cual, a veces se pueden pasar detallitos por alto.
Salu2.
P.D. no soy Pua, a quien aprovecho para agradecer sus respuestas.
Gracias BlogElectronica,
Efectivamente, el ejemplo ha funcionado bien… pero sigue sin funcionarme en mi código.
Las únicas diferencias son: que uso el AT^SJNET para configurar una conexión GPRS y que en la prueba que hice había cambiado el AT+CNMI=3,1,2,0,1 por AT+CNMI=2,1,2,0,1.
Lamentablemente no puedo dedicarle apenas tiempo a este desarrollo y voy muy-muy despacio (mas aún cuando se presentan los típicos errores que como éste no sabes a qué se deben).
Saludos
AGD
hola,
no puedes hacer eol cath del URC, o es que simplemente no te llegan los mensajes?
O te llegan los menesajes y no recibes URC?
comprueba que no tienes la memoria seleccionada llena y por eso no te entran
at+CPMS , creo recordar de memoria
Cuando uses el at+cnmi acuerdaté de comprobar que la configuración que selecciones es Phase II o Phase II+ y activar el at+csms adecuamente.
Para saber cuando se te llena la memoria de SMS tienes el comand at^smgo
Te he escrito los comando sde memoria y sin el manual delante. Si no son esos exactemente serán muy parecidos
Salu2
Sigo sin dar con la solución… cuando tengo el “RING” me entra casi inmediatamente en el ATEvent para ser tratado, pero el URC de los SMS nada de nada; no hace “saltar” el ATEvent.
He intentado poner “at+cnmi=3,1,2,0,1″ en varias partes del código por si algún otro AT lo deshabilitaba: nada.
Quizá tenga que ver con el uso masivo de puertos que estoy haciendo (aunque he deshabilitado p.e. el GPRS y tampoco):
- Uso el puerto serie para comunicar con un dispositivo
- A través de GPRS envío por ftp (esto lo he deshabilitado y sigue sin funcionar).
- Consulto periódicamente el GPS (en tu ejemplo tb y no presenta problemas).
Si la cosa sigue así tendré que leer los SMS “UNREAD”, pero he probado con at+cmgl=1 y sólo funciona en modo PDU (en ASCII devuelve “ERROR”).
???
Hola:
Tengo que hacer una aplicación con un microcontrolador que mediante un modem GPRS envíe archivos a un servidor. Los archivos son algo grandes como de 300Kb.
La pregunta es: ¿cuál es el método mas recomendable (rápido, robusto)para hacerlo?
Hay que tener en cuenta que puede pasar que pierda señal por un tiempo mientras estaba enviando el archivo, o que los datos lleguen con errores, etc.
Las opciones que se me ocurren son:
-usar UDP y hacer todo el protocolo para asegurar la integridad de la información.
-FTP
Agradezco si alguien pueda responderme
Hola palmering,
yo si fuera tu no utilizaría UDP, pues como sabrás con UDP no garantizas que los paquetes te lleguen en orden y te obligará a un control más férreo en la recepción de paquetes por parte del receptor así como currarte que si no llega un paquete tener que volvérselo a pedir al módem, pues como sabes UDP no garantiza que los paquetes se reciban (protocolo utilizado en audio / video donde si se piede un paquete no pasa nada).
TFP es mejor, con FTPupload puedes subir tu fichero garantizando que los datos subidos son correctos, tienes más control.
Es resumen, si no quieres currarte un servidor utiliza FTP, es más sencillo. Si te quieres por el motivo que sea currar un servidor, utiliza TCP (no UDP).
Salu2.
Gracias por tu respuesta.
Yo estoy usando un módem G24 de motorola y ya tengo hecho un protocolo en UDP para transferir los archivos del cliente (modem) al servidor (una PC), pero como tu dices, tengo que hacer toda la gestión de la información y errores. A pesar de eso funciona.
Supongo que sería mucho mas elegante hacerlo mediante FTP.
La pregunta es:
Con FTP ¿es tan fácil enviar un archivo como poner el comando “enviar archivo” y listo?
¿Cómo se gestionan los errores? ¿que pasa si en el medio de una transferencia pierdo señal?
Gracias
Hola Palmering,
no conozco los módems de Motorola, sólo los Siemens, que como ves son más populares
Salu2.
Ok, básicamente es lo mismo, pero mas allá de eso quisiera saber, en el caso del módem que utilices, qué es lo que pasa si en la mitad de una transferencia se pierde señal. ¿Se puede iniciar la sesión nuevamente y seguir enviando el archivo?
Muchas gracias.
Hola Palmering,
si en un PC convencional se te pierde la conexión, a menos que tengas un software especial de gestión de FTP que permite retomar el envío desde donde lo dejaste, debes de empezar de nuevo el envío. Con un módem no tienes ese software de control y deberás empezar de nuevo.
Salu2.
Ok, es lo que necesitaba saber. En ese caso creo que lo mejor será dividir un archivo grande en varios archivos mas pequeños, y luego en el servidor reagruparlos nuevamente, de manera que en el caso que se corte la conexión no tenga que enviar todo de nuevo.
Agradezco tus respuestas.
Saludos
Hola,
dispongo de un modem siemens tc65 y quiero establecer una conexion GPRS via internet con un servidor, al que le voy a enviar datos de posicion obtenidos de un gps. a partir de ahi quiero obtener la latencia y velocidad de transmision de la transmision de los datos.¿Como puedo hacerlo?
Por otra parte, ¿es una incongruencia hablar de BER o BLER si utilizo tcp para transmitir datos?
Un saluido
Gracias.
Hola.
Me está pasando una cosa muy muy rara y ya no se por donde seguir.
Si ejecuto las sentencias desde el Entrenador (para subir un fichero FTP) me funciona correctamente, pero si lo ejecuto desde una función de un programa, me da un error. En concreto en el at^siso
————————————————————
at+cpin=0000
at^sics=0,conType,GPRS0
at^sics=0,alphabet,1
at^sics=0,user,vodafone
at^sics=0,passwd,vodafone
at^sics=0,apn,airtelnet.es
at^sics=0,dns1,212.73.32.3
at^sics=0,dns2,212.73.32.67
at^siss=1,srvType,ftp
at^siss=1,conId,0
at^siss=1,alphabet,1
at^siss=1,address,”ftpput://USUARIO:CLAVE@IP_SRV:21/fich1.txt;type=i”
at^siso=1
at^sisw=1,TTTTT
>>>Enviar TTTTT datos
at^sisw=1,0,1
at^sisc=1
————————————————————
El modulo me funciona correctamente en banda de 800, pero si le pongo uno de 1900, se queda buscando la señal correspondiente, y nunca se normaliza. Conotros modulos del mismo tipo no tengo ningun problema, solo con algunos que solamente trabajan en la banda de 800.
Gracias por su ayuda
Rolex
bueno el modulo es el TC63
Hola,
no conozco ningún equipo GSM que trabaje en la banda de 800 Mhz
Salu2
Pua
perdon, quise decir 850
Hola amigos:
me dirijo a vosotros a ver si nos podéis echar una mano. Estamos intentando encontrar para un proyecto de movilidad un Módem UMTS (mtsx h25 o similar) que disponga de Drivers para Win CE. Nos han ofrecido algún módem con drivers para XP pero deberíamos hacer la adaptación del Driver de XP a CE y no sabemos que tal complicado puede llegar a ser .
Si alguno de vosotros tenéis algún tipo de información al respecto será muy de agradecer .
Un saludo Pep
Hola Pep,
pues no te se decir lo complicado de pasar drivers de XP a CE. De todas maneras, como seguramente sepas, el MTX-HC25 tiene en su interior un HC25.
Si te fijas en el datasheet del HC25, que te lo pongo a continuacion:
http://www.cinterion.com/mediaserver/09/datasheet_hc25_175009.pdf
verás abajo a la derecha, donde indica los drivers que tiene, que dispone de los drivers USB para Windows CE 5.0. No los he utilizado nunca de todas formas.
Salu2.
Muchas gracias. Haremos las pruebas y os comentaremos los resultados.
Gracias de nuevo
Salu2s
hola,
con el comando at^susb puedes cambiar la configuración del usb.
Creo recordar que lo puedes poner como estandard ACDM o ACDMC, algo así.
De esa manera podrás usar un driver estandard y configurar como conexión a través de RAS, pero no a través del endpoint NDIS.
sino a configurar los tres endpoints, o el que necesites, y hacerte el driver.
Saludos
Pua
Hola Pep,
ahí va un link que puede resultarte interesante para los drivers estandard CDC/ACM que pueden utilizarse con el HC25 (Disponibles para WinCE)
http://www.thesycon.de/eng/usb_cdcacm_ce.shtml
Salu2.
Gracias compañeros. Sois unos Cracks
Hola a todos
Enhorabuena por este pedazo de blog.
Al lio, tengo un proyecto de telecontrol o telelectura de contadores de electricidad. Los contadores están tienen conectado un modem y yo dispongo de un TC65 para realizar llamadas desde un PC/Servidor. Los datos que debo adquirir lo debo hacer con Modbus (RTU, entiendo). Una vez tengo los datos y suponiendo que siguen una estructura estandar (IEC 870-5-102) almacenarlos en el PC. Esto último parece lo más trivial.
Como soy un pedazo de novato en todo esto de GPRS, Modbus, SCDA y demás, me he pegado una buena dosis de leer lo que he podido (y entendido) y he llegado a la conclusión (corregidme pls) que:
- Para poder enviar mensajes o instrucciones Modbus, primero debo establecer la conexión GPRS con el APN adecuado.
- Una vez establecida la conexión enviar los comandos Modbus usando un comando AT, correcto ?
- Una vez ejecutado el comando Modbus via AT, leer el resultado por el socket adecuado, también usando un comando AT, correcto ?
Adicionalmente, todo esto lo estoy haciendo con C# y no Java (para poderlo integrar en un proyecto C# ya existente, no por otra cosa).
* Alguien me podría decir si voy por buen camino y responder a esas preguntillas ?
* Alguien conoce utilidades o ejemplos en C# para trabajar con el TC65 ? personalmente creo que siguiendo el namespace System.IO.Ports.SerialPort podría crear mi encapsulamiento de los comandos AT hacia el modem por puerto COM.
Muchísimas gracias por adelantado
Creo que voy mal encaminado ya que debo llamar al modem del contador y no al APN, no ?
Hola Guillem,
a ver, vas mal encaminado. Primero debes decidir si te vas a conectar por CSD o por GPRS. Si quieres que sea por GPRS necesitas programar los módems de los contadores, para hacer un tunel transparente o utilizar un dispositivo como el MTXTunnel.
Si lo que quieres hacer es llamar al nº del teléfono del módem del contador para establecer una llamada CSD no te hace falta nada especial.
Coge y desde el PC de control con tu TC65 conectado envía un:
ATDxxxxxxxxx
sin ; , para hacer una llamada de datos CSD.
Configura el módem que está en los contadores para que descuelgue automáticamente las llamadas de datos. Suele configurarse con un ATS0=1, y si es Siemens, graba el parámetro en el módem del contador con AT&W y AT^SMSO para que no se borre cuando le quites y pongas de nuevo la alimentación.
Una ver establecida la llamada como te decía antes, con ATDxxxxxx (donde xxxxxx es el nº de teléfono del módem del contador) ya tendrás un canal de comunicació hecho entre el puerto serie del TC65 y el puerto serie del módem del contador, es decir, todo lo que envíes por el puerto serie del TC65 que está en el PC, saldrá por el puerto serie del módem del contador, por lo que da lo mismo que envíes datos en ModBus, JBus, o cualquier protocolo, pues para los módems es transparente. Sólo ven datos serie viejar.
No se c#, pero si puede utilizar desde C# ActiveX, con un simple control MSCOMM.OCX tendrías más que suficiente para hacer la aplicación.
Salu2
Ei!
Muchísimas gracias! sopechaba algo así, pero claro, andaba muy perdido
Pruebo y te cuento.
Salu2
Hola otra vez
Probé lo que dijiste y el TC65 se quedó igual. Me explico, cree un pequeño programa para enviar comandos al puerto COM. Conecto con el COM sin problemas, envío los datos pero cuando intento leer el puerto se queda colgado (con esto ya me espabilaré yo). El tema es que el TC65 se queda igual, no parece reaccionar a ningún comando.
La segunda prueba la he hecho con Hyperterminal, me conecto bien (115200) y lo mismo, le envío comandos AT por la consola del HT y no reacciona. Apago y enciendo el TC65 conectado por HT y veo ^SHUTDOWN y el ^SYSSTART, por lo que entiendo que al menos por HT debería recibir mis comandos.
La tercera prueba fue buscar el Siemens Mobility Toolkit y realizar pruebas con él y ver donde me estoy equivocando … y claro resulta que me en siemens me reenvían a Cinterion y ahí no encuentro su email de soporte técnico …
La cuarta prueba, probar con Java vuestros magníficos ejemplos: (en ella estoy) me estoy descargando NetBeans + JDK …
Me estoy dejando algo, verdad ? creo que estoy cerca de encontrar la solución.
Salud2
He leido algo acerca de que si se está ejecutando una apliacación Java en el TC65 ningún comando AT será interpretado …
Efectivamente Guillem,
¿estás ejecutando una aplicación?
Mírate uno de los últimos post que precisamente he puesto:
http://www.blogelectronica.com/autostart-autoarranque-siemens-cinterion-tc65-xt65-mtx65/
Si has configurado un autostart, fíjate en ese post como explico como desactivarlo, en el caso de que hayas puesto un delay 0.
Salu2
Lo miro. No he tocado nada, el TC65 está tal y como vino de movistar … Te digo algo
Podem ajudar-me?
Ao configurar GPRS, comando:
AT^sics=0,dns1, xxx.xxx.xxx.xxx
como se sabe qual o DNS a usar?
Hola recursos,
puedes poner la DNS que quieras, por ejemplo la de telefónica 080.058.000.033 o la que más te guste.
Salu2
Hola,
Estoy haciendo un progrma para capturar datos de GPS.
De momento estoy haciendo pruebas con Mysql, PHP y maps Google, los datos los leo de un fichero txt.
Tengo dudas de como se capturan los datos del GPS una vez que se envian a una IP fija.
Como se progrman los moiden para que envien los datos a una IP?
Alguien me puede orientar?
Saludos, Luis
Hola Luís,
estás pidiendo que te expliquen cómo hacer un proyecto entero, eso no lo vas a encontrar aquí. Lo que sí puedes encontrar aquí son muchos ejemplos java que te pueden orientar en tu proyecto.
Salu2
Grato pela resposta.
Experimentei “esquecer” AT^sics=0,dns1, xxx.xxx.xxx.xxx
(isto é, não usei este comando) e o resultado foi:
^SISO: 0, “Socket”,”3″,”2″,”0″,”0″,”77.54.29.162:0″,”208.85.135.104:80″
isto leva-me a pensar que AT^sics=0,dns1, xxx.xxx.xxx.xxx pode não ser necessário.
Estou certo?
rec
Hola Recursos,
depende de lo que quieres hacer, si te vas a comunicar con un servidor a través de un dns (ej. http://www.midominio.com ) te hará falta la DNS. Si te vas a comunicar con una IP pues no, no te hará falta. Las DNS es para traducir de nombres a IP.
Salu2
OK, compreendo:
IP (208.85.135.104:80) não preciso DNS
URL preciso DNS.
agora está claro.
rec
Buenos días,
Estoy escribiendo una aplicación que deseo compile y corra bajo varias plataformas incluido el XT-65.
El SDK que viene junto con la documentación de mis XT-65 es el 1.4.2.
Estoy pensando en utilizar las facilidades de java.util.concurrent.Executor para optimizar el funcionamiento del pool thread que necesita la aplicación.
Pero veo que Executor es parte de J2SE 5.0 por lo que imagino que no está disponible como 1.4.2.
Hace ya algún tiempo que adquirí los XT-65 y veo que recientemente se ha lanzado una actualización de firmware. Soporta el nuevo firmware versiones más reciente de java que la de 1.4.2 ?
Tiene coste la actualización de firmware?
Gracias
Al
Mensaje para Guillem.
Buenos días.
Qué tal va tu proyecto? a mí me gustaría hacer algo parecido pero no usando el XT65 como mero módem sino implementando el protocolo (102) – y alguno más – en él.
Me gustaría ponerme en contacto contigo por e-mail si fuera posible.
Gracias.
Hola AI,
no recuerdo ahora mismo la versión para el nuevo firmware 2.02 del XT65, pero sí trae un nuevo SDK. Respecto al coste, no, no tiene coste, pídele la herramienta de upgrade a tu distribuidor Siemens / Cinterion.
Salu2.
Pensando un poco en mi propia pregunta (uso de la clase java.util.concurrent.Executor) creo que es algo tonta… si estoy programando para un dispositivo CLDC 1.1 tendré que limitarme a las clases y limitaciones que impone.
Disculpad las molestias.
Hola:
Si alguien fuera tan amable y pudiera comentarme que problema tengo.
tengo un modulo tc63 en una aplicacion diseñada por mi para probarla he colocado mi sim card (vodafone) y por medio del Hyperterminal le envio y recivo respuesta del tc63, ecepto cuando le envio el comando at+cpin=1234 (pin de mi movil) que se queda bloqueado el hyperterminal, cuando envio el comando at+cxxcid m responde con el numero de la sim por loqu eno creeo q sea un problema de comunicacion, pienso qu esea haya que introducir algun otro dato de la compañia (vodafone)… en fin si alguien me pudiera echar una mano se lo agradecere, un saludo y muy bueno el blog…….
Olá a todos,
Conexão GPRS com um TC65T, termina sempre em”6″ = DOWN:
^SYSSTART
AT^sics=0,conType,GPRS0
OK
AT^sics=0,inactTO,300
OK
AT^sics=0,user,vodafone
OK
AT^sics=0,passwd,vodafone
OK
AT^sics=0,apn,internet.vodafone.pt
OK
AT^siss=0,srvType,socket
OK
AT^siss=0,conID,0
OK
AT^siss=0,address,socktcp://209.85.129.104:80
OK
AT^SISO?
^SISO: 0, “Socket”,”2″,”1″,”0″,”0″,”0.0.0.0:0″,”0.0.0.0:0″
^SISO: 1, “”
etc.
OK
AT^SISO=0
OK
^SISW: 0, 1
^SIS: 0, 0, 48
^SISW: 0, 2
AT^SISO?
^SISO: 0, “Socket”,”6″,”2″,”0″,”0″,”77.54.144.117:1024″,”209.85.129.104:80″
^SISO: 1, “”
etc.
OK
“Socket”,”6″ == Down
This state is entered if
- the service has successfully finished its session (see note on Socket),
- the remote peer has reset the connection or
- the IP connection has been closed because of an error.
Alguma ideia do que estará mal?
rec
Hola recursos,
si esperas mucho a enviar datos a un servidor web (http) éste te cerrará la conexión. Prueba con otro servidor (un software tipo socketworkbench) verás como no ocurre. Lo que haces es correcto.
Salu2.
Pero este servidor que usei eres el conocido Google que todos usam nos exemplos!
devia marchar, não?
Se escrevo
http://209.85.129.104:80
no Firefox, ele responde de imediato.
Já fiz download do socketworkbench e vou ver como usar.
Obrigado pela ajuda.
rec
Buenas tardes a todos,
En esta ocasión me pongo en contacto con el blog para pedir por favor un datasheet (me interesa especialmente el tema de consumos en modo normal y “sleep”) de un módulo MTX-65 ULP (Ultra Low Power) que he visto mencionado en las presentaciones de producto Cynterion.
Muchas gracias.
Saludos.
Hola AI,
el producto que comentas, pese a que casi casi está listo, todavía no está disponible. Faltan unas semanas. Pero sí te puedo decir que el consumo en sleep está entorno a los 2ua, osea prácticamente nada.
Salu2
Hola,
Soy nuevo en esto de los módulos inalámbricos y estoy intentando desarrollar una aplicación y necesito tanto realizar una conexión hsdpa con el modem como enviar sms en el caso que sea necesario. Para ello necesito conocer como establecer un socket vía comandos AT y como “pausarlo” para enviar un sms y después “reanudarlo”.
Toda ayuda sería bienvenida.
Gracias!!!
Hola Vejerf,
el HC25 no tiene pila TCP/IP, es decir, no puedes crear un socket con comandos AT, necesitas un host con la pila TCP/IP (un PC, un módulo embebido, …) Dale un vistazo al manual …
Salu2.
Hola el HC25 dispone de tres end-points el USB, esto es, tres perfiles en el USB para usar simultaneamente: en modo mdnet un NDIS, un virtual modem y un serial port . Co nesto podrás mantener una comunicación HSDPA/UMTS por el NDIS y/o por el Virtual modem y enviar/recibir SMS por el virtual serial port/virtualmodem.
Echa un vistazo a la docuemtnación del producto y la nota de aplicación de USB para las distintas configuraciones de este.
Saludos
Pua
Hola y gracias por vuestras respuestas.
Quizás no debería haber planteado la pregunta aquí, pero buscando en Google llegué hasta aquí y pensé que quizás podrían ayudarme. La cosa es que yo no tengo un módulo HC25, yo de lo que dispongo es de un modem Novatel Wireless Expedite HSDPA. Este va integrado en un Toughbook de Panasonic (un portatil con pantalla táctil para entendernos). El portatil viene con un software llamado MobiLink que no sé como puede crear una conexión HSDPA y simultáneamente tiene acceso a la mensajería y agenda de la tarjeta SIM que se le incorpore. Yo estoy desarrollando un software y me interesaría simular este comportamiento desde mi software para tener conexión a internet y simultáneamente enviar mensajería pero desde mi programa. Es por esto por lo que estoy pidiendo ayuda y si alguien sabe como poder solucionarlo le estaría agradecido. También quiero decir que no tengo mucho manejo con estos modems. Yo básicamente he utilizado un terminal MC35i de Siemens y nada más. Y este módulo solo lo usaba para mensajería y poco más.
Gracias y saludos!
Hola Vejerd,
si fuera un mómde industrial MTXH25 podríamos ayudarte, pero la verdad, del módem que comentas, no tengo ni idea, lo siento.
Salu2.
Com o “entrenador Siemens”, quendo uso:
AT^sics=0,conType,GPRS0
AT^sics=0,apn,internet.vodafone.pt
AT^sics=0,apn,internet.vodafone.pt
AT^siss=0,srvType,socket
AT^siss=0,conID,0
AT^siss=0,address,socktcp://209.85.129.104:80
AT^siso=0
etc.
tudo bem, vai ao site da Google :=)
Mas se fizer:
AT^siss=0,address,socktcp://www.google.com:80
passado um pouco diz-me:
^SIS: 0, 0, 24, “Host not found” :=(
Como posso usar um URL no “address” em lugar do IP?
Grato pela ajuda,
Rec
Esquece, era o
DNS1 195.235.30.34
default do “entrenador”
mudei para:
DNS1 208.67.220.220
e passou a funcionar.
Porque seria?
Rec
Hola Recursos,
a lo mejor la DNS estaba caída. Posiblemente lo intentes ahora y funcione. Estas cosas a veces pasan.
Salu2
Os comandos:
*99***1#
AT+CGDCONT=1,”IP”,”apn”
etc.
no modem TC65T são usados em que contexto?
Substituem os GPRS0, socket, etc?
Rec
Hola recursos,
lo siento, pero no te entiendo.
Salu2
Posso usar os TC65T para comunicar numa VPN?
Qual é a configuração do modem? como client ou como listener?
Rec
Gracias por tua respuesta.
E quanto a VPN?
Sabes se posso usar o TC65T para me registar numa VPN?
Alguma diferença essencial de configurar p TC65T comom “listener” ?
Alguns detalhes, ou algum link onde possa estudar o assunto?
Salu2
Rec
Hola Recursos,
que yo sepa no es posible conectar con el TC65T con una VPN.
Salu2
Gracias por tu respuesta.
1) Como curiosidade, porque não é possível? com um stick USB consigo, e APN, UserName e Password são os mesmos, e que eu saiba não há mais nada para configurar.
2) Que equipamento usar em alternativa ao TC65T (para ligar pelo porto série a um uControlador)
Salu2
Recursos, creo que no te entendía lo que querías hacer. Tú lo que quieres hacer es una conexión a una VLAN de Vod.
Si en el login y password tienes @
necesitas especificar:
at^sics=0,alphabet,1
Salu2
Ola,
Era exacatamente isso, agora com alphabet 1 tudo funciona.
Portanto o TC65T pode ser usado em VPN.
Bueno!
Saludos,
Rec
Hola,
tengo un hc25 y necesito activar el EMERG_OFF/IGN por soft (linux).
Alguna sugerencia?
Gracias.
Hola pspet,
a qué te refieres. ¿A hacer un reset? ¿Cómo vas a usar los pines físicamente por soft? Me temo que esos pines no están pensado para eso a menos que lleves físicamente una línea GPIO del procesador que estés utilizando hacia el módulo (a esos pines).
Salu2.
Gracias por la respuesta.
Como tu dices, le habia hecho tambien esa pregunta al ensamblador del modulo y me dijo que estos pines solo estaban conectados a un boton fisico.
Es que en ciertas ocasiones el modulo deja de responder y es necesario una desconeccion manual de la fuente de alimentacion. Necesitaba realizar esto de forma desatendida.
Estuve trabajando tambien con unos modulos mc56 montados en una placa PCI y esta me daba acceso a estos pines y pense que probablemente podria tener algo similar.
Gracias igualmente.
Hola pspet,
extraño es que te deje de responder. ¿No te deja enviar un comando AT+CFUN=1,1 para hacer el reset?
Salu2.
Hola,
A través del USB tiens varios end points en ese módule. es decir a traves de solo un conector diferentes puertos para acceder a el. Si no puedes por el interfaz de modem, comprueba si puedes por el de viertual serial port para enviar el AT+CFUN
Salu2
Pua
Cuando deja de responder (se cuelga) no responde a ningun comando AT en ninguna de las interfaces.
A veces pasa que tambien deja de verse el dispositivo en Linux.
Reiniciando los controladores o la maquina no lo restablece. Solo la desconeccion de la fuente de alimentacion.
Aclaro que el modulo se esta utilizando con “SIM virtual”. Modulo -> SIM adapter -> SIM server. Puede pasar que si no tiene una SIM “mapeada” o se pierde la coneccion con el SIM server, el modulo puede quedar como “bloqueado”, pero se desbloquea al solucionarse el problema.
Los “cuelgues” del modulo parecen deberse al uso de los comandos “AT+CGATT”/”AT+CGDATA” (algo similar ya me habia ocurrido con los MC56), al reemplazarlos por “ATD*99***1#” parecen no suceder.
El uso de los comandos anteriores era necesario para recolectar tiempos/estadisticas sobre las distintas fases de la coneccion (registracion, activacion, etc).
Pareciera ser que el modulo no se estaria bloqueando, sino que se estaria “apagando”.
Posiblemente por alcanzar temperaturas criticas…
Esto podria explicar todos los sintomas anteriores, la aleatoriedad y tambien que con algunos de los modulos no sucede.
La URC ^SCTM no es de mucha ayuda puesto que esto ocurre mientras el modem se encuentra en modo de datos.
Hola pspet,
teóricamente el módem cuenta con unos mecanismos que en caso de sobretemperatura va bajando clase GPRS en la que trabaja, pero es cierto que puede apagarse por sobretemperatura o por undervoltage, yo lo que he visto más ha sido lo segundo, lo primero no lo he visto nunca.
Salu2.
Hola,
Alguien me podria dar informacion del modulo SIM508C, se los agradeceria mucho.
Hola SoWil,
aquí sólo encontrarás información de módems Siemens / Cinterion. De esa, lo que necesites
Salu2.
Que tal Compañeros antes que nada espero que esten muy bien ,bueno les voy a platicar un poco del proyecto que tengo en mente por realizar,se trata de conectar el sensor LM35 al modulo TC65 de Cinterion ,sabemos que este modulo tiene entre sus caracteristicas un Convertidor analogico a digital ,bueno pues he conectado exitosamente ya el sensor a esta entrada y con ayuda de los comandos AT^SAADC Y AT^SRADC he logrado ver en la hyperterminal la temperatura que da a su salida el ADC ,bueno esta en valores de mV.
Bueno compañeros ojala y ustedes puedan ayudarme en algunas dudas que tengo:
Como me conecto a internet mediante GPRS?
como puedo enviar los datos de temperatura del sensor a un servidor por medio de GPRS?
como podria guardar esos datos en una BD y cual seria la mejor forma de visualizar esos datos cuando estuvieramos recibiendolos en el servidor con esto trato de decir esos datos como se verian?
es necesario comprar un dominio?
si utilizo mi ip de la casa tendria problemas para ver los datos del sensor en cualquier lugar?
Bueno amigos espero y no molestarlos con estas dudas ,si logro acabar este proyecto con todo gusto subire el reporte final de todo para compartirlo con ustedes, por lo tanto seguire trabajando
suerte a todos cuidense y graciasssssssss
Hi Juan Carlos:
a) te recomiendo que uses el nuevo foroElectronica.com
b) es necesario comprar un dominio? No, look at http://www.DYNdns.com
c) Como me conecto a internet mediante GPRS? Read the manual :=) first… then search the new forum
Greetings!
Rec
Hola como estan ?
Tengo un modulo MC55i me gustaria saber si a alguien le paso lo siguiente:
Lo tengo manejado con un micro 16F887 para envio y recepcion de mensajes SMS y ultimamente cuando le envio un mensaje y luego otro mensaje siempre me muestra el primero que le envié, el modulo está configurado de forma que al entrar un SMS lo muestra automaticamente, luego lo borro de la posicion 1 y quedo a la espera del proximo, al enviar otro mensaje diferente me sigue mostrando el anterior, ¿ a alguen le ha ocurrido , sera un tema de configuracion ?
si alguien lo pudo solucionar y decea comentarlo se lo agradeceria mucho
Hola Eduardo,
tiene pinta que no estés borrando bien el SMS o bien estás enviando de nuevo el primer SMS de nuevo. Si borras el prmer sms ANTES de que te llegue el segundo SMS debería entrarte en la primera posición, es decir, el URC en el que te devuelve el módem el índice del SMS debería ser el primero. ¿Es así? ¿Por qué no nos pones un log con los comandos AT y URCs que recibes para poder ayudarte mejor?
Salu2
Muy buenas,
me animo a comentar en este interesantísimo hilo para retomar los primeros problemas planteados. El problema que tengo yo es justamente el de que no me acepta el comando “address”.
Esto es lo que estoy escribiendo:
at^siss=0,address,”ftp://user:password@65.254.248.218:21/ZZ_smsok.txt;type=a”
¿qué estoy haciendo mal? Llevo días con esto y no consigo salir del atasco. Decir que el MC55 que uso tiene la versión 4.00 de firmware.
Muchas gracias.
Un saludo
Hola Alberto,
creo que lo hemos comentado por teléfono o email, ya no recuerdo, pero para el que tenga el mismo problema, si no recuerdo mal hay que establecer previamente el alfabeto.
AT^SISS=0,alphabet,1
(por culpa de la @
)
Salu2!!!
Muchísimas gracias.
Problema solucionado.
Un saludo