Como conectar o ESP8266 à internet

Como conectar o ESP8266 à internet? 6

Neste artigo você aprenderá a conectar o ESP8266 à Internet. Utilizaremos a placa de desenvolvimento WiFi ESP8266 NodeMCU ESP-12. Mas também será possível replicar o conceito de aprendizado em outras placas de desenvolvimento e módulos do ESP8266. Como ambiente de programação utilizaremos a IDE do Arduino.

Como configurar o ESP8266?

A placa NodeMCU ESP8266 deve ser adicionada no gerenciador de placas da IDE do Arduino. Caso ainda não tenha feito isso, sugiro que acompanhe os passos do post Como programar o NodeMCU com IDE Arduino

Alguns usuários relatam instabilidade na conexão, por isso recomendo que utilize a versão da placa 2.3.0. Depois que der certo, teste versões mais atualizadas.

Na IDE do Arduino vá em “Ferramentas”. Escolha a placa que você está em mãos. No meu caso é a “NodeMCU 1.0 (ESP-12E Module)”

Importante ressaltar que existem diversas possibilidades de configurações. Para reproduzir esse teste de conexão proposto eu utilizei (e recomendo que vocês também o façam) as configurações conforme imagem acima.

O código fonte para testes de conexão possui poucas linhas e está comentado.
Inserir o nome da sua rede e a senha, respectivamente em, WLAN SSID e WLAN PASS.

/* Programa para Artigo FilipeFlop
 * Como Conectar o ESP8266 à Internet
 * Autor: Eduardo Castro
 * Gerenciador de placas: "ESP8266 Community versão 2.3.0"
 * Placa: "NodeMCU 1.0 (ESP-12E Module)"
*/
// ======================================================================
// --- Inclusão da biblioteca ---
#include <ESP8266WiFi.h> 
// ======================================================================
// --- Dados de Acesso do seu roteador ---
#define WLAN SSID   "XXXXXXXX"   // nome da sua rede
#define WLAN PASS  "XXXXXXXX"   // senha de acesso do seu roteador
WebClient Secure cliente; //Cria um cliente seguro (para ter acesso ao HTTPS)
// ======================================================================
void setup()
{
  Serial.begin(115200); // Inicia Serial com Baud Rate de 115200
  Serial.println();      
  WiFi.mode(WIFI STA); //Habilita o modo estação
  WiFi.begin(WLAN SSID, VLAN PASS); //Inicia WiFi com os dados preenchidos 
  delay(1000); // aguarda 1 segundo
  Serial.print("Conectando"); 
  while (WiFi.status() != WL_CONNECTED) // Tentando conectar na Rede WiFi
  {
    delay(500);
    Serial.print(".");
  }
  Serial.println();
 
  Serial.print("Conectado | Endereço IP: "); // Imprime na Serial
  Serial.println(WiFi.localIP()); //Imprime o Endereço IP Local do ESP8266
  delay(1000); // aguarda 1 segundo
}
 
// ======================================================================
void loop() {
  if (cliente.connect("sheets.googleapis.com", 443) == true) {    
  //Tenta se conectar ao servidor do Google APIs na porta 443 (HTTPS)
     Serial.println("Conseguiu conexão com Servidor Google APIs");
  }
  else {
      Serial.println("Falha na conexão com Servidor Google APIs");
  }
  
  delay(3000); // aguarda 3 segundos
}
// --- FIM ---

Ao término, abra o monitor serial da IDE e verifique o status. Sendo bem-sucedido você terá um resultado conforme o meu:

Vamos conceituar alguns pontos.:

  • Para verificar se a conexão foi ou não bem sucedida é necessário que o monitor serial funcione. Para isso, verificar se a velocidade está 115200.
  • Na programação existe a ação de conectar com o roteador. Essa é a primeira etapa para podermos conectar o ESP8266 à Internet. O endereço IP que você visualizará no monitor serial é local, ou seja, atribuído pelo seu roteador.
  • Durante a função void loop(), o ESP8266 fica tentando conectar com o servidor do Google para API. Essa parte da programação é para verificar se está conectado à Internet e não somente em uma rede local.  

Solucionando ESP8266 não conectando ao WiFi 

A falha de conexão com a rede WiFi pode ser causada por alguns fatores. Dentre eles destaco:

1 – O ESP8266 tem uma particularidade do estado inicial dos seus GPIOs durante a inicialização. Como nosso intuito é realizar a conexão com a Internet, sugiro que deixe o ESP8266 somente com as ligações de alimentação e comunicação. Se estiver com um NodeMCU pode utilizar somente o cabo USB.

2 – Preenchimento errado dos dados de acesso do seu roteador irá te causar erro na conexão. Observe que no código de programação deixei em aberto para que você preencha as informações WLAN SSID e WLAN PASS, que são respectivamente, o nome e a senha da sua rede. Vale lembrar que a captação desses caracteres é case sensitive, ou seja, diferencia maiúsculos e minúsculos.

3 – Se o seu roteador estiver sem conexão com a Internet, então você terá o feedback pelo monitor serial do seu IP local mas não terá a confirmação de acesso com o servidor Google. Faça um teste com o seu smartphone ou computador verificando se está tudo bem com sua conexão com a Internet.

4 – É difícil, mas já vi incompatibilidade com o provedor de internet. Para solucionar, teste em redes diferentes. Sugiro que realize testes com o seu smartphone funcionando como roteador WiFi. Você inclusive poderá verificar os dispositivos conectados de maneira fácil e rápida.

Ideias de projetos de automação residencial com ESP8266

Com a demanda crescente por temas como Indústria 4.0 e IoT (Internet das Coisas), as tecnologias eletroeletrônicas que se conectam à internet tornaram-se mais acessíveis, tanto no ponto de vista do acesso à informação quanto ao preço para aquisição.

O blog FilipeFlop está repleto de sugestões e insights. Destaquei aqui algumas possibilidades de como automatizar uma residência utilizando o  ESP8266.

Monitoramento do volume da sua caixa d’água
Utilizando o protocolo MQTT, um ESP8266 e um sensor ultrassônico, você consegue monitorar a quantidade de água da sua residência, seja casa ou apartamento. Com ele será possível o morador saber o quanto de água possui em seu reservatório naquele momento e o histórico, conhecer a curva de consumo e abastecimento ao longo do dia, semana e ou mês.

Controlando a iluminação do ambiente ESP8266
Utilizando fitas de LED endereçáveis e nosso controlador ESP8266, é possível fazer a harmonização de um ambiente, a sala de estar, por exemplo. Imagine que espetáculo seria embutir essas fitas na sanca e poder controlar pelo smartphone a coloração e intensidade de brilho. Gostou da ideia? Então saiba mais em Como controlar fita de leds por wifi usando ESP8266.

– Acionamento de circuitos através de Relé WiFi ESP8266
Utilizando como base o artigo Como usar o Módulo Relé Wifi ESP8266 IoT com Blink, você pode dar seu pontapé inicial na domótica. O projeto modelo aciona uma lâmpada como carga do relé, o que é muito interessante e serve como substituto funcional do nosso exemplo anterior. Neste caso, você teria somente dois estados, ligado e desligado, mais simples e interessante de aplicar onde não há interesse em harmonização e sim acionamento. A ideia não limita-se a iluminação, serve de maneira geral para cargas que estejam dentro dos limites estabelecidos pelo relé (250V/10A).

São apenas ideias e sugestões. Uma das inúmeras possibilidades de maneiras diferentes de se fazer, o importante é começar. 

Finalizo com uma frase que gosto muito e é atribuída a Albert Einstein: “O impossível existe até quando alguém duvide dele e prove ao contrário”.

Gostou de aprender a como conectar o ESP8266 à internet? Deixe seu comentário. Compartilhe a experiência. Sua participação é muito importante para o Universo Maker.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

6 Comentários

  1. Tenho dificuldade em acessar minha node mcu. Comprei a placa e módulo relé.mas não consigo carregar nenhum steck

    1. Olá,
      Tente segurar um dos push button da NodeMCU enquanto a IDE tenta transmitir o programa.

      Eduardo de Castro Quintino
    2. Olá,

      Poderia dar mais detalhes sobre o problema? Qual é o erro apresentado?

      Abraço!
      Rosana – Equipe FilipeFlop

  2. Boa tarde, sou novo nesta área. Quando preciso desligar e religar o meu roteador wifi, o esp não reconecta automaticamente. Tem alguma linha de comando que poderei acrescentar para faze-lo reconectar automaticamente. Desde já te gradeço se puder me ajudar.

    1. Olá, boa tarde.

      Note que a rotina principal do código não possui uma tentativa de reconexão caso caia ou seja inexistente.

      Dê uma olhada em outro artigo, é exatamente a sua dúvida:
      https://www.filipeflop.com/blog/reconexao-automatica-esp8266/

      Eduardo de Castro Quintino
  3. queria acender o led do 8266 para saber q ele esta conectado ao wifi, consigo fazer isso apenas usando a biblioteca do blynk, mas neste caso estou usando o sistema via telegran. poderia dar alguma diretriz de como fazer este codigo ?