Muy buenas. Hoy voy a poner un pequeño post relacionado con el autostart de aplicaciones para los módems de Siemens TC65, XT65 y los terminales TC65T, MTX65 y MTX65+G distribuidos por Matrix. Es algo conocido probablemente por la mayoría de vosotros, pero desde luego no lo es para quien se está iniciando, por lo que no está mal escribir unas líneas al respecto.

Si empiezas a trabajar con estos módems de Siemens/Cinterion, probablemente pasarás un tiempo leyendo un poco la documentación inicial, instalando el entorno de desarrollo y haciendo tus primeros pinitos en programación J2ME ( tal vez con algún ejemplo encontrado en Internet ;) ).

Llegará un momento en que tienes tu aplicación Java hecha y querrás que, cuando des alimentación al módem, automáticamente arranque la aplicación que hayas realizado, pues no tiene sentido, salvo por pruebas, arrancar siempre la aplicación con el comando AT^SJRA.

Para autoconfigurar el módem para que arranque automáticamente una aplicación se utiliza el comando AT^SCFG.   Si escribes un AT^SCFG?  verás multitud de datos de configuración. Abajo, casi al final, verás algo como:


^SCFG: “Userware/Autostart”,”1″
^SCFG: “Userware/Autostart/AppName”,”a:/HelloWorld.jar”
^SCFG: “Userware/Autostart/Delay”,”100″

Programación java Siemens

Estableciendo el valor de “Userware/Autostart” a 1, como en el ejemplo anterior, harás que al alimentar el módem se autoarranque automáticamente la aplicación con el nombre que especifiques en “Userware/Autostart/AppName”. En el caso anterior arrancará la aplicación “a:/HelloWorld.jar”.

Estoy intentando configurar los parámetros anteriores y me devuelve un error. ¿Qué pasa?

Probablemente no has especificado el password. Hay ciertos comandos, entre ellos estos, en los que puedes introducir un password para evitar que nadie los cambie (un password que puedes establecer en “Userware/Passwd” con este mismo comando AT^SCFG). Si no has especificado ningún password tadavía, el comando AT correcto para establecer el autostart es:

at^scfg=”Userware/Autostart”,”",”1″
at^scfg=”Userware/Autostart/AppName”,”",”a:/HelloWorld.jar”
at^scfg=”"Userware/Autostart/Delay”,”",”50″

es decir, fijáos en las dobles comillas vacías anteriores. Vacías porque no tenemos establecido ningún password.

Ahora ya no me da error. ¿Para qué es el Delay?

El delay permite establecer la pausa que existirá desde que el módem tiene alimentación hasta que se arranca la aplicación java especificada en “Autostart/AppName”. La pausa está en décimas de segundo, por lo que un valor de 50 equivale a 5 segundos.

Y para qué quiero una pausa, yo lo que quiero es que arranque inmediatamente. Pondré un 0.

Ok, así arrancarás la aplicación quasi-inmediatamente, pero ten en cuenta que en cuanto tengas una aplicación Java corriendo en el interior no podrás acceder al módem ni por los puertos serie ni por el puerto USB (ni con comandos AT ni con el MES). Es decir, si pones un 0 te va a costar mucho, por ejemplo, desactivar el autostart, pues la aplicación java interna tomará de inmediato el control de los puertos serie.

Argg, no te he hecho caso y he puesto el Delay a 0 y ahora no puedo de ninguna forma acceder al módem. ¿Me lo he cargado?

No :) . Ahora vas a tener que utilizar una aplicación de Siemens que encontrarás haciendo clic en botón “Inicio->Todos los programas->Siemens->(TC65 ó XT65 ….) -> Switch Autostart Off.

Ésta es una utilidad que pone el “Userware/Autostart” a cero. Es algo complicado, porque debes arrancar el módem e inmediatamente pulsar el botón del software para que en el breve instante que ocurre desde que arranca el módem hasta que se arranque la aplicación java del interior, el programita Switch Autostart Off le envíe un comando para que ponga el autostart a 0.  Te llevará unos cuantos minutos. No desesperes.

De todas formas si ves que tras unos minutos no puedes  dímelo y te envío un programilla que me hice yo en su día que básicamente es lo mismo que el de Siemens pero funciona algo más rápido. En este programa en cuanto pulsas el botón envío tramas  at^scfg=”Userware/Autostart”,”",”0″  a toda velocidad (no sólo una vez) por lo que es más fácil que el módem “cace” una trama.

Bueno, ya he conseguido desbloquearlo, que susto. Entonces, ¿debo poner siempre un delay?

Por lo menos durante la fase de desarrollo yo diría que sí. Si especificas un delay de 50, por ejemplo, desde que alimentas al módem tienes 5 segundos, tiempo de sobras, para enviar un at^scfg=”Userware/Autostart”,”",”0″   y desactivar el autostart.

Espero que encuentres este artículo de utilidad. Otro día más. ;)


Post relacionados:

  1. Ejemplo FTP Java para módems Siemens Hoy pongo un brevísimo post con un nuevo ejemplo Java...
  2. Añadir datos a ficheros con módems Siemens-Cinterion desde java En bastantes ocasiones me ha llegado la pregunta de cómo...
  3. Ejemplos Java para módems de Siemens A lo largo de los últimos meses he ido poniendo...
  4. Localizando fallos difíciles de reproducir en los módems Cinterion TC65, XT65 Si desarrollas aplicaciones en Java para los módems gprs TC65,...
  5. Java y Autobauding. Tal vez tenía que haber puesto un artículo como el...








Etiquetas: , , , , , , ,
34 Respuestas a “Autoarranque de aplicaciones Java en módems Siemens”
  1. joan dice:

    Tengo un dispositivo conectado via rs232 al TC65T que arranca con una aplicación Java. Si cuando enciendo el TC65 el dispositivo externo empieza a enviarle información inmediatamente a través del rs232, la aplicación java no arranca. La información que el dispositivo le envía no son comandos at.

    Si enciendo el TC65 y seguidamente lo conecto al dispositivo, entonces si que va bien.

    Igual poniendo el delay a 0 no daría tiempo a que el módem lea la información que le llega por el rs232 y evita que se cuelgue.
    Saludos y gracias

  2. joan dice:

    Más información sobre la consulta anterior. El delay ya lo tengo a 0.

    A parte una aclaración sobre Switch Autostart Off de Siemens.
    Para hacer el Switch Autostart Off con la utilidad de Siemens no hace falta encender el módem. Basta con conectarlo al puerto, y apagado ejecutar la utilidad.
    Yo mismo me pregunto como lo hace estando apagado pero después de darle al Autostart Off sale el mensaje Autostart successfully switched off y funciona, yo lo hago así siempre.

  3. blogElectronica dice:

    Hola Joan,

    ¿qué versión de firmware tiene tu módem (comando ATI)? La verdad es que nunca he probado la situación que planteas.

    Otra opción que tienes para lanzar la aplicación es unar el parámetro AUTOEXEC del AT^SCFG para lanzar un único comando AT (el at^sjra) por ejemplo a los x segundos de encenderse el módem.

    Con respecto a lo último que indicas, me sorprende muy mucho, lo probaré mañana, no te quepa duda. Ya te diré.

    Salu2

  4. joan dice:

    Gracias por la rápida respuesta.
    La versión del TC65 es la 2.0 y tanto el dispositivo como el módem trabajan a 115200.

  5. borja dice:

    Hola Jose,

    ¡Feliz año 2009!

    ¿Me podrías pasar el programilla que manda las tramas de desactivación del autostart más rápido que el de Siemens?, porque cuando tengo puesto el delay bajo la verdad que me cuesta desactivarlo bastante…

    Saludos,

    Borja

  6. miguel dice:

    Que tal
    Por favor ayudenme con lo siguiente, tengo equipos siemens 65G y 65C, funcionan sin problema por un tiempo pero de repente se quedan detenidos, incluso al aplicarle voltaje al modem, éste no responde, verifico la configuración mediante el comanto at^scfg?, y veo que se ha perdido la configuración de Autostart, me marca:
    ^SCFG: “Userware/Autostart”,”0″
    ^SCFG: “Userware/Autostart/AppName”,””
    ^SCFG: “Userware/Autostart/Delay”,”0″

    Se desconfiguro el equipo y aún no entiendo por que, ¿les ha pasado ha ustedes? ¿que debo hacer para que no pase?
    Gracias y por favor ayudenme.
    Saludos

    • blogElectronica dice:

      Hola Miguel,

      esto que me comentas jamás lo he visto en un XT65 ni en un TC65, y te aseguro que han pasado por mis manos muchísimos.

      Evitentemente no responde (entiendo que lo que quieres decir es que no arranca la aplicación) porque no está configurado el Userware/Autostart. Tendrás que volver a configurarlo. Si te vuelve a ocurrir con ese equipo tendrás que hacer un RMA con el fabricante, te aseguro que no es normal, no lo he visto nunca.

      Salu2.

      • miguel dice:

        Gracias por tu respuesta, las pruebas que he realizado es que por alguna razón, cuando el equipo recibe menos de 4 volts, y se queda así por más de dos días, comienza a reiniciar constantemente hasta llegar a un momento en que al aplicarle nuevamente los 12 volts, se queda detenido y por alguna razón se borra la configuración de “Autostart”, la versión de software que utilizamos es 2.8 y 3.0, aún no se si tiene que ver con que no correo bien alguna rutina del programa o incompatibilidad con la red celular GPRS (en este caso Telcel México).
        Si saben algo al respecto, les agradecere mucho que me digan por favor.
        Saludos y gracias nuevamente.

      • Richi dice:

        Hola Miguel:

        Cuando dices que tu equipo se para, entiendo que quieres decir que está funcionando la aplicación java continuamente y, de repente, la aplicación se para. A mí me está pasando lo mismo. La aplicación puede durar 20 minutos o 3 horas.

        Saludos. Richi.

  7. blogElectronica dice:

    Hola Miguel,

    me temo que desconozco el equipo que estás usando. Si me dices que estás usando la versión 2.8 y 3.0 es que estás utilizando un TC65, pero no con un TC65T (pq ahora sólo usa la 2.0), ni un MTX65 (porque no tiene versión 2.8) ni un MTX65+G.

    Tendrías que consultar al fabricante de tu hardware, que entiendo es un equipo que tiene un TC65 en su interior. Él te tendría que decir qué es lo que hace con el módem para que cuando recibe 4V se resetee la configuración.

    Salu2.

    • miguel dice:

      Gracias por el apoyo, ya lo estuve checando con nuestro proveedor y efectivamente y nos comento lo siguiente (para que estén enterados), el problema puede ser que alguna rutina del programa no se este ejecutando correctamente y por tal motivo se reinicia el el modem; y la otra es que la memoría flash pueda estar saturada y ocasionando algún conflicto por lo que al reiniciar el modem se eliminan los archivos de “autostart”. Sigo con el problema y al parecer ya se esta solucionando, les dire en que termina todo esto.

      Gracias y que tengan un excelente inicio de semana.

      Saludos.

  8. miguel dice:

    Disculpa la lata, pero una pregunta más, ¿alguien sabe para que se utiliza el siguiente parámetro: at^scfg=”Userware/Stdout”,”NULL”? he estado investigando pero no encuentro en los manuales para que se utiliza dicho parámetro.
    Gracias.
    Salu2

  9. Pua dice:

    Para no tener la salida stdout .

    no a ASC01, NO a ASC0, NO a USB, NO a Socket TCP solo a NULL

    so easy

  10. alguien me podria ayudar con un programa que al introducir la cantidad en segundos que nos diga cuanta semanas es, dia,

    si alguien me puede ayudar

    ayudenme por favor

  11. Pua dice:

    Gabriel,

    tienes un ejemplo en este blog de como fijar y calcular la hora. Con unas pocas modificaciones seguro que lo puedes adaptar a lo que estas pidiendo.

    Ya sabes, a buscar y a modificar

    Salu2

    Pua

  12. Fernando dice:

    No logro desactivar el autostart, ¿me puedes enviar tu aplicación? Gracias

  13. LLuis dice:

    Un comentario.
    No se pueden poner carácteres especiales en el nombre de la aplicación (p. e. “_”), si no se configura correctamente, pero al final no arranca.

    Saludos.

  14. Pua dice:

    Hola,

    La correlación entre el alfafeto ASCII de las computadoras y el alfato GSM no es parcial.

    Prueba a eliminar ese caracter o enviarlo como secuencia de escape a la GSM engine

    Salu2

    Pua

  15. Sophy dice:

    Hola!
    Soy principiante en esto y de verdad que el blog me ha sido de mucha utilidad! En algunas oportunidades he podido detener el inicio de la aplicación con el Autostartoff, sin embargo, ahora tengo un equipo con el que no me ha sido posible. ¿Me podrías enviar tu aplicación? Gracias!

  16. Juan dice:

    Hola, estoy desarrollando una aplicación y corre en el módem TC65i. El problema que tengo es que traté de configurar al autostart tanto como dice la documentación como en lo descrito en este blog pero el programa no arranca al alimentar el módem.

    AT^SCFG=”Userware/Autostart”,”",”1″
    AT^SCFG=”Userware/Autostart/Delay”,”",”80″
    AT^SCFG=”Userware/Autostart/AppName”,”",”a:/TC65i_AutoStart.jar”

    ¿Hay que configurar algún otro parámetro para que el autostart funcione? o ¿Los parámetros que tengo son incorrectos?

  17. Miguel dice:

    Estoy empezando con esto de los modem y esta página me está sirviendo de mucha utilidad.
    para ejecutar un programa automáticamente en el módem TC65, hice lo siguiente:
    AT^SCFG=”Userware/Autostart”,””,”1″
    AT^SCFG=”Userware/Autostart/Delay”,””,”50″
    AT^SCFG=”Userware/Autostart/AppName”,””,”a:/ejemplo.jar”

    Usaba el MES y no me generaba el fichero que yo pretendía, entonces desactivé la ejecución automática del programa:
    AT^SCFG=”Userware/Autostart”,”",”0″

    ahora intento acceder al modem a través del HyperTerminal y no se conecta ¿Qué me está pasando?

    Un saludo y gracias por todo.

  18. Miguel dice:

    Después de mucho probar ya puedo acceder de nuevo al modem a través del HyperTerminal y puedo activar/desactivar la ejecución automática,

    he visto los vídeos que has subido sobre montaje y configuración del entorno de desarrollo, he instalado todo tal y como dice la guía, pero me da el siguiente fallo:

    Download aborted, because of:
    Flash Files System of the module is full or
    communication problem to the module or
    Module is switched off

    otra pregunta: ¿el cable USB es imprescindible para depurar? yo tengo un TC65 y no trae el hueco con el USB.

    Un saludo.

    • blogElectronica dice:

      Perdona el retraso Miguel, pero he estado hasta la bandera estos días.
      No sé si lo habrás conseguido o no, pero para depurar yo siempre he usado el puerto USB, con el puerto USB se puede debugar, algo lento, pero bastante bien.

      Por el puerto RS232 también pero creo que es algo más complicado. En la conexión de red “remote for debuggin …” asegúrate de asociarla al COM adecuado (lo mismo que lo harías asociando al módem USB en caso de que tuvieras USB).

      Otra opción con truco: Desmonta un TC65T, fíjate bien en la placa base y únicamente sueldale el conector USB (si, en el único sitio donde puede ir soldado, un conector de esos USB cuadrados grande típicos de impresora)). Obviamente la carcasa no tiene el agujero para USB, pero puedes debugar sin caja para las pruebas que quieras hacer por USB.

      Salu2.

  19. cesar dice:

    Buenas, otra vez, vengo con pequeños problemas.

    El blog, como siempre, fantástico.

    Estoy usando un TC65 con el que envio y leo de FTP sin problemas.

    Ahora bien, necesito leer un dispositivo que manda un archivo txt plano cuando recibe un pico de tensión en el DTR. Tengo puesto el pin 8 del módulo Cinterión a dicho pin, ya que cuando abro el puerto, dá un pico de 5.60 en dicho pin y activa el dispositivo…..

    Hasta ahí bien, pero luego intento leer los datos uniendo el pin de datos del dispositivo con el pin 2 del Cinterión (Rx), para lo que uso las rutinas citadas en los ejemplos de este blog. (com0.open……..).

    Bien, pues si los datos los mando con el ordenada al Cinterión ( modo consola ), los lee sin problemas, pero si los leo del dispositivo, nada de nada. Se queda esperando y, si alguna vez lee algo, lo lee mal, como si la velocidad no fuera la adecuada….

    Todos los parámetros de baudios, paridad, etccc… los tengo bien, ya que llevo años leyendo esos dispositivos con PDA’s, Portátiles y demás, y nunca he tenido problemas.

    Para vuestra información, el Pc lee perfectamente el dispositivo que conecto al Cinterión…

    ¿ Qué puede ser ?… Me tiene loco……. Urgenteeeee!!!

    Muchas gracias.

  20. felixxuco dice:

    Hola a todos,
    El año pasado compré un MTX-IND y me ha funcionado bien, hasta hoy que no me inicia la aplicacion automaticamente.

    Le configuro como siempre el nombre de la aplicación, el delay a 300 y el autostart a 1.
    Quito alimentación le vuelvo a dar y nada.. ya puede estar una hora que no arranca.

    Sin embargo si fuerzo la ejecución de la aplicación si que la ejecuta, por lo que entiendo que la aplicación está bien.

    todo esto ha sido a raiz de mandarle una configuracion de delay a 600 que por el hyperterminal me devolvió error fatal y codigos alfanuméricos.

    El resto del equipo parece que funciona bien, pero como digo, no se inicia automáticamente.

    A que puede ser debido?? Hay algun parámetro mas que se me puede haber desconfigurado? Tiene solución?

    Gracias!!

    • blogElectronica dice:

      Hola Felixucco,

      tenia tu comentario en la carpeta spam. a demás creo que ya lo hemos hablado por email o por teléfono, pero pongo la respuesta aquí por si puede ser de utilidad a algún compañero.

      El nombre de la aplicación NO DEBE tener el caracter “_” porque no arrancará automáticamente la aplicación.

      Salu2!!!

  21.  
Deja una Respuesta

Puedes publicar un comentario aquí si quieres, pero te recomiendo que uses el nuevo foroElectronica.com para introducir comentarios. Te contestaré más rápido. Recuerda que debes registrarte si no lo estás para publicar un comentario.