Caracteres especiales en Autoexec
Escrito por blogElectronica en 2.DISPOSITIVOS (práctico), 4.PROGRAMACIÓN, Comunic. GSM/GPRSFeliz nuevo año a todo el mundo. Mientras me bajo una demo del Warhawk para la PlaySation3que me han traido los reyes por ser muy bueno el año pasado ) voy a poner un pequeño artículo que posiblemente le resulte útil a más de uno en alguna ocasión.
El artículo es válido para los módems gprs TC65, TC63 y XT65 y para sus respectivos terminales MTX65, MTX63 y MTX65+G que son distribuidos en España por Matrix.
En ocasiones puede que nos sea neceario utilizar el AUTOEXEC del comando AT^SCFG, para temporizar tareas que queramos realizar. No voy a entrar ahora en detalle del comando AUTOEXEC , de que ya habñaré en breve en otro pequeño artículo. Pero digamos que queremos utilizar el AUTOEXEC para, por ejemplo, lanzar un programa java (comando AT^SJRA) a una hora determinada o para resetear el módem (AT+CFUN=1,1) cada x horas o para lo que queramos.
Como véis se puede programar el AUTOEXEC del comando AT^SCFG para lanzar comandos AT de forma temporizada (hay muchas combinaciones, como dije, ya las veremos).
Por ejemplo, si quisieramos programar el módem para que se resetee cada 20 minutos, podríamos programar el autoexec así:
AT^SCFG=”AutoExec”,1,1,2,5,”AT+CFUN=1,1″,”000:20:00″
El problema viene cuando queremos utilizar comandos propietarios de Siemens / Cinterion, ya sabéis, todos aquellos que empiezan por AT^
Cuando usamos el comando AT^SCFG y el AUTOEXEC hay que tener presente que el módulo trabaja con el alfabeto GSM y no el ASCII.
¿Y a mi qué que trabaje con otro alfabeto?
Pues que el módem no es capaz de interpretar el símbolo ^ y lo cambia por otro, con lo que el comando no te va funcionar. Verás que cuando llegue la hora y se deba ejecutar el AUTOEXEC te devolverá un error.
¿Y entonces no se puede utilizar ese símbolo?
Sí se puede, pero has de utilizar el alfabeto adecuado. Por ejemplo, imagina que quieres lanzar un programa, por el motivo que sea, a los 10 minutos de que se encienda el módem (10 minutos no se puede hacer con el delay del autostart).
Lo primero que tendemos a poner es:
at^scfg=”AutoExec”,1,1,0,0,”at^sjra=A:/programa.jar”,”000:10:00″
pero realmente hay que poner:
at^scfg=”AutoExec”,1,1,0,0,”at\1B\14sjra=A:/programa.jar”,”000:10:00″
es decir, substituir el símbolo “^” por su codificación “\1B\14″
¿Y si quiero cambiar el valor del AUTOEXEC desde una aplicación java también se puede hacer?
Pues sí, también se puede hacer, basta con, en vez de escribir algo como:
respuesta=sendAT(“AT^SCFG=\”AutoExec\”,1,1,0,
0,\”AT^sjra=a:/programa.jar\”,\”000:00:20\”);
subtituir el símbolo ^ por \\1B\\14:
respuesta=sendAT(“AT^SCFG=\”AutoExec\”,1,1,0,
0,\”AT\\1B\\14sjra=a:/programa.jar\”,\”000:00:20\”);
No os olvidéis en el caso de java de poner doble barra (\\), pues la contrabarra (\) hay que introducirla con un comado de escape.
Bueno, ya está bajada la demo del Warhawk, justo a tiempo. Hasta otro rato
Post relacionados:
- Parámetro Autoexec de los módems Siemens / Cinterion Hoy voy a comentar por encima un parámetro importante...
- Localizando fallos difíciles de reproducir en los módems Cinterion TC65, XT65 Si desarrollas aplicaciones en Java para los módems gprs TC65,...
- Autoarranque de aplicaciones Java en módems Siemens Muy buenas. Hoy voy a poner un pequeño post relacionado con...
- Ejemplo FTP Java para módems Siemens Hoy pongo un brevísimo post con un nuevo ejemplo Java...
- Cómo obtener la hora con los terminales MTX y módems Siemens / Cinterion Llevo casi un mes sin escribir en blogElectronica. Y es...
Etiquetas: cinterion, tc63, tc65, xt65
Es valido esto del autoexec para el modelo de Siemens TC35iT?
Muchas gracias.
Yo estoy usando un tc65i y ejecuto el comando AT^SJRA = “A:/SMS.Jar”
Y el resultado es OK pero no sale nada mas e incluso se pierde la comunicación con el modulo y no sale ningún resultado mi pregunta seria si esta ejecutando el programa Java que incova o algo hace falta de configuración??
En Eclipse cuando lo ejecuto tambien termina y tampoco sale nigún resultado, y en otras veces sale un error que dice: Flash Files System esta llena?
Espero alguien me pueda apoyar en este problema
Muchas gracias.
Hola Abraham,
un poco es lo que te comentaba aquÃ, el puerto serie se reinicia cuando ejecutas desde USB.
http://www.blogelectronica.com/acerca-de/#comment-33026
Lo de Flash Files System … es que cuando está corriendo un programa en el módem no se puede acceder a él vÃa USB ni puertos serie. Cuando finalizas una aplicación debes hacerlo bien con AppDestroy(true) y notifyDestroyed(). Si haces eso no deberÃas obtener tal error.
Salu2.
Efectivamente ese era el problema por usar el puerte USB mis programas no terminaban correctamente.
Gracias por tu apoyo.
Estimados amigos del foro, espero que alguien todavía lea estos mensajes y me pueda apoyar un poco, veran Yo estoy intentando hacer una conexión FTP a un servidor local la cual solo tengo el usuario, password y la IP que se conecta con el puerto 21.
Intento hacer mi conexión de esta forma pero tengo algunas dudas.
at^sics=0,alphabet,1
at^sics=0,user, (aquí va mi usuario para conectarme al FTP??? o que usuario requiere?)
at^sics=0,passwd,(aquí va mi password para conectarme al FTP??? o que usuario requiere?)
at^sics=0,apn,(este dato no lo se entonces que puedo poner?? lo puedo ignorar?)
at^sics=0,dns1,0.0.0.0 (pongo puros ceros por que no lo conozco)
at^siss=0,srvType,ftp
at^siss=0,conId,0
at^siss=0,alphabet,1
at^siss=0,address,”ftpput://ftp://usuario:password (los mismos que en la configuración anterior?)@ftp.minombre.com/fich1.txt;type=a”
at^siso=0
at^siso=0
+CME ERROR: network is down
Alguien sabe por que este error? que me hace falta???
Y esto me regresa un error de
Hola Abraham,
siento el retraso de moderación de comentarios. Entiendo que ya lo has conseguido. Te faltan algunas cosas, como el “conType” a “GPRS0″ con el comando AT^SICS.
Salu2
Hola.
Mi consulta es sobre un problema que hemos notado en el TC65i, nos ha ocurrido en algunos casos que el Modem al ser alimentado no se registra nunca, se queda intentando registrarse y la única forma de sacarlo de ese estado es quitándole la alimentación, mientras esta intentando registrarse no ejecuta el java que bien tiene configurado su autoexe.
Si a alguno le ha ocurrido esta falla, espero su comentario.
Muchas Gracias.
Hola Javier,
ese fallo no es posible, y si te está ocurriendo, yo revisaría los esquemáticos, especialmente en lo relativo a la interfaz con las SIM. Revisa que tienes todos los condensadores recomendados con sus valores correspondientes.
Además, el no debes de arrancar el java desde el autoexec, sino con AT^SCFG=”Userware …”
Salu2!