Posiblemente en alguna ocasión tengas que hacer un programita en Java para un módem Cinterion TC65 o XT65 en el que tengas que capturar datos (entradas digitales, analógicas, posiciones GPS, capturas realizadas por el puerto serie …) y almacenarlas en un fichero interno de la flash para su posterior envío a un servidor central.

Hoy os cuelgo un pequeño ejemplo en Java para hacer la segunda parte, el envío de los datos por FTP a un servidor central.

Hace ya mucho tiempo puse unos posts con muchos ejemplos java, entre ellos ( http://www.blogelectronica.com/ejemplos-java-j2me-modem-gprs-siemens/ ó http://www.blogelectronica.com/j2me-ftp-cinterion-tc65-xt65-mtx65-tc65t/ ).

En este último también había un ejemplo de FTP. Este de hoy es más elaborado, pues permite subir directamente un archivo almacenado en la memoria flash de nuestro módem a un servidor vía FTP. El proyecto y código fuente del ejemplo lo puedes descargar de aquí­.
 

FTP J2ME

 
Para probarlo sin complicaciones haz lo siguiente paso a paso. Crea un fichero de nombre “datos.txt” con los datos que quieras en su interior y grábalo en la memoria FLASH de tu módem TC65 / XT65 (en el directorio raí­z). Después importa el proyecto de ejemplo desde Eclipse. Abre el fichero FtpHandle.java, en él verás que se leen algunas variables del fichero EjemploFTP.jad

Si abres el fichero EjemploFTP.jad verás que tienes que establecer las siguientes propiedades:

gprs-timeout: 20
remote-file: fichero.txt
server: 100.100.100.100
user: MiUserDeFTP
pass: MiPasswordDeFTP
remote-dir: TEST
gprs-apn: movistar.es
gprs-user: MOVISTAR
gprs-dns: 80.58.0.33
gprs-pass: MOVISTAR

ajústalas a tus necesidades, indicando el nombre del fichero remoto (el nombre con el que se guardará en tu servidor FTP, la IP de tu servidor FTP, el user y password de tu servidor FTP, la carpeta donde se almacenará el fichero (asegúrate de tener la carpeta creada antes de ejecutar la aplicación) y el resto de parámetros ya os los conocéis de sobras.

Una vez cambiadas a tu gusto las propiedades del jad compila el programa y ejecútalo, verás como sube el fichero datos.txt almacenado dentro de la FFS de tu módem a tu servidor FTP. Seguro que te será de utilidad en alguna ocasión.

Y bueno, para finalizar, aunque un poco tarde (he estado unos dí­as un poco fuera de combate por una pequeña operación en los párpados), al ser este el primer post del año, simplemente desear de corazón a todo el mundo lo mejor para este año 2010 que empieza.

Otro dí­a vuelvo con más ;)


Post relacionados:

  1. Ejemplo envío Email Java para módems Siemens / Cinterion Esta mañana he estado un buen rato realizando pruebas de envío...
  2. Ejemplo FTP Java para módems Siemens Hoy pongo un brevísimo post con un nuevo ejemplo Java...
  3. Localizando fallos difíciles de reproducir en los módems Cinterion TC65, XT65 Si desarrollas aplicaciones en Java para los módems gprs TC65,...
  4. Añadir datos a ficheros con módems Siemens-Cinterion desde java  En bastantes ocasiones me ha llegado la pregunta de cómo...
  5. Memoria Ram y Flash de los módems TC65 y XT65 Últimamente me han preguntado bastante en relación a la memoria...








Tags: , , , ,
13 Respuestas a “Ejemplo de FTP Java para módems gprs Cinterion TC65 y XT65”
  1. Sergio says:

    Hola, tengo que felicitarte por este post que acabas de subir, no puedes ni llegar a imaginar lo interesante que es esta utilidad para el proyecto que estoy desarrollando. Tengo que reconocer que lo intente pero a la hora de establecer el dialogo con el Servidor FTP siempre me dio un error, que me hizo replantearme e ir por otro camino. Lo dicho, muchas gracias de verdad.

    PD: Funciona perfectamente.

    • blogElectronica says:

      Hola Sergio,

      me alegra que te sea útil el post, pues es la recompensa de cualquier blogger, que su blog sea de interés y utilidad.

      Salu2.

  2. Pua says:

    hola,

    mi agradecimiento tambien

    Salu2

    Pua

  3. Pablo says:

    Hola, me gustaría agradecer tu tiempo y esfuerzo por realizar esta utilidad y este blog en general.

    Un saludo
    Pablo.

  4. Hola
    Gracias, Jose por tu blog
    Estoy intentando ejecutar tu ejemplo “FTP” pero recibo la respuesta: “JAVA ERROR: One or more MIDlet instance(s) could not be created: 139″ en el programa hyperterminal…
    Alguien sabe lo que pasa?
    Gracias, salu2

    • blogElectronica says:

      Hola Daniel,

      creo que no estás escogiendo la plataforma adecuada (el módem correspondiente). También prueba eliminar los archivos temporales. En el Eclipse, menú Project - Clean … y vuelve a compilar el proyecto.

      Salu2

      • Monitor says:

        Hola ami me da este error alguien sabe a que se deba??

        at^sjra=a:/EjemploFTP.jar
        OK

        JAVA ERROR: One or more MIDlet class(es) not found: Ftp

        Al principio decia para la clase main pero le puse Ftp que son las clases que si existen pero de ahi no pasa?

        Alguien sabe a que se deba esto?

  5. Abraham0208 says:

    Hola estoy ejecutando tu ejemplo y tengo una duda, yo estoy usando un servidor ftp local por lo que mi duda es tengo que indicar los datos del DNS, usuario y password???

    al final me marca un error en la linea SISO=0

    y no termina solo dice enviando datos pero no termina

    que puede ser???

    gracias espero tu respuesta

    • blogElectronica says:

      Hola Abraham,

      con los datos que me dices no lo puedo saber. Configura el módem con AT+CMEE=2, así cuando te de ERROR te devolverá un error descriptivo con el problema, sino es dar palos de ciego.

      Salu2

      • Abraham says:

        Hola el error que me regresa es:

        +CME ERROR: requested service option not subscribed

        Sabes a que se deba este error???

        Gracias por tu pronta respuesta

      • Abraham says:

        Hola

        Ya logre hacer el ftp a mi servidor pero ahora tengo una duda, este ejemplo que logre crea un archivo.txt en el servidor pero ahora quiero enviar uno ya existente en a:/fichero.txt al servidor ftp, es la misma instrucción o como le indico que es un archivo ya existente en memoria?

        r=ATC.send(”AT^SISS=1,address,ftpput://usuario:password@” + direccionIP + “:” + puerto + “/fichero.txt;type=a\r”);

        Te mando mi comando donde mando el ftp

        Gracias ojala me puedas ayudar con esta duda y muchas felicidades por tu foro

    • Abraham says:

      Hola mira ya paso el SISO=0 pero ahora me manda este error

      AT^SISI?
      ^SISI: 1,3,0,0,0,0
      OK

      ^SIS: 1, 0, 20, “Connection timed out”

      ^SISR: 1, 2

      Te pongo el SISI para mostrar que supuestamente esta haciendo la conexión y tambien el SICI=1 me regresa

      AT^SICI=1
      ^SICI: 1,2,1,”10.183.16.212″

      una IP ya asignada así como el SISO?

      AT^SISO?
      ^SISO: 0, “”
      ^SISO: 1, “Socket”,”3″,”2″,”0″,”0″,”10.183.16.212:0″,”66.96.146.129:80″
      ^SISO: 2, “”
      ^SISO: 3, “”

      Pero me saca antes de poder hacer la escritura de mi archivo fichero.txt que tengo en mi tc65i.

      Que puede ser amigo??

      Gracias de antemano.

  6.  
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.