Skip to the content.

Multi-Client Server ESP32

Este repositório contém um sistema de comunicação em rede que integra clientes ESP32 e scripts Python utilizando os protocolos TCP e UDP. O projeto demonstra a diferença entre protocolos de transporte, implementando um chat multi-cliente e um sistema de monitoramento de sensores em tempo real.

🎥 Vídeo do Projeto

📂 Estrutura do Projeto

O projeto está dividido em três pilares principais:

1. tcp/ (Protocolo de Fluxo Confiável)

Implementa um servidor de chat e telemetria onde a entrega dos dados é garantida.

2. udp/ (Protocolo de Datagramas Rápidos)

Focado em velocidade e baixa latência, ideal para transmissões rápidas onde a perda ocasional de um pacote não é crítica.

3. esp32/ (Integração com Hardware)

🚀 Como Executar

Pré-requisitos

Passo a Passo

  1. Inicie o Servidor (TCP ou UDP):
    python tcp/server_tcp.py
    # ou
    python udp/server_udp.py
    
  2. Conecte os Clientes Python:
    python tcp/client_tcp.py
    
  3. Configure o ESP32:
    • No arquivo .ino, atualize as variáveis ssid, password e host (IP do seu computador).
    • Carregue o código para a placa.

🛠️ Funcionalidades Avançadas

📊 Comparativo de Implementação

Recurso TCP UDP
Conexão Orientado (Handshake) Sem conexão (Best-effort)
Garantia Reenvia pacotes perdidos Não garante entrega
Uso no Projeto Telemetria do ESP32 Chat de alta velocidade
Escalabilidade Threads por cliente Loop único de processamento

Desenvolvimento

Esse projeto foi desenvolvido para a disciplina ‘Conectividade de Sistemas Ciberfísicos’, cursada no 2° Período do curso de Bacharelado em Ciência da Computação da Pontifícia Universidade Católica do Paraná (PUCPR). O tema abordado é Redes de Computadores e Internet das Coisas.