Comunicação entre 4 ESP8266 via Roteador Wi-Fi: Conexão Centralizada para IoT | Tutorial Completo
![]() |
| Comunicação entre 4 ESP8266 com central ESP com Roteador |
Como Utilizar 4 ou mais ESP8266 para Controlar uma Central ESP, e todos conectados a um Roteador Wi-Fi
No Post de hoje, iremos fazer a comunicação entre 4 ESP8266, sendo um deles a Central que receberá os comandos de cada ESP, identificará e ligará a carga correspondente a cada ESP, que no nosso caso, estamos utilizando LEDs para exemplificar, e todos conectado em seu Modem Roteador Wireless.
Por que usar uma Rede com Roteador Wi-Fi?
- Baixo custo: Utiliza o roteador Wi-Fi existente, sem necessidade de infraestrutura adicional complexa.
- Escalável: Adicione mais dispositivos ESP8266 à rede, limitado apenas pela capacidade do roteador.
- Prático: Controle centralizado via roteador, facilitando a gestão de todos os dispositivos conectados.
- Conexão confiável: Ideal para projetos IoT em ambientes onde o roteador oferece cobertura suficiente.
- Simplicidade na configuração: Não há necessidade de configurar comunicação direta entre nós, tudo passa pelo roteador.
Material Necessário
- 4x módulos ESP8266 (NodeMCU recomendado)
- 1x cabos USB para programação
- 4x Micro switches
- 4x LEDs
- 4x Resistores: 220Ω (LEDs) e 10kΩ (pull-down para chaves) [[Nota Técnica]]
- Fonte 5V (recomendado: carregador USB estável), Pode ser alimentado pelo USB do Computador
- Protoboards e jumpers
- Computador com Arduino IDE instalado
Preparação do Ambiente
Configuração da Arduino IDE
- Instale a Arduino IDE mais recente: Arduíno.cc
- Adicione o suporte ao ESP8266: Instalando Biblioteca do Modulo ESP8266 na IDE Arduino
- Configure a porta serial correta na IDE Arduino: Clique no menu “Ferramentas | Tools” logo abaixo, vá até o menu “Porta | Port“, e escolha a porta em que está o seu ESP8266.
🔌Montagem dos Hardwares na Protoboard
Todos os Clientes são ligados da mesma forma, então quantos Clientes você colocar, só estará limitado pelo tipo de Roteador Wireless que você tiver, pois as conexões serão feitas através do roteador.
A identificação de cada Cliente, é realizado alterando no código o nome de cada cliente: Cliente 01, Cliente 02, Client3 03, etc.
🔧 Montagem do Módulo Cliente na Protoboard
A montagem do módulo “Cliente” é bastante simples. O ESP cliente tem 1 LED e uma microchave tátil, tipo botão, ou Micro Switch:
- LED 1 → Conectado à porta D0 (GPIO 16)
- Micro Switch → Conectado à porta D1 (GPIO 5)
Acompanhe o esquema de montagem na Figura 2 abaixo, para entender como cada conexão deve ser feita e evitar erros.
![]() |
| Fig. 2 – Comunicação entre 4 ESP8266: Diagrama esquemático do Cliente |
Verifique as GPIO de entrada das Micro Switch, que deve seguir como no esquemático, um lado da chave ligado na porta que você programou, no nosso caso a porta é a D1 do ESP, e o outro a terra, ou GND do ESP.
🔧 Montagem do Módulo Server na Protoboard
A montagem do “Server” é simples. O ESP Server tem 4 LEDs:
- LED 1 → Conectado à porta D0 (GPIO 16)
- LED 2 → Conectado à porta D2 (GPIO 4)
- LED 3 → Conectado à porta D3 (GPIO 0)
- LED 4 → Conectado à porta D5 (GPIO 14)
Os LEDs das portas GPIO D2, D3 e D5, recebem o comando e ativa cada porta de acordo com a solicitação de cada um dos três clientes, e a GPIO D0, identifica se algum cliente conectou, se houve conexão em algum cliente, ele acende e mantem-se ativado.
Acompanhe o esquema de montagem na Figura 3 abaixo, para entender como cada conexão deve ser feita e evitar erros.
![]() |
| Fig. 03 – Comunicação entre 4 ESP8266: Diagrama esquemático do Servidor |
Você pode se interessar também!
- Unit DualMCU: A Poderosa Placa de Desenvolvimento com ESP32 e Raspberry Pi RP2040!
- Como Ler Valores Analógicos ADC Usando NodeMCU ESP8266 – IDE Arduíno!
- Como Hackear Circuito Módulo Relé para funcionar com ESP8266 & ESP32 com 3.3V
- Como utilizar o Botão Flash do NodeMCU ESP8266
- Piscando LEDs Independentes sem delay() utilizando Função millis()
- Alarme de Segurança com Sensor PIR e ESP8266 – Sensor de Movimento
⚠️Atenção com a Polaridade dos LEDs⚠️
A polaridade invertida é um erro comum e impedirá que o LED funcione corretamente.
- O terminal positivo (ânodo) do LED deve estar conectado ao pino GPIO especificado.
- O terminal negativo (cátodo) deve estar conectado ao GND (terra) do ESP ou da protoboard.
✨ Resistores? Nem sempre são necessários!
- Para os botões (Micro Switch): Usamos o recurso de Pull-Up interno do ESP, que setamos na função Void setup(): pinMode(BUTTON, INPUT_PULLUP);
- Para os LEDs: As portas GPIO operam com 3,3V, o que é compatível com a maioria dos LEDs comuns de 5mm, que funcionam entre 2,8V a 3,8V, dependendo da cor.
Dica: Se for utilizar em projetos prontos, que os LEDs serão utilizados por longo período de tempo, não para testes, como o nosso, sempre utilize resistores adequado para isso.! Alguns LEDs podem exigir resistores dependendo do modelo. Você pode está escolhendo o LED ideal, e calculando seguindo nosso artigo completo:
✅ Checklist Final Antes do Upload
- Conexões dos pinos (GPIO) com os LEDs e botões.
- Polarização correta dos LEDs.
- Se a chave está conectada à porta D1 (GPIO 5)
- Esquema de ligação igual ao referidos no Void Setup do código-fonte.
💻 O Código do projeto usado na IDE Arduino
Logo abaixo temos o código completo da Central e do Cliente, para você copiar. Sempre aconselhamos você baixar o arquivo .ino direto, pois dependendo do navegador, ele pode modificar as pontuações e as acentuações dando erro no código.
Por esse motivo deixamos no link abaixo os arquivos dispostos para você baixar, para você que deseja melhorar os conhecimentos, temos o vídeo no nosso canal, “Está no final da página” que explicamos linha a linha o código Cliente e do Server.
Código Fonte do Servidor
|
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 75 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 96 97 98 99 90 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 |
//===========================================================================================//
// SERVER // // Adapted by: Engineer Jemerson Marques, On July 29, 2019 – by Engineer Jemerson Marques // // Communication between 4 ESPs with ESP8266 central with Router // // The code was edited and adapted for this project. // // Available in FVM Learning website: https://www.fvml.com.br and on // // Youtube channel https://www.youtube.com/c/FVMLearning – I hope you have fun – Good luck // //——————————————————————————————-// //– Libraries Included ————————————————————– //———————————————————————————— WiFiServer server(80); // THE SERVER AND THE PORT NUMBER IPAddress ip(192, 168, 25, 240); // IP address of the server //==================================================================================== Serial.println(“”);
Serial.println(“Server Connected”); server.begin(); // Setting The Mode Of Pins //==================================================================================== //==================================================================================== void Availableclient() digitalWrite(LED1, HIGH); // Light Up LED1 for (uint8_t i = 0; i < MAXSC; i++) //no free/disconnected spot so reject //==================================================================================== void AvailableMessage() // ================================================================================= void ClientNumber() { if (Message == “<Cliente 01-1>”) { // Check client number, 01 = client 1, and after trace, status 1 = on, 0 = off if (Message == “<Cliente 02-1>”) { if (Message == “<Cliente 03-1>”) { //======================================== www.fvml.com.br ================================================ |
Código Fonte do Client
|
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 75 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 96 97 98 99 90 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 |
//===========================================================================================//
// CLIENT // // Communication between 4 ESPs with ESP8266 central with Router // // Adapted by: Engineer Jemerson Marques, On July 29, 2019 – by Engineer Jemerson Marques // // The code was edited and adapted for this project. // // Available in FVM Learning website: https://www.fvml.com.br and on // // Youtube channel https://www.youtube.com/c/FVMLearning – I hope you have fun – Good luck // //——————————————————————————————-// //———————————————————————————— //———————————————————————————— //==================================================================================== WiFi.begin(ssid, pass); // connects to the WiFi router CheckWiFiConnectivity(); // Checking For Connection digitalWrite(LED0, LOW); // Stop Blinking To Indicate Connected Printing IP Address ————————————————– ESPRequest(); // Conecting The Device As A Client //==================================================================================== void loop() //==================================================================================== void ReadButton() // Reading Button Function //==================================================================================== void CheckWiFiConnectivity() void ESPRequest() //=================================== www.fvml.com.br =============================================== |
📥 Download dos Códigos
Link Direto Mega: Arquivos para baixar
🧠 Atenção: Depois de baixar os códigos, lembre-se, cada ESP cliente deve ter um identificador único, altere no seu código do Cliente essa parte:
- ESP 01: Const String ClientType = “Cliente 01”;
- ESP 02: Const String ClientType = “Cliente 02”;
- E assim por diante…
🎥 Acompanhe o Tutorial em Vídeo
Você pode acompanhar esse passo a passo completo, e com o código explicado com detalhes, assistindo ao vídeo no nosso canal do YouTube.
👉 Acesse o Canal FVMLearning
👋 E por hoje é só, espero que tenhamos alcançado suas expectativas!
Agradecemos por visitar o nosso blog e esperamos tê-lo(a) novamente por aqui em breve. Não deixe de conferir nossos outros conteúdos sobre tecnologia e assuntos variados.
🙏 Se inscreva no nosso Blog! Clique Aqui — FVM Learning!
Nos ajude a divulgar nosso trabalho, compartilha nas redes sociais, Facebook, Instagram, nos grupos de WhatsApp, uma simples atitude sua, faz com que cresçamos juntos e melhoremos o nosso trabalho!
Forte abraço!
Deus vos Abençoe!
Shalom.
English
Español





