Meu código, num STM32F0, a cada 5 minutos formata um frame (data, hora e valores de uns sensores), acessa um arquivo do FTP e adiciona uma linha nesse arquivo (modo "appending file" com AT+FTPCID=1) normalmente, conforme indicado no Application Notes (http://simcomm2m.com/UploadFile/Technic ... _V1.03.pdf) e o manual (http://simcomm2m.com/UploadFile/Technic ... _V1.10.pdf).
Porém, após o comando de iniciar sessão FTP (AT+FTPPUT=1), o módulo me retorna um "OK" e, logo em seguida, retorna um time out (+FTPPUT:1,64). Isso faz com que o arquivo seja "aberto" e, na próxima execução do código, o servidor entende que o arquivo não existe e acaba criando um novo arquivo. Me parece que o arquivo está sendo aberto pelo comando AT+FTPPUT=1, mas, por conta do erro +FTPPUT:1,64, não consigo enviar o comando para fechar (AT+FTPPUT=2,0 retorna ERROR).
Esse erro acontece aleatóriamente: tem vez que funciona por 6 horas, tem vez que funciona por 5 minutos. Tentei reinicar o módulo todas as vezes (AT+CPOWD=1), verificar se está conectado à rede (AT+CGATT?), ler o tamanho do arquivo antes para ver se consegue acessar o servidor, mas o problema persiste.
Listarei a sequência de comandos que estou utilizando. Se puderem dar alguma sugestão, seria grato.
- Código: Selecionar todos
AT+CGATT?
AT+CGATT=1
AT+SAPBR=3,1,"Contype","GPRS"
AT+SAPBR=3,1,"APN","zap.vivo.com.br"
AT+SAPBR=1,1
AT+SAPBR=2,1
AT+FTPPUTOPT="APPE"
AT+FTPCID=1
AT+FTPSERV="ftp.elivelton.hospedagemdesites.ws"
AT+FTPUN="elivelton"
AT+FTPPW="eli1234"
AT+FTPGETNAME="meters.csv"
AT+FTPGETPATH="/meters/teste/"
AT+FTPSIZE
AT+FTPCID=1
AT+FTPSERV="ftp.elivelton.hospedagemdesites.ws"
AT+FTPUN="elivelton"
AT+FTPPW="eli1234"
AT+FTPPUTNAME="meters.csv"
AT+FTPPUTPATH="/meters/teste/"
AT+FTPPUT=1
AT+FTPPUT=2,269
frame com as informações
AT+FTPPUT=2,0
5 minutos depois, reinicia a sequência