The Siemens TC65 modem’s version 3.0 firmware came out not long ago. This version has a number of very interesting improvements compared to its predecessor version 2.0 (there was also an intermediate version 2.8 but it didn’t last long).

In the new Siemens TC65 gprs modem’s version 3.0 firmware, the main thing is that it has Java classes to implement watchdog and control GPIOs. The TC65 remains the same, there aren’t any hardware changes which means you can update the module’s firmware from version 2.0 to version 3.0 but be careful because the change is irreversible.

Watchdog-siemens-tc65

Out of all of the new version’s main features, today we will look at how to use the one that’s most interesting to me, which is Java’s Watchdog class. The module has watchdog hardware, but with this new version 3.0 Siemens provides the necessary Java classes to control it.

The first thing that we have to do is activate it with the command AT^SCFG. If you use the command AT^SCFG you will see a new watchdog user option appears which is deactivated by default. We will be able to configure watchdog as disabled but enabled for rebooting i.e. if it appears it will restart the module (if autostart is 1, our application will restart) or enabled for shutdown. So if watchdog appears the modem will be turned off.

Then we will only have to import the Watchdog class into the software at the beginning of the program:

import com.siemens.icm.misc.Watchdog;

We will activate the start of the watchdog program using a static class in the following way:

Watchdog.start(15);

We activate the system with this so that if it’s not refreshed in 15 seconds, Watchdog does it. We can configure watchdog so that it’s deactivated (value 0) or activated where you can set a value between 10 and 300 or rather between 10 seconds and 5 minutes.

To refresh Watchdog simply put:

Watchdog.kick()

Put this at any strategic point in the program where it runs at least once during the configured Watchdog period.

Important Considerations 

  1. You can update the TC65’s version 2.0 to 3.0 but it’s irreversible.
  2. You must use a new SDK i.e. you have to use the new version of Eclipse, ME plug-in and SMTK. There’s no point using version 2.0.
  3. This applies to the TC65 module and TC65T Terminal as well as the (boxed) terminal modems that they mount e.g. the MTX65 distributed by Matrix can be updated to the new version 3.0.
  4. Although the TC65 now has Watchdog, there’s no excuse for the other programs to not continue doing well!!! :-)

Well I hope that you found this article interesting and it helped you. See you next time. ;-)  

Update: You can now update to version 3.0 on the TC65 module as well as the TC65T module.

 


Post relacionados:

  1. (Español) Nuevo módem GPRS teminal MTX65 basado en el módem Siemens TC65 Sorry, this entry is only available in Español. FacebookTwitter...
  2. GPRS Siemens Modem. Managing a TCP/IP Connection with Java In my last post we saw how to use a...
  3. (Español) Modems GSM/GPRS. (II) – Modem Siemens TC65 Sorry, this entry is only available in Español. FacebookTwitter...
  4. (Español) Ejemplos Java para módems de Siemens Over the last few months I have been getting a...
  5. (Español) Nuevo firmware v2.0 para los módems Siemens / Cinterion XT65 y MTX65+G Sorry, this entry is only available in Español. FacebookTwitter...








41 Responses to “How to use Watchdog in the Siemens TC65 GPRS Modem”
  1. gme says:

    Hola!

    Gracias por toda la información!

    Estoy implementando un circuito de carga de bateria en un módulo TC65. Pero, no se que me pasa, la bateria no se llena. El módulo, funcionando solo con la bateria, me manda mensajes erroneos.

    Se que no puedes resolver mi problema solo con esa información, pero me podrias ayudar explicandome que es la intensidad que se puede fijar con el comando “AT^SBC”. Supongo que mi problema esta relacionado con eso.

    Gracias por su ayuda,

    saludos,

    gme

  2. Pua says:

    hola,

    EL algoritmo de la bateria acaba por si solo pasado un tiempo.
    He encontrad ocasos como el que describes. Generalmente lo que pasa es que el consumo de tu placa, unido al del módulo hacen que la bataria nunca está llena. Hay un comando para regular esto, no l orecuerdo haora, estoy de vacaciones y n otengo la documentación disponible. También dispones de una resistencia en el circuito recomendado para calcular su valor y adecuarlo.
    Ten cuidad oco nals batarias que no todas cumplen con los parametso que dicen, comprueba el valor de la NTC, y que la bateria esté en los rangos que puede gestionar el algoritmo del módulo.
    no se me ocurre nada mas

    Salu2

    Pua

  3. Fran says:

    Hola,

    Estoy interesado en la actualización del firmware en un terminal TC65, precisamente por el tema del Watchdog que me parece muy interesante (como última medida en caso que la aplicación Java se muera). Escribes en el punto 3 del apartado de “Consideraciones importantes” que el terminal tc65 no se puede actualizar el firmware. Me lo podrías confirmar. Yo he buscado y no he visto ningún sitio que indique que no se puede actualizar el TC65T de la versión 2.0 a la 2.8 y/o de la 2.8 a la 3.0.
    Muchas gracias por tu ayuda por adelantado y, como ya dije en algún otro comentario que dejé en otro artículo, me parece un sitio muy bueno para encontrar/intercambiar información sobre estos equipos.
    Saludos
    Fran

  4. Pua says:

    hola,

    La versión 3.0 del TC65 vale tanto para el módulo como para el terminal. Siemens no saca versiones diferentes para cada plataforma.

    Puedes actualizar a la versión 3.0 tu TC65 Terminal, solo si este es una versión 2.0 ó 2.80

    Salu2

    Pua

  5. Pua says:

    hola BlogElectronica,

    Todos nos podemos equivocar, intenta no exponer algo que no es correcto o de lo que no estás completamente seguro.

    Salu2

    Pua

  6. blogElectronica says:

    Hola Pua,

    tienes razón, entono el mea culpa, el TC65T también puede actualizarse a la versión 3.0 igual que el TC65. Ya está modificado el post.

    Gracias !!!

    Salu2.

  7. Fran says:

    Hola,

    Estos días he actualizado el TC65 terminal con la versión de firmware 3.0 y todo Ok. Hemos recompilado nuestra aplicación Java con el SDK de la 3.0 y utilizando la clase Watchdog y funciona bien en principio (hasta que no se demuestre lo contrario :-) .

    Saludos

  8. Fran says:

    Hola,

    Por cierto, en algún video tuyo en el que aparecía un terminal TC65 lo conectabas también con USB. Tienes información de como añadir un puerto USB al terminal TC65. Nos sería muy útil a la hora de debugar aplicaciones.

    Gracias por adelantado.

    Saludos

  9. oja says:

    Hi, your blog is cool, but i don’t speek Espaniol :(
    Today, I must reflash TC65 with 3.0 firmware, because TC65 going down sometime (totaly off) without any reason (exception in java – application is ok)

    I have 4 TC65 with 24H connection to a server and 2 TC65 has problem. Location is different.

    Does somebody know about it?

    Oja

  10. gme says:

    Hola todos!

    Gracias Pua por tu respuesta! Era en echo un problema de transistor. El que habia puesto no era adaptado al circuito.
    Pero ahora tengo un otro problema. Estoy diseñando una placa de pruebas con una bateria que cumple todos los parametros que nos dan. Todo funciona hasta que lanze una conexión GSM. Ya, me cuesta un montón para conectarme, porque el módulo me responde “NO DIALTONE”. Cuando la conexión esta abierta, la placa manda un montón de bytes parasitos al otro lado.

    Entonces, hice una prueba con una fuente de tensión. Dando una tensión de 3,7V entre el BATT+ y la masa, todo funciona. Pero si bajo un poco esa tensión, los bytes parasitos aparecen. Pensé que podria venir del MAX232 en caso que necesite una tensión más elevada, pero dudo.

    No lo entiendo porque mi bateria da una tensión superior a 3,7V. Pues, si alguien tiene una idea, que me la comunique por favor.

    Saludos a todos, buen fin de semana

  11. Fran says:

    Hola,

    Para aquellos que querais querer una clase Watchdog y no querais o no podais actualizar el firmware a la 3.0 podeis construiros una clase sencilla que haga esta tarea. Para ello, la idea es utilizar el comando AT^SCFG=”AutoExec”. Aquí, se puede indicar que periódicamente se ejecute un comando AT (el que nosotros le indiquemos en uno de los parámetros). Así, si queremos que el equipo se reinicie le indicaremos el comando AT+CFUN=1,1 por ejemplo. El método kick() de nuestra clase, simplemente volverá a ejecutar el comando de configuración para reiniciar el temporizador. Ejemplo: Queremos que, en caso de que el programa se cuelgue, o aborte por una excepción no controlada, el equipo se reinicie al cabo de 10 minutos. Nuestro método kick() deberá ejecutar por ejemplo, el siguiente comando:

    AT^SCFG=”AutoExec”,1,1,2,5,”AT+CFUN=0,1″,”000:10:00″

    NOTA: Ojo, si no si no cambiais esta configuración, el equipo se reiniciará automáticamente cada 10 minutos.

    Saludos

  12. Fran says:

    Hi Oja,
    If your TC65 is going down sometime and you don’t know the reason why and you need it always on, you can implement an easy circuit that creates a pulse from time to time (oscillator, timer 555, etc), to the ignition line. In this way, if the device is going down, the ignition line will put it on again.
    But, first of all, you must investigate a little bit more to know the reason why your device is going down (log everything to a file or to a rms database file,etc). This circuit can help, but maybe it is not the best solution. Use it just in case you don’t know what else you can do.
    P.S.: In some cases, the DTR signal can put your device off. Look for any bridge between DTR and DSR for example. After ignition of the equipment there is a transitory, indeterminate state of this signals. If this bridge is not necessary, cut it off.
    hope it helps.
    bye.

  13. blogElectronica says:

    Hola Fran,

    una muy original manera de implentar un watchdog. La verdad que sí. Sólo un detalle, ojo con poner un nº muy bajo en el autoexec y que se tenga que ir grabando el comando muy frecuentemente, pues la flash tiene un nº finito de escrituras, aunque muy elevado. Supongo que hablando de un watchdog de 10m, no hay problema.

    Gracias por compartir tu idea!

    Salu2

  14. CYBER says:

    Hola,

    Primero 1000 disculpas porque aunque voy a preguntar sobre el TC65, no es sobre el tema que aquí se debe discutir. Y segundo felicitarte por esta página tan buena porque me ha ayudado mucho en mis tareas sobre el TC65.

    Mi pregunta es sobre UDP con el TC65. ¿Has hecho algún ejemplo? Yo estoy intentando uno sin éxito aún, pero no me preocupa eso. Lo que me preocupa es si voy a poder mantener un “Socket” UDP abierto por tiempo prolongado.

    Mi inquietud es esta porque algunos compañeros de clase estan trabajando con otros modulos (porque el proefesor nos los asigno diferentes módulos para el proyecto por equipos), por ejemplo unos de marca Sony-Ericsson (GR68 o algo así), y ellos ya se conectan a su servidor usando UDP, pero si dejan de transmitir por más de un minuto les sucede que los paquetes enviados por el servidor ya no son recividos por el cliente, mientras que los paquetes que envía el cliente si son recibidos por el servidor :S.
    ¿Esto me va a suceder a mi también con el TC65?
    ¿Te es familiar este comportamiento, será algín detalle de la red celular?

    Espero tu respuesta,
    Saludos

  15. blogElectronica says:

    Hola Cyber,

    como dices, por favor, intentar que en cada post tenga relación con el tema tratado …

    Sólo decirte que Sony-Ericsson como tal ya no existe porque fue comprado por Wavecom. Esto no te va a suceder con un TC65, y dudo de que sea de la red GSM, me huele más a algún problema con la pila TCP/IP del Sony. Has tenido suerte, estás en el equipo ganador, para mi los módems de Siemens son superiores a Sony-Ericcson (Wavecom).

    Salu2.

  16. CYBER says:

    Muchas gracias por tu respuesta, (y desculpen todos por el cambio de tema) y solo por ultimo me gustaría saber si cabe la posibilidad de que trates el tema de UDP con el TC65 y algunos ejemplos?

    Saludos

  17. Oja says:

    Hello Fran,

    I wrote some replays more than twice, but my replays are lost. I have bad karma ;)

    Problem with autooff – maybe AT^SCFG=MEShutdown/OnIgnition,on is problem with DTR or IGT signal.
    New problem with 3.0 firmware – OTAP is dead :(

    Oja

    • Richi says:

      Hi Oja:
      I have the same problem. I have 4 XT65 release 1 with the same software, configuration and situation and sametimes one is working fine 20 minutes or 3 hours. I don´t know why. Sometimes one device is working fine 3 hours and the next time it is working only 20 minutes before it is stopped without warning or error messages.

      Are you saying that the problem is resolved with release 3 of firmware?

      Thanks. Richi

  18. blogElectronica says:

    Hola Cyber,
    intentaré ponerlo, pero no puede ser en los próximos días.

    Salu2.

  19. Estragón says:

    Tengo una pregunta. ¿Se ha actualizado también el módulo XT65 para la incorporación del Watchdog.

    Gracias y un saludo.

  20. blogElectronica says:

    Hola Estragón,

    no, por ahora no. En cuanto tenga alguna noticia no dudes que lo publicaré en el blog, pero por ahora no sé si se va a incorporar en un futuro o no.

    Salu2.

  21. Pua says:

    hola,

    Parece ser que si será integrada la clase wacthdog en el firmware 2.xxx del XT65/75

    Salu2

    Pua

  22. JoseEB says:

    Buenas BlogElectronica!

    Queria preguntarte una cosa sobre el tc65. Tengo una aplicacion corriendo sobre él, y a veces y de manera aleatoria aparece el ^sysstart, sin ningun AT+CFUN=1,1 ni nada. Ni siquiera muestra un ^shutdown ni nada. Un absoluto misterio, al menos para mi.

    ¿Cuales podrian ser las causas de un apagado de este tipo? llevo un objeto runtime con el que voy comprobando la memoria y se me ha reiniciado a veces con 75kb libres, otras veces con 200kb, con lo que en principio no parece ser ese tema.

    A ver si puedes echarme una mano que estoy desesperado jeje.

    Jose Escobar

  23. blogElectronica says:

    Hola Jose,

    con tanto tiempo ya he visto muchas cosas, pero que el equipo se apague sin enviar ningún URC no lo he visto a menos que se le corte la alimentación de forma fulminante (sino daría un URC undervoltage).

    Entiendo que no utilizas un terminal sino un módulo. Yo monitorizaría, si puedes con un osciloscopio, la alimentación de éste último, no vaya a ser que no esté bien dimensionada la fuente y en lugares de baja cobertura, donde el módulo va a consumir más potencia se caiga el sistema. Mira también la alimentación del módulo con AT^SBV (creo que era este) en el momento antes del reinicio misterioso.

    Salu2

  24. jose Grande says:

    Hola, no veo ningun post sobre como usar la api de las GPIO que incorpora el nuevo Firmware, y no tengo ni idea de como utilizarla. Agradecería mucho un poco de luz sobre este tema. Muchas gracias..

  25. blogElectronica says:

    Muy buenas Jose A.

    la verdad es que no tengo ninguno. A ver si saco un poco de tiempo y pongo alguno dentro de poco. Por ahora sigo funcionando con los AT de toda la vida.

    Salu2.

  26. JQ says:

    hi there,

    The activation of the watchdog function (by at^scfg=watchdog,1) presumes always the use of java library watchdog.kick()??? i.e. is always controlled by software????

    In case of yes, if my modem TC65T autoshutdown for no reason – with unexpectederror (my modem must be always on) the watchdog doesn’t do anything……….. bahhhhhhh……….

  27. blogElectronica says:

    Hi JQ,

    You can use the MTX65v3 to solve your problem. MTX65 is always on.

    But if you want to use your TC65T, set the modem with:

    AT^SCFG=”MEShutdown/OnIgnition”,”off”

    and connect pin 20 with pin 12, your TC65T will be always on.

    Best regards.

    • Richi says:

      Hi blogElectronica:

      Are you saying that there is firmware release 3 for the XT65 device? I think there is only release 2 for the XT65 device.

      Thanks.

      • blogElectronica says:

        Hola Richi,

        no hablo del XT65, hablo del MTX65 que tiene un TC65 en su interior, no un XT65. El TC65 llega hasta la versión 3, el XT65 hasta la 2.

        Salu2

  28. Ulises says:

    Buenas, en primer lugar quiero felicitar a la gente que hace esta pagina por que es excelente!!!
    Estoy teniendo problemas en mi aplicacion java, ya que en un determinado momento, aleatoriamente, me lanza el mensaje ^SHUTDOW ^EXIT y no puedo encontrar el problema. Estoy usando un TC65 con la version de fw 3.0.
    Quiero saber si hay alguna forma de configurar el comando Autoexec para que el modulo se resetee automaticamente despues que me largue esta excepcion. Probe el ejemplo del Watchdog que publicaste, y en el momento que debe resetear la aplicacion me larga el ^SHUTDOWN y no se resetea.Configure el comando ^SCFG: “Userware/Watchdog”,”1″. Que estoy haciendo mal? Muchas Gracias.

    • blogElectronica says:

      Hola Ulises,

      esos códigos de EXIT normalmente se dan por problemas con la memoria de tu aplicación. Revisa cuanta memoria flash y ram tienes disponible antes del shutdown. No apagues el módem tampoco a capón, es decir, de forma habitual quitándole la alimentación, apaga el módem con el comando disponible para ello, el AT^SMSO.

      La excepción es a nivel de módulo, nada tiene que ver con java, es decir, nada tiene que ver con el watchdog. Puedes configuar con el pin de IGN (no recuerdo si dejándolo a 0 o a 1) para que tras el shutdown siempre se reinicie el módem. Por ejemplo el MTX65 está hecho así. Se garantiza siempre que el equipo va a estar encendido.

      Salu2.

      Salu2.

      • Ulises says:

        Muchas Gracias por tu ayuda!!
        Otra de mis dudas es si, una vez corriendo mi aplicacion, puedo enviar datos por el puerto USB y la aplicacion que este escuchando en ese puerto? como si utilizara un tx y un rx de un puerto serie? De ser asi, como tendria que configurarlo desde java?

        Saludos.

  29. Pua says:

    hola,

    Desde Java el USB solo puede ser usado como sytemout, no es un puerto bidirecional.

    Salu2

    Pua

    • Ulises says:

      Gracias Blog por toda tu ayuda, me esta sirviendo mucho.
      Te comento que me esta ocurriendo algo extraño en mi aplicacion, muy aleatoriamente me esta lanzando lo siguiente:
      [Application Finished]

      ^SIS: 1, 0, 13, “The network is unavailable”
      ^SISW: 1, 2
      ^SHUTDOWN

      Yo al comiezo de mi aplicacion, abro un socket , envio y escribo datos en el, para ello utilizo los comandos AT para configurar el Service Profile y el Conection Profile. No se cual puede ser la causa de este error.
      Muchas Gracias!
      Saludos

      • blogElectronica says:

        Hola Ulises,

        dices que te ocurre muy aleatóricamente. ¿Has probado con otro operador? ¿has comprobado la cobertura con AT+CSQ? ¿Has comprobado si estás registrado con AT+COPS? ¿has comprobado cuanta memoria ram y flash te queda disponible?

        Salu2

  30. Luciano says:

    Buen dia queria hacer una consulta sobre el TC65, la verdad no sabia bien donde postearla, porque no es relativa al watchdog, pero es lo mas similar que encontre.

    MI CONSULTA ES LA SIGUIENTE:

    Hay alguna forma de prender y apagar el modem? ya sea por software, o por SMS?

    no hable de reiniciar, sino de Apagar y Prender.

    gracias! saludos!

    • blogElectronica says:

      Hola Luciano,

      si quieres apagar el módulo usa el comando AT^SMSO
      Si quieres encender el módem deberás generar un pulso de 400ms en el pin de IGT o usar el comando AT+CALA para generar una alarma que “prenda” el módem al cabo de x segundos.

      Salu2.

  31. Joao says:

    Hola, buen artigo!

    Tengo una duda:

    Yo quiero implementar el watchdog para que cuando mi aplicacion Java se para por alguna razón, yo pueda reempezarla, pero no quiero con esto limitar la possibilidad de hacer OTAP.

    Otra solucion para mi problema seria si hubiera una forma de reempezar la aplicacion Java por SMS, sin tener que hacer download de un servidor.

  32. blogElectronica says:

    Hola Joao,

    no, no es posible enviar la aplicación por SMS (al menos no por OTAP). Hombre, ahora no te sabría decir si cuando se recibe el OTAP se desactiva el Watchdog de la aplicación, pero si estableces un tiempo de watchdog de 300 segundos (5 minutos) no tendrías que tener problemas. Yo siempre uso ese tiempo de watchdog y jamás he tenido problemas con el OTAP.

    Otra solución es enviar un SMS tuyo propio y tratarlo tu en ru propia aplicación para iniciar el OTAP desde la propia aplicación java (comando AT^SJOTAP). De esa manera si recibes ese SMS puedes desactivar el watchdog y lanzar el AT^SJOTAP.

    Salu2.

  33.  
Leave a Reply

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.