image

Acesse bootcamps ilimitados e +650 cursos

50
%OFF

FC

Filipe Cardoso01/04/2025 16:03
Compartilhe
Microsoft Certification Challenge #3 DP-100Recomendados para vocêMicrosoft Certification Challenge #3 DP-100

Protocolo FTP e Raspberry pi

  • #Linux
  • #C++

Neste artigo revisado, você aprenderá a configurar um programa em C++ em uma Raspberry Pi que recebe arquivos JSON via protocolo FTP. 

Pré-requisitos

Certifique-se de que possui o seguinte:

  1. Raspberry Pi com Raspberry Pi OS instalado.
  2. Computador Windows para acessar a Raspberry Pi via SSH e usar o FileZilla.
  3. Conexão estável entre a Raspberry Pi e o computador Windows na mesma rede.
  4. Editor de texto/Código no Windows (como Visual Studio Code ou Notepad++).
  5. Noções básicas de Linux, SSH, C++ e FTP.

Configuração Inicial

1. Configure a Raspberry Pi

  • Certifique-se de que o SSH está habilitado na Raspberry Pi. No terminal, execute:
sudo raspi-config

2. Acesse a Raspberry Pi via SSH

No Windows, abra o Prompt de Comando ou use um cliente SSH como o PuTTY. Conecte-se à Raspberry Pi com:

ssh pi@<endereço-IP-da-Raspberry-Pi>

Insira a senha para login.

3. Instale o Servidor FTP na Raspberry Pi

No terminal SSH, instale o servidor FTP vsftpd:

sudo apt update
sudo apt install vsftpd

4. Localize o Arquivo de Configuração do FTP

Use o comando abaixo para verificar a existência do arquivo vsftpd.conf:

ls /etc | grep vsftpd

Se o arquivo vsftpd.conf estiver listado, você pode editá-lo com:

sudo nano /etc/vsftpd.conf

Adicione ou certifique-se de que as seguintes linhas estão configuradas:

write_enable=YES
local_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES

Salve com Ctrl+O e saia com Ctrl+X.

Reinicie o servidor FTP para aplicar as configurações:

sudo systemctl restart vsftpd

Criando o Código em C++

1. Configure o Ambiente de Desenvolvimento

  • Instale o compilador g++:
sudo apt install g++

2. Crie o Programa em C++

  • Crie um diretório para o projeto:
mkdir projetos_cpp
cd projetos_cpp

Use o comando pwd para verificar o caminho completo do diretório:

pwd

Anote esse caminho, pois será onde o arquivo JSON será colocado. Crie um novo arquivo chamado ftp_receiver.cpp:

nano ftp_receiver.cpp

Adicione o seguinte código:

cpp

#include <iostream>
#include <fstream>
#include <string>

void processJson(const std::string& filePath) {
  std::ifstream jsonFile(filePath);
  if (jsonFile.is_open()) {
      std::string line;
      while (std::getline(jsonFile, line)) {
          std::cout << line << std::endl;  // Imprime o conteúdo do JSON
      }
      jsonFile.close();
  } else {
      std::cerr << "Erro ao abrir o arquivo JSON." << std::endl;
  }
}

int main() {
  std::string jsonFilePath = "config.json";  // Nome do arquivo esperado
  processJson(jsonFilePath);
  return 0;
}

Salve o arquivo e saia do editor.

3. Compile e Execute

Compile o programa com o g++:

g++ ftp_receiver.cpp -o ftp_receiver

Execute o programa:

./ftp_receiver

Transferindo o Arquivo JSON com FileZilla

1. Instale e Configure o FileZilla

Baixe e instale o FileZilla no Windows. Abra o programa e configure uma nova conexão:

  • Host: Endereço IP da Raspberry Pi.
  • Nome de usuário: pi (ou o nome do usuário configurado na Raspberry Pi).
  • Senha: A senha usada para SSH.
  • Porta: 21.

Conecte-se ao servidor FTP.

2. Transfira o Arquivo config.json

  • No FileZilla, navegue até o diretório do projeto (que você encontrou com pwd na Raspberry Pi, como /home/pi/projetos_cpp).
  • Transfira o arquivo config.json da máquina Windows para este diretório.

3. Execute o Programa

Na Raspberry Pi, execute novamente o programa C++ para processar o arquivo JSON:

./ftp_receiver

Conclusão

Agora, você possui um programa funcional em C++ que recebe e processa arquivos JSON via FTP na Raspberry Pi.

Compartilhe
Recomendados para você
Linux Experience
XP Inc. - Cloud com Inteligência Artificial
Microsoft AI for Tech - Azure Databricks
Comentários (0)
Recomendados para vocêMicrosoft Certification Challenge #3 DP-100