Utilización de OTAP en los módems Siemens TC65, XT65 y MTX65
Escrito por blogElectronica en 2.DISPOSITIVOS (práctico), Comunic. GSM/GPRSNo todos los modems del mercado disponen de la funcionalidad OTAP (Over The Air Provisioning). Modems como los Siemens TC65, XT65 o MTX65 (distribuidos en España por Matrix Electrónica) sí disponen de esta característica especial. Esta es una función muy importante que nos permitirá actualizar el firmware de nuestro modem mediante GPRS o mediante una conexión de datos CSD.
Imáginemonos una situación real. Imaginémonos que tenemos 500 modems distribuidos por todo el país con una aplicación embebida en su interior. Llega un día en el que queremos actulizar el firmware, bien porque es necesario introducir nuevas funcionalidades, bien porque hemos detectado un fallo en el firmware que hemos desarrollado y debemos reprogramar todos los equipos. Si estos equipos no pueden ser reprogramados a distancia, el coste de la reprogramación será enorme pues será necesario desplazar a técnicos a cada ubicación para realizar dicho proceso in situ. Modems como los comentados anteriormente de Siemens sí contemplan estas situaciones y es posible reprogramarlos a través de un simple proceso llamado OTAP.
¿Y qué se puede hacer mediante OTAP?
OTAP es un mecanismo que nos permite instalar, actualizar y borrar nuestras aplicaciones embebidas java a través de GPRS o CSD. Esta funcionalidad puede ser controlada vía comandos AT o bien a través de mensajes SMS. En ambos casos necesitaremos contar con un servidor HTTP, donde alojaremos nuestros ficheros.
¿Cómo actualizar el firmware mediante OTAP y comandos AT?
El comando AT que hay que utilizar es el propietario de Siemens AT^SJOTAP. Podría explicar cada parámetro pero para eso ya tenéis la documentación aquí, por lo que es mejor que le deis un vistazo . Lo mejor que puedo hacer yo aquí es poner un ejemplo real y que funcione, para que lo podáis probar vosotros.
Para cargar un programa en un módem TC65, XT65 o MTX65 basta, primero, con enviar este comando AT:
AT^SJOTAP=”blogElectronica”,
“http://www.blogelectronica.com/TEMP/HelloWorld.jad”, “a:”,,,”gprs”,”airtelnet.es”,”vodafone”,”vodafone”,”080.058.000.033″,
Después, una vez configurado el OTAP, lo ejecutamos. Para ello enviamos el comando AT (el mismo que antes pero sin parámetros):
AT^SJOTAP
Y si queremos ver lo que está pasando, os recomiendo que inmediatamente, tras ejecutar el comando anterior, ejecutéis el comando AT:
AT^SCFG=Trace/Syslog/OTAP,1
De esta manera podremos ver (a través de datos enviados por el puerto serie) un LOG de lo que está sucediendo. Así sabremos si está funcionando bien o mal.
Aquí tenéis una captura de pantalla del hyperterminal, donde podéis ver que todo ha ido bien:
¿Cómo actualizar el firmware mediante OTAP y SMS?
El proceso también puede iniciarse a través de SMS, es decir, podemos enviar un mensaje SMS a nuestro módem para que inicie la actualización de firmware. También es posible eliminar ficheros.
Para subir un programa básicamente hay que enviar un mensaje SMS con una serie de datos, no todos son obligatorios, (consultar el manual) después de configurar el modem con el parámetro AT^SJOTAP :
OTAP_IMPGN
PWD:blogElectronica
JADURL:http://www.blogElectronica.com/TEMP/HelloWorld.jad
APPDIR:a:
BEARER:gprs
APNORNUM:airtelnet.es
NETUSER:vodafone
NETPWD:vodafone
START:install
No olvidar incluir un LF, es decir, un \n, o lo que es lo mismo, un final de línea en cada línea de los parámetros, incluída la última. El mensaje SMS tiene que estar codificado en PDU. Tener en cuenta que el parámetro PWD, que en el ejemplo es “blogElectronica”, es un password que debe estar siempre en el mensaje SMS y que debe coincidir, lógicamente, pues está para eso, con el configurado en el comando AT^SJOTAP.
Por supuesto, también resulta útil para las pruebas con SMS ejecutar el comando AT:
AT^SCFG=Trace/Syslog/OTAP,1
como hicimos en el caso anterior.
No funciona con mi modem Siemens TC65. ¿Qué puede pasar?
Después de mirar el PIN de la SIM, la cobertura GPRS, mira qué versión de firmware tienes. Para ello ejecuta el comando ATI. Comprueba que la versión de firmware del equipo. El TC65 tiene que tener como mínimo la versión 2.0, que es una versión de hace ya más de un año. Con el XT65 (versión con GPS) y el MTX65 no hay problemas de versiones.
Me funciona el ejemplo de blogElectronica, pero no con mi programa ¿Qué puede pasar?
¿Está puesto dentro del JAD la ruta URL correcta al fichero JAR? ¿Tengo los parámetros MIDlet-Name, MIDlet-Version, MIDlet-Vendor especificados dentro del JAD? ¿Es correcto el tamaño del fichero JAR que está especificado en el parámetro MIDlet-Jar-Size del fichero JAD?
Espero que encontréis de utilidad este post.
Post relacionados:
- Otap for Cinterion modems. TC65, TC65i, XT65, TC65T, MTX65 Hace ya mucho tiempo que tengo la plataforma OTAP activa....
- Nuevo firmware v2.0 para los módems Siemens / Cinterion XT65 y MTX65+G Desde la semana pasada está disponible el nuevo firmware del...
- Localizando fallos difíciles de reproducir en los módems Cinterion TC65, XT65 Si desarrollas aplicaciones en Java para los módems gprs TC65,...
- Plataforma OTAP para módems gprs Siemens – Cinterion Hace tiempo que no escribo en el blog. Han sido...
- Memoria Ram y Flash de los módems TC65 y XT65 Últimamente me han preguntado bastante en relación a la memoria...
La verdad que son muy interesantes los articulos que estás publicando sobre estos módulos siemens!!!
Hola Pablo,
muchas gracias. Me alegra que te guste mi blog.
Muy interesante. Ahora estoy trabajando con el XT65 y me parece un dispositivo muy versátil para comunicaciones móviles. Llevo horas buscando por la documentación qué comando era el necesario para configurar el password, pero no me quedaba nada claro. Ahora, gracias a tu blog ya se que es con AT^SJOTAP. Yo pensaba que el campo lo comprobaba que fuese correcto con otro comando anterior que hubiese introducido el password, pero veo que no.
Muchas gracias por tu blog.
Hola Pedro,
gracias a ti por tus comentarios y bienvenido a blogElectronica.
Hi All !!!
Can anyone please post a working example of NOTIFYURL for tc65. I have been trying for last whole week but it is not working. I dont receive any notification from tc65 about OTAP. Here are my sms messages:
[ ¿Puede alguien por favor enviar un ejemplo de trabajo de NOTIFYURL de TC65. He estado intentando durante toda la semana pasado, pero no está funcionando. Yo no recibió ninguna notificación de TC65 sobre OTAP. Aquí están mis mensajes sms: ]
OTAP_IMPNG\n
PWD:\n
APNORNUM:services.telenor.se\n
JADURL:http://url.com/mid.jad\n
BEARER:gprs\n
OTAP_IMPNG\n
PWD:\n
NOTIFYURL:http://url.com/test.php\n
START:install\
test.php is as follows:
$req_dump = print_r($_REQUEST, TRUE);
$fp = fopen(‘log.txt’, ‘a’);
$req_dump = $req_dump . “\r\n”;
fwrite($fp, $req_dump);
while (list($var,$value) = each ($_SERVER)) {
$temp = “$var => $value \r\n”;
fwrite($fp, $temp);
}
Thank you very much !!!
Muchas gracias
Hola !!
Muy interesante el articulo ! No tienes algo de info un poco mas detallada para manipular el modulo TC65 con SMS ? No encuentro mucho al respecto ! Gracias de antemano!!
Hola Guillermo,
A qué te refieres Guillermo, a la gestión de SMS (envío y recepción) o al OTAP por SMS.
( P.D. Si es posible las dudas técnicas mejor por http://www.forumElectronica.com )
jejeje perdón , si estoy corriendo antes de aprender a caminar . Me refería al envío de SMS , lo quiero emplear como una forma de actualizar el software del TC65 utilizando el OTAP . OK en forumElectronica
Hola!
Muy bueno el artículo. Estoy trabajando con un TC65, el otap me funciona bien mediante comandos AT, pero no logro hacerlo funcionar con mensajes SMS. La información que pude conseguir no es de mucha ayuda…alguna sugerencia?
Muchas gracias!
Hola. De donde puedo conseguir la version del firmware Version 2 del modulo de siemens TC65T, ya que estoy con la version 1.4. Desde ya muchas gracias. Los felicito por Blog.
Hola Gabriel,
no se puede hacer un upgrade de firmware de la versión 1.4 a la 2.0, pues en esa nueva versión se´realizaron también cambios de hardware. Tendrás que comprar uno a tu distribuidor con la versión 2.0
Salu2.
Gracias por contestar. Solde el puerto USB a mi TC65T sabes como va la disposicion de los pines el la placa base. Ya que lo probe y el windows no me lo reconoce. Ni siquiera lo detecta como nuevo Hardware.
Hola Gabriel,
no sueldes directamente un cable USB al módulo. Puedes soldar un conector USB directamente al PCB del TC65T, si te fijas bien. Pero ojo, que perderás la garantía. Si no te es imprescindible, usa el puerto serie.
Saludos.
Primero que toso quisiera felicitarlos por su pagina web que es muy practica y facil de asimilar los conceptos. Mire algunas paginas y excelente.
Me pueden decir que precio de Módulo Siemens TC65 en dolares por favor. Gracias.
Hernando Vanegas
Ing. Electronico
Hola Hernando,
primero darte las grácias, me alegra que te guste mi blog.
Lamentablemente no te sé decir el precio del TC65 en dólares. Este blog es personal, no vendo nada. Te recomiendo que busques al distribuidor de Siemens de tu pais. Él te dirá el precio.
Un saludo.
Caray, llevo dos años peleando con este trasto (con la v1.045…) y ahora que por fin consigo que me funcione hasta el OTAP, descubro que tienes este blog tan bien explicadito. Joe, que suerte teneis los que os enfrentais con esto por primera vez!! y muchas gracias por este blog, es estupendo!!
Bueno, un par de cosas:
- Cuidado con el servidor http que utilizais. Yo lo he estado probando en Netfirms y no me funcionaba, en cambio Hostgator sí.
- El distribuidor que te vendio un 1.045 DEBE actualizarte el hardware gratis, a mi me actualizaron 50: Siemens se los reemplaza a ellos, al menos con los distribuidores que yo he trabajado ha sido así.
- El Notify URL recibe la conexion, pero no POSTea ná… No se si tu consigues logear el resultado del OTAP de alguna forma. A mi me preocupa tener un equipo en campo y no enterarme porque puede no estar actualizando el soft. Este es el script php que tengo en el Notify URL (el qap es mi equipo y hay una clase que crea el archivo log y demás):
log_write(“OTAP installation:”);
// registro en el log.
if($_POST)
$qap->log_write(“recidas POST”);
foreach($_POST as $comment){
$qap->log_write($comment);
}
echo “OK”;
?>
Salud!!
Hola Javimogur,
me alegro que te guste mi blog.
Respecto a la obligación de Siemens a cambiar los equipos eso no lo tengo tan claro y menos habiendo pasado ya tanto tiempo. Desde luego a día de hoy sólo se suministran los 2.0.
Y respecto a la actualización, yo tengo un comando por SMS que me devuelve la versión de la aplicación que he actualizado. Mis aplicaciones envían un SMS al realizarse un cambio de firmware. Conozco a otros que realizan una conexión GPRS para informar a un servidor del cambio.
Salu2.
Hola:
Intento enviar SMS como dices para borrar un directorio y no hace absolutamente nada. Ya he comprobado contraseña y no lo consigo. En el blog se lee en tu ejemplo que los SMS deben identificarse por OTAP_IMPNG. Adjunto ejemplo:
OTAP_IMPGN
PWD:blogElectronica
JADURL:http://www.blogElectronica.com/TEMP/HelloWorld.jad
APPDIR:a:
BEARER:gprs
APNORNUM:airtelnet.es
NETUSER:vodafone
NETPWD:vodafone
START:install
OTAP_IMPNG
PWD:secret
APPDIR:a:/work/appdir
START:delete
Pero en documentación de Siemens se lee:
OTAP_IMPNG
PWD:secret
APPDIR:a:/work/appdir
START:delete
Yo he probado las dos y no me funcionan. He intentado descargar de la web y tampoco funciona. ¿Podrías indicarme cómo hacerlo?
Gracias.
Hola Richi,
¿estás enviando el SMS en PDU como puse en el post o lo estás enviando como texto normal?
Por otro lado, ¿te funciona el OTAP haciéndolo desde el hypertérminal con comandos AT?
Salu2
Hola:
La secuencia de comandos que utilizo y la salida obtenida son:
AT^SJOTAP=”a”,”http://www.blogelectronica.com/TEMP/HelloWorld.jad”, “a:”,,,”gprs
“,”airtelnet.es”,”vodafone”,”vodafone”,”080.058.000.033″,
OK
AT^SJOTAP
OK
AT^SCFG=Trace/Syslog/OTAP,1
SYSLOG ENABLED
[OTAP] GPRS connection established.
[OTAP] Try to get http://www.blogelectronica.com/TEMP/HelloWorld.jad …
[OTAP] Connected.
[OTAP] ERROR: DNS error!
[OTAP] Reboot now.
No sé por qué sale el error (Ésta es una de las dudas). No obstante, está intentando realizar OTAP. Por tanto, sigo probando para intentar lo mismo por SMS.
Secuencia de comandos y resultado son:
AT+CMGF=1
OK
AT+CSMP=17,167,0,245
OK
AT+CMGS=”6XXXXXXXX”
> 4F5441505F494D504E470A5057443A610A53544152543A696E7374616C6C0A
+CMGS: 38
OK
AT^SCFG=Trace/Syslog/OTAP,1
SYSLOG ENABLED
[OTAP] GPRS connection established.
[OTAP] Try to get http://www.blogelectronica.com/TEMP/HelloWorld.jad …
[OTAP] Connected.
[OTAP] ERROR: DNS error!
[OTAP] Reboot now.
El mensaje enviado es el siguiente pero en hexadecimal:
OTAP_IMPNG
PWD:a
START:install
Como ves, recibe el SMS e intenta realizar OTAP dando el mismo error que antes.
Como lo que quiero probar es un borrado con OTAP continúo:
AT+CMGF=1
OK
AT+CSMP=17,167,0,245
OK
AT+CMGS=”6XXXXXXXX”
> 4F5441505F494D504E470A5057443A610A53544152543A64656C6574650A
+CMGS: 39
OK
AT^SCFG=Trace/Syslog/OTAP,1
SYSLOG ENABLED
El mensaje enviado codificado en hexadecimal es:
OTAP_IMPNG
PWD:a
START:delete
No obtengo ninguna respuesta. Al cabo de un rato tecleando AT obtengo respuesta del equipo como OK y al mirar el directorio del modem encuentro los ficheros que había colocado previamente y también un directorio que había creado. No ha borrado nada.
Como ves, estoy enviando los comando como texto en lugar de PDU y parece que el modem los entiende. Si tengo que enviar como PDU no sé cómo codificar el text.
Gracias de antemano.
Hola Richi,
respecto al error de DNS, intenta cambiar la DNS 080.058.000.033 por otra. La del ejemplo es la que tenía yo hace poco en mi PC y la tuve que cambiar porque no funcionaba bien. El ejemplo del post funciona seguro.
Respecto a lo del OTAP por SMS, te confirmo 100% que el mensaje tiene que ser PDU, sino no te irá. Tengo un compañero que tiene una utilidad para codificar en PDU, se la pediré y te la paso.
Si no quieres codificar PDU también tienes la opción de enviar el comando at^sjotap desde java. Por ejemplo enviar un SMS con un texto específico y desde un determinado nº de teléfono móvil y cuando el TC65 lo reciba lanzar desde java el comando at^sjotap. Si no recuerdo mal, te lo digo de memoria de cuando lo probé, al lanzar ese comando con la clase ATCommand la aplicación java se aborta y empieza el proceso de OTAP. Tanto si el proceso acaba bien como si no el TC65 se reseteará al final del OTAP, y si tienes configurado el autostart=1 se arrancará la aplicación (la nueva si el OTAP fue bien o la antigua si no fue bien.)
Salu2.
Buenas,
todos los que utilicéis el ejemplo:
AT^SJOTAP=”blogElectronica”,
“http://www.blogelectronica.com/TEMP/HelloWorld.jad”, “a:”,,,”gprs”,”airtelnet.es”,”vodafone”,”vodafone”,”080.058.000.033″,
aseguráos que tenéis una SIM de vodafone. Si no, tendréis que cambiar el APN y el LOGIN y PASSWORD por el del operador que tengáis. Por ejemplo, para telefónica sería:
AT^SJOTAP=”blogElectronica”,
“http://www.blogelectronica.com/TEMP/HelloWorld.jad”, “a:”,,,”gprs”,”movistar.es”,”MOVISTAR”,”MOVISTAR”,”080.058.000.033″,
Salu2
Hola a todos:
Estoy observando comportamiento muy extraño en el XT65.
Puedo hacer OTAP install pero no OTAP delete. Os envío secuencia para que lo comprobéis.
Instalamos SIM de Vodafone. Con SIM de Movistar da problemas.
Prueba de OTAP install.
.- Configuramos parámetros OTAP
AT^SJOTAP=”a”,”http://www.blogelectronica.com/TEMP/HelloWorld.jad”, “a:”,,,”gprs”,”airtelnet.es”,”vodafone”,”vodafone”,”080.058.000.033″,
.- Leemos configuración OTAP
AT^SJOTAP?
.- Configuramos SMS modo texto
AT+CMGF=1
.- Comfiguramos modo
AT+CSMP=17,167,0,245
.- Enviamos SMS
at+cmgs=”6XXXXXXXX”
.- El contenido del SMS es:
OTAP_IMPNG
PWD:a
START:install
Pero como debemos enviarlo en ASCCI escribiremos:
>4F5441505F494D504E470A5057443A610A53544152543A696E7374616C6C0A
.- Tras recibir el OK activamos el log de OTAP
AT^SCFG=Trace/Syslog/OTAP,1
.- Tras esperar un poco veremos que aparecen líneas en el log
SYSLOG ENABLED
[OTAP] GPRS connection established.
[OTAP] Try to get http://www.blogelectronica.com/TEMP/HelloWorld.jad …
[OTAP] Connected.
[OTAP] Transfer finished.
[OTAP] Try to get http://www.blogElectronica.com/TEMP/HelloWorld.jar …
[OTAP] Connected.
[OTAP] Transfer finished.
[OTAP] JAM status: 900 Success.
[OTAP] Reboot now.
.- Ahora podemos comprobar que se han descargado ficheros en el XT65.
Prueba de OTAP delete.
.- Configuramos parámetros OTAP
AT^SJOTAP=”a”,”http://www.blogelectronica.com/TEMP/HelloWorld.jad”, “a:”,,,”gprs”,”airtelnet.es”,”vodafone”,”vodafone”,”080.058.000.033″,
.- Leemos configuración OTAP
AT^SJOTAP?
.- Configuramos SMS modo texto
AT+CMGF=1
.- Comfiguramos modo
AT+CSMP=17,167,0,245
.- Enviamos SMS
at+cmgs=”6XXXXXXXX”
.- El contenido del SMS es:
OTAP_IMPNG
PWD:a
START:delete
Pero como debemos enviarlo en ASCCI escribiremos:
>4F5441505F494D504E470A5057443A610A53544152543A64656C6574650A
.- Tras recibir el OK activamos el log de OTAP
AT^SCFG=Trace/Syslog/OTAP,1
.- Veremos que aparece línea de log
SYSLOG ENABLED
.- Tras esperar un poco vemos que no hace nada. El contenido del XT65 sigue siendo el mismo y no se borra nada.
Saludos. Richi.
Hola BlogElectronica,
lo primero de todo felicitarte por la gran ayuda que ofreces a los que estamos empezando con estos modulos GPRS.
Mi duda es sobre el ejemplo “http://www.blogelectronica.com/TEMP/HelloWorld.jad”, he probado a cargarlo via OTAP, se ha cargado perfectamente y al ejecutarlo no recibia nada.
Redirigi el stdout a ASC0, que es donde lo teno conectado (el MTX65) y lo configure como autostart.
Ahora cada vez que lo enciendo me escribe “Hello” y a continuacion no recibe mas comandos AT.
He estado revisando el codigo fuente del ejemplo de siemens y deberia escribir:
startApp
Hello World
destroyApp
y por ultimo volver al modo comando ¿no?
Un saludo.
Hola Daniel,
pues la verdad es que no me acuerdo de si acabé el programa con destroyApp pues hace mucho tiempo, pero por lo que me dices no lo debí acabar así. Lo modificaré, gracias.
De todas maneras desactiva el autostart=1. Para ello ves al menú de Inicio de Windows->Siemens->TC65… ->Switch Autostart Off. Pulsa el botón del soft e inmediatamente dale alimentación al módem. Posiblemente tengas que repetir la operación varias veces.
Para evitar estos problemas, yo de ti pondría en Userware el Delay a 50, para que al menos hayan 5 segundos desde que arranca el módem hasta que arranca la aplicación java.
Salu2.
Gracias por responder tan rapido
La verdad es que no lo tengo tan facil con el kit de desarrollo, porque estoy usando linux ubuntu.
Aunque esta muy bien, para temas de VHDL y alguna otra cosa especial como este modem java, me tengo que pelear para sacar algo
Pongo algunos detalles que me costaron sacar por si a algun otro linuxero (novato como yo) tiene los mismos problemas para echar a andar el kit de matrix:
-Con wine (emulador del API de windows para linux) no funciona el kit de matrix.
-Con QEMU (pc virtual) si he conseguido que funcione, añadiendo en la casilla de parametros “-serial /dev/ttyACM0″ que es el dispositivo que te crea al conectar el modem al USB, (y redirijo el sdtout al USB claro). (este punto es imprescindible para que funcione el puerto serie el PC virtual).
-Una vez hecha la instalacion del kit de matrix, ya se puede acceder por usb al modulo como unidad de almacenamiento a: para subir las aplicaciones (por el puerto serie de 9 pines a 115200bps no conseguia conectar supongo que por perdida de datos).
-Ahora me fui a la carpeta donde se instalo el SMTK, y en la carpeta WTK/src, esta el ejemplo “helloworld”, simplemente ejecutar el archivo .bat y te lo compila solo y meterlo manualmente al modulo mediante el EMS.
Me fije que los archivos jad y jar que acababa de compilar eran mas grandes que el ejemplo de “http://www.blogelectronica.com/TEMP/HelloWorld.jad”, asi que o me he bajado mal los modulos mediante OTAP o estan mal.
-Actualmente estoy intentando configurar el entorno de desarrollo de manera nativa en linux, y aunque aun no lo he conseguido del todo, en cuanto tenga un hueco lo terminare.
Por si algun otro esta interesado, el punto de partida que he seguido es este:
http://www.xargs.com/linux/tc65-linux.html
Un saludo y espero que sea de ayuda.
-Dani-
Aishh.. se me olvidaba otro detalle.
una alternativa que no viene en los manuales del TC65 para el “autostart off” es, apagar el modulo, escribir en el hyperterminal (o cutecom en linux) el comando AT^SCFG=”Userware/Autostart”,”",”0″
pero no pulsar entrer aun, entonces rapidamente primero enchufar la corriente del TC65 y pulsar enter.
Si se hace lo suficientemente rapido, nos dara el OK y se ejecutara el programa java,pero ya la proxima vez que lo encendamos sera efectivo el “autostart off”.
Por lo visto, aunque el rtardo de inicio de la aplicacion java sea 0, se tiene algo mas de 1 segundo para introducir un comando AT, que es precisamente l que hace el autostartoff.exe de windows.
Creo que ya no me dejo nada mas en el tintero.
Si avanzo algo mas con linux lo comento por aqui para poner mi granito de arena
Hola Daniel,
respecto a tu penúltimo post. No es que te hayas bajado mal los archivos por OTAP (pues ves que difieren de tamaño con los del kit) sino que el mío lo he creado yo en un momento, es decir, no he tenido en cuenta el ejemplo del kit, por lo que el código fuente del mío es un poquito distinto del del kit y de ahí la diferencia de tamaño, nada más.
No puedes bajarte nada mal por OTAP. Los mecanismos de control de errores habrían, como poco, abortado la operación.
Salu2.
Hola!
¿Hay alguna forma de modificar los parámetros que se han introducido previamente con el comando AT^SJOTAP con un SMS de OTAP?
Un saludo,
Borja
Hola Borjaga,
Create un fichero en la flash del dispositivo, con los datos. Generaté una rutina que lñea del SMS los datos y los guarde en el fichero de la flash.
Lee los datos del fichero e introducelos en el comando.
De esta manera podrás cambiarlos siempre que quieras.
Es algo trabajoso, pero no veo otro camino.
Por otro lado, puedes enviar un SMS que te comienze el proceso de OTAP, este SMS tiene que ir codificado en modo PDU. ESto quizás sea mas versatil.
Salu2
Pua
Hola Daniel,
ALgo mas de información para tu desarrollo en Linux.
EL protocolo con el cual en módulo aparece como un disco extraible y puedes enviar/borrar/crear ficheros en el, es el protocolo OBEX.
Puedes encontrar mucha información de OBEX por la red. Estoy convencido que lograrás que desde tu linux te aparezca el módulo como memoria y podrás usarlo como tal.
Salu2
Pua
Hola,
Respecto a los SMS en modo PDU, si encuentro tiempo y ganas, me haré un manualillo básico
Es algo trabajoso de entender, pero luego es muy sencillo de programar
Salu2
Pua
Hola,
Ya está hecho el manual,
Se lo he envíado a blog electrónica por correo.
He hecho cajitas, colorines y explicaciones para una mejor comprensión.
Espero os sea de interés y ayuda.
otro día, son ganas (muchas ganas), me curro un ejemplillo de un SMS PDU para obligar al OTAP, poner password OTAP y/o instalar/sobreescribir el programa.
Salu2
Pua
Hola Pua,
antes de nada, muchas gracias por el manual !!!
Lo he recibido, está muy bien explicado. Lo publicaré en breve.
Respecto a lo del OTAP por SMS, alguna cosa hice hace un tiempo sobre ello
http://www.blogelectronica.com/otap-sms/
Salu2.
Buenas,
Aquí tenéis el enlace al manual:
http://www.blogelectronica.com/sms-pdu/
Salu2.
Tengo un problema al querer hacer un otap.
Hago el otap y todo me sale perfecto, pero no puedo hacer que me postee el resultado del otap a mi pagina.
Si lo hago por hiperterminal setenado todos los valores incluyendo el de la pagina donde quiero que me haga el posteo, esta todo bien, o sea anda bien.
Pero cuando lo quiero hacer via SMS, yo le seteo la pagina donde quiero que me postee el resultado, seteando en el parametro NOTIFYURL:
y no me anda..
alguien sabe algo?
Hola Luciano,
es muy extraño, a mi me funciona perfectamente. Asegúrate de poner también un parámetro DNS adecuado, no vaya a ser que no te resuelva la dirección del notifyurl.
Salu2
Como estas blogElectronica?
Che sabes que tenias razon acabo de ver, que necesito poner el DNS, porque sino no me resolvia el dns y no hacia la conexion.
El tema es que cuando se lo mandaba por comando AT desde el hiperterminal andaba barbaro, pero cuando le mandaba el sms, no andaba.
Entonces busqque la direccion de DNS de movistar para argentina, lo puse y anda.
Pero tengo otro problema ahora.
No se por donde lei, pero tengo entendido que si la aplicacion esta corriendo, y le mandas el SMS, la aplicacion JAVA deja de correr, y atiende el SMS para hacer el otap.
Estoy en lo cierto?
Porque tengo una aplicacion JAVA bastante grande con miles de thread corriendo, y le envio el SMS y no pasa nada, sigue corriendo la aplicacion como si no le hubiera llegado ningun mensaje para hacer otap.
Puede ser?
Como lo soluciono?
Hola Luciano,
estás en lo cierto. La aplicación debería detenerse.
Es casos de aplicaciones muy grandes y complejas, he visto lo que comentas. Para esos casos te aconsejo que generes tu propio SMS y que lo trates en la aplicación java, es decir, que desde la aplicación java envíes el AT^SJOTAP, pero asegurándote antes de detener todos los threads, timers y demás que tengas running por ahí. De esa manera no fallará.
Salu2.
Mira te cuento, que agarre e hice una aplicacion re sensiclla que lo unico que hace es tirar todo el tiempo un mensaje UDP, dentro de un While(true)
y tampoco me funciona la actualizacion.
Pregunta no habra que setear algo antes? como para avisarle al modem que si viene un sms otap, para la aplicacion?
en la documentacion dice lo siguiente:
Combination of SMS parameter
set and AT parameter set
- If parameter set complete:
Close running Java application
Cuando dice AT parameter set a que se refiere?
Eso me hace pensar que talvez tengo que dejar el modem configurado en algun modo o algo, como avisandole que si llega un sms con Install, tiene que parar la aplicacion o algo asi?
Hola Luciano,
no, no tienes que dejar el módem en ningún estado especial. Haz una prueba de OTAP usando mi plataforma de OTAP, no vaya a ser que por lo que sea no estás configurando bien el mensaje.
http://www.blogelectronica.com/otap-for-cinterion-modems-tc65-tc65i-xt65-tc65t-mtx65/
Por otro lado, en tu bucli while, pon un Thread.Sleep(100), por si acaso.
Salu2
Segui probando, y vi que cuando la aplicaicon esta muy a full, no se puede hacer la actualizacion con otap, realmente una cagada…
Asi que no se que voy a invetar..
Que me recomedas?
Hola Luiano,
lo que te comentaba antes, prueba con un Thread.sleep(100) al final de tu bucle while.
Y si no, simplemente trata el SMS que te llega (uno codificado por ti) y lanza desde tu propia aplicación AT^SJOTAP. Eso te funcionará bien.
Salu2
Te hago una pregunta, con la version de soft 2.0, hay algun comando AT o algo, que no sea watchdog
Que sea un comando AT, que si veo que me sale un profile could no be activated, o pasa cualquier cosa, porder tirar algun comando AT, que reinicie la aplicacion?
o que haga un shutdown? y depsues el autostart levante la aplicacion de 0?
sabes?
Hola Luciano:
AT+CFUN=1,1 te reseteará el módem, y por tanto, si tienes el autostart configurado, re reiniciará la aplicación.
Salu2
Luciano, mi pregunta no es nada que ver con lo que venian hablando, pero como vi que sos de Argentina, mi pregunta es donde puedo conseguir en Argentina modulos TC65, antes tenia uno pero era de una empresa donde trabaje, ahora quiero adquirir uno y no se donde hacerlo, me podrias dar una mano con eso?
Gracias
Hola.
tengo problemas con el OTAP, no he podido hacer q funcione.
este es el mensaje q recibo.
SYSLOG ENABLED
[OTAP] GPRS connection established.
[OTAP] Try to get http://123.456.789.123:12345/JAD/W01.jad …
[OTAP] Connected.
[OTAP] Transfer finished.
[OTAP] Try to get W01.jar …
[OTAP] Reboot now.
[OTAP] ERROR: HTTP configuration!
Noten q la primera…
[OTAP] Try to get http://123.456.789.123:12345/JAD/W01.jad …
Utiliza la direccion COMPLETA, y en la segunda… NO!.
[OTAP] Try to get W01.jar …
¿por q hace esto? y ¿este es el problema?..
Muchas Gracias.
Hola.
He llegado hasta esta instancia con el OTAP y no se como superarla..
AT^SCFG=Trace/Syslog/OTAP,1
SYSLOG ENABLED
[OTAP] GPRS connection established.
[OTAP] Try to get http://www.blogelectronica.com/TEMP/HelloWorld.jad …
[OTAP] Connected.
[OTAP] Transfer finished.
[OTAP] Try to get http://www.blogElectronica.com/TEMP/HelloWorld.jar …
[OTAP] Connected.
[OTAP] Transfer failed (404).
[OTAP] JAM status: 907 Invalid JAR.
[OTAP] Reboot now.
Les pido por favor una ayuda, por q he agotado mis ideas..
Muchas Gracias..
Hola Javier,
comprueba, en tu JAD, la variable MIDlet-Jar-URL
Mira como la tengo en:
http://www.blogelectronica.com/TEMP/HelloWorld.jad
tiene que apuntar con la ruta completa hacia tu fichero JAR.
Lo que te falle con mi ejemplo tiene que ser un error puntual de mi servidor o de tu servidor GPRS. Ese ejemplo siempre ha funcionado bien.
Salu2.
Muchas Gracias…
Recordar a poner el Puerto, a mi me ha funcionado mucho tiempo sin especificar el port y de golpe dejo de funcionar y me he vuelto loco buscando, Puerto 80
Ejemplo:
AT^SJOTAP=,”http://servidor.es:80/download/GpsWeb.jad”,”A:”,”",”",”gprs”,”movistar.es”,”movistar”,”movistar”,,
Intento hacer AT^SJOTAP con el ejemplo y nada más realizarlo el módem se reinicia. Imposible introducir el comando AT^SCFG=Trace/Syslog/OTAP,1 para ver las trazas. El reinicio es instantáneo.
AT^SJOTAP=,http://www.blogelectronica.com:80/TEMP/HelloWorld.jad,a:,,,gprs,movistar.es,movistar,movistar,080.058.061.250,,,
Hola Fran,
hace ya tiempo de tu pregunta, pero eso sucede si no está registrado el módem en la red gsm, si no tienes la SIM puesta o si ésta tiene PIN.
Salu2