TODOPIC
FORO TÉCNICO => Telefonía, GPS y Microcontroladores => Mensaje iniciado por: migsantiago en 01 de Mayo de 2014, 20:06:53
-
Hola :mrgreen:
Estoy trabajando con el SIM908. Me conecto a un FTP y descargo archivos pequeños sin problemas... cuando son menores a 60 bytes.
Quiero descargar un archivo grande de 1024 bytes y lo pienso hacer en partes de 32 bytes cada una. Primero envío la configuración básica de FTP:
ATCOM_FTP_SET_BEARER
ATCOM_FTP_SET_SERVER
ATCOM_FTP_SET_PORT
ATCOM_FTP_SET_USER
ATCOM_FTP_SET_PASSWORD
ATCOM_FTP_SET_SETUP_DOWNLOAD_NAME
ATCOM_FTP_SET_DOWNLOAD_PATH
Luego hago la petición de conectarse...
AT+FTPGET=1
El módulo responde
OK
+FTPGET:1,1
Y le pido 32 bytes de un archivo de 1024 bytes:
AT+FTPGET=2,32
+FTPGET:2,32
12345678901234567890123456789012
OK
El problema es que si sólo pido 32 bytes, el SIM908 se queda conectado al servidor... envía la siguiente línea varias veces...
+FTPGET:1,1
+FTPGET:1,1
+FTPGET:1,1
+FTPGET:1,1
Después de un rato hace timeout y muestra:
+FTPGET:1,64
Lo que no he sabido encontrar es cómo cerrar la conexión con el FTP. Probé enviando estos comandos, pero me arroja ERROR al enviarlos...
AT+FTPGET=2,0
ERROR
AT+FTPGET=1,0
ERROR
AT+FTPGET=1,1
ERROR
AT+FTPGET=2
ERROR
AT+FTPGET=0
ERROR
Existe un comando llamado AT+FTPREST=x donde x indica en dónde se continuará la descarga del archivo del FTP si se rehace una conexión, pero no me ayuda ya que ni siquiera he podido cerrar la conexión anterior.
El manual de comandos AT está incompleto, no explica cómo cerrar una conexión GET.
¿Alguien ha hecho pruebas con esto? La versión de mi manual es la v1.02.
Una solución sería bajar el archivo pidiendo datos consecutivamente, pero estoy manejando multitareas en el PIC y necesito hacer otras cosas con el FTP al mismo tiempo :(
Gracias :mrgreen:
Edito: éste es el manual que tengo disponible
http://www.4shared.com/archive/A49KthrTce/SIM908_AT_Command_Manual_V102.html
-
Hola, creo que publiqué este post en un foro incorrecto :P ¿Podrían moverlo a GPS? Gracias.
-
es extraño, tengo unos pdf acerca del sim900 y tampoco existe ese comando, ni en la pagina de simcom existe una app note acerca de conexion ftp, sin embargo para UDP y TCP si existe el comando. Yo estoy trasteando con un M95 de quectel, este si trae el comando para cerrar la conexion ftp.
Habría que mirar en detalle la hoja de datos para saber cuando se da por cerrada la conexion
-
es extraño, tengo unos pdf acerca del sim900 y tampoco existe ese comando, ni en la pagina de simcom existe una app note acerca de conexion ftp, sin embargo para UDP y TCP si existe el comando. Yo estoy trasteando con un M95 de quectel, este si trae el comando para cerrar la conexion ftp.
Habría que mirar en detalle la hoja de datos para saber cuando se da por cerrada la conexion
Hola Jhozate
Se da por cerrada por tiemout o cuando se decsragó el total de bytes del archivo a bajar.
Por timeout arroja:
+FTPGET:1,64
Por fin de archivo arroja:
+FTPGET:2,0
Pero es curioso, como dices el close está para otras conexiones, incluso para el FTPPUT:
"AT+FTPPUT=2,0"
Pero no para el GET :8}
Saludos
-
Agregué el manual en el primer post. :mrgreen:
-
Hola
Obtuve respuesta de un distribuidor del SIM908. No existe el comando FTP GET CLOSE para descargas parciales de archivos FTP. Me dijo que de plano cerrara la conexión APN (GPRS) del SIM908 y que la restaurara. Sólo así la conexión al FTP se cerraría inmediatamente.
AT+SAPBR=0,1
Esto no ayuda ya que el restaurar la conexión APN es lento y además los servidores DNS no están listos a la primera.
Bajaré mi archivo de datos en una sóla operación. Esto no me gustó para nada :S
Saludos!