Prezados garagistas, boa noite.

Sou novo no grupo.

Estou desenvolvendo uma estação meteorológica e maregráfica e encontrei dificuldades para transmitir o arquivo de dados coletados.

Estou usando um Arduino MEGA e um SIM800L para essa tarefa.

O sistema está fazendo quase tudo direitinho para executar o upload dos dados, cria a pasta no servidor de FTP e envia o arquivo com os dados coletados, só que vazio e lá ele permanece até o próximo envio de dados.

Estou utilizando comandos AT.

Alguém pode me dar alguma orientação ?

Exibições: 1226

Anexos

Responder esta

Respostas a este tópico

Caro José Gustavo, bom dia.

Agradeço o seu retorno.

Um abraço.

Caro Giliardi, boa tarde.

Agradeço o retorno.

Estou com dificuldade com comandos AT no SIM800L para fazer upload de um arquivo de texto com dados coletados de temperatura e coordenadas em um servidor FTP.

No servidor de FTP consigo criar a pasta destino e colocar o arquivo de dados dentro da mesma, só que o referido arquivo chega vazio.

O que pode estar acontecendo ?

No post acima, coloquei a imagem do servidor de FTP após a operação de upload.

Você pode me dar alguma orientação ?

Caro Giliardi, boa noite.

Segue abaixo sua solicitação.

//=========================== UPLOAD ===========================
//
Serial_GSM.println("AT+FTPPUTNAME=" + ftp_nomearq ); //Define o nome do arquivo de destino.
runsl();
delay(500);
//
Serial_GSM.println("AT+FTPPUTPATH=" + dir_ser + coleta + "/"); //Define o caminho de destino do arquivo.
runsl();
delay(500);
//
Serial_GSM.println("AT+FTPPUT=1"); //Abra a sessão de colocação de FTP
runsl();
delay(1000);
//
Serial_GSM.println("AT+FTPPUT = 2, 1000"); //Envie 1000 bytes de dados
runsl();
delay(30000);
//
Serial_GSM.println("AT+SAPBR=0,1"); //ENCERRA
runsl();
delay(500);
//
//==============================================================

Caro José Gustavo, boa noite.

Agradeço o envio do material para estudo e informo que já passei por todos.

Com uma placa ethernet shield, consigo mandar os dados para o mesmo servidor e os arquivos chegam com as informações coletadas, só estou apanhando é com o SIM800L e os comandos AT.

Um abraço.

Segue em anexo o resultado final da tentativa de transmissão de dados coletados.

Anexos

Pelo que eu vi depois do comando:

Serial_GSM.println("AT+FTPPUT = 2, 1000"); //Envie 1000 bytes de dados

Vc precisa enviar os dados.. Não vejo nenhuma linha que envie.

Sugiro vc ligar o SIM800 direto no PC (usando aquele programinha que copia byte a byte no arduino o que vem de uma serial pra outra, e mandar linha a linha esses comandos, observando os resultados.

Para teste use 10 bytes por ex, para não cansar.

Caro Eduardo, boa noite.

Agradeço o retorno, vou executar sua orientação pois confesso, estou mais perdido que cusco em tiroteio.

Darei retorno da orientação.

Um abraço.

Luiz , recomendo que leia o capitulo 12  do SIM 800 AT command manual ( no link que enviei) . 

AT commands for FTP application 

Existem inúmeros comandos que devem ser usados para FTP.  Acho que o FTP não é tão simples como parece no seu programa. 

Achei esses outros manuais que talvez possam ser úteis como referência:

https://cdn-shop.adafruit.com/datasheets/sim800_series_ip_applicati...

https://researchdesignlab.com/projects/AN_SIM900_FTP_HTTP_AT_COMMAN...

Caro José Gustavo, bom dia,

Agradeço o retorno e seu apoio e agradecer também ao Eduardo.

Vou estudar com muita atenção à sua orientação.

Com a placa ethernet shield, fiz essa operação sem problemas mas como queria ficar livre de rede cabeada, a coisa ficou mais séria.

Darei retorno.

Um abraço.

Bom dia , 

Lendo o manual de SIM800 IP Application, pagina 13:

- 1360 é o maior numero de bytes que pode ser transferido. 

Você tem certeza que o seu arquivo de texto tem 1000 bytes?

Experimente enviar 100 bytes somente. 

Por que não esta aparecendo as mensagens de retorno do SIM800:

+ FTPUT: 1,1,1360 ( veja no exemplo de PUT no manual) 

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço