Ejemplo de FTP Java para módems gprs Cinterion TC65 y XT65
Escrito por blogElectronica en 2.DISPOSITIVOS (práctico), 4.PROGRAMACIÓN, Comunic. GSM/GPRSPosiblemente 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í.
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:
- Localizando fallos difíciles de reproducir en los módems Cinterion TC65, XT65 Si desarrollas aplicaciones en Java para los módems gprs TC65,...
- Ejemplo envío Email Java para módems Siemens / Cinterion Esta mañana he estado un buen rato realizando pruebas de envío...
- Añadir datos a ficheros con módems Siemens-Cinterion desde java En bastantes ocasiones me ha llegado la pregunta de cómo...
- Memoria Ram y Flash de los módems TC65 y XT65 Últimamente me han preguntado bastante en relación a la memoria...
- Ejemplo FTP Java para módems Siemens Hoy pongo un brevísimo post con un nuevo ejemplo Java...
Etiquetas: cinterion, j2me, java, tc65, xt65
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.
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.
hola,
mi agradecimiento tambien
Salu2
Pua
Hola, me gustaría agradecer tu tiempo y esfuerzo por realizar esta utilidad y este blog en general.
Un saludo
Pablo.
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
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
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?
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
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
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
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
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.
Hola Abraham,
¿Conseguiste subir el fichero a tu servidor FTP?
Salu2