Você está na página 1de 23

Internet das Coisas com ESP8266

INTERNET DAS
COISAS

COM ESP8266

1
EngEasier – Todos Direitos Reservados
Internet das Coisas com ESP8266

Introdução

Neste eBook você irá aprender a criar uma automação utilizando o Módulo
ESP8266. Este módulo pode conectar o seu Arduino a uma rede WiFi ou até
mesmo utilizar somente ele, pois possui dois pinos de entrada e saída. Você
pode usá-lo como Ponto de Acesso ou como Estação. Este módulo trabalha
com uma tensão de 3,3V, para isso vamos utilizar um adaptador FTDI.

Você aprenderá a configurá-lo para utilizar a IDE do Arduino, a programá-lo


criando uma interface HTML e as ligações eletrônicas.

Materiais necessários:

 1 x ESP01

 1 x Adaptador FTDI

2
EngEasier – Todos Direitos Reservados
Internet das Coisas com ESP8266

 USB

 1 x Protoboard

3
EngEasier – Todos Direitos Reservados
Internet das Coisas com ESP8266

 Resistores 220Ω e 10kΩ

 LED

4
EngEasier – Todos Direitos Reservados
Internet das Coisas com ESP8266

 Jumpers Fêmea x Macho e Macho x Macho

 Pushbutton

5
EngEasier – Todos Direitos Reservados
Internet das Coisas com ESP8266

Configuração

Para programarmos a ESP8266 com a IDE do Arduino, precisamos fazer


algumas configurações.

O primeiro passo é instalar os pacotes do módulo ESP8266 na IDE. Para isso


vamos a Arquivo -> Preferências:

Uma janela se abrirá. Copie a URL abaixo e cole no campo “Additional Boards
Manager URLs”:

http://arduino.esp8266.com/stable/package_esp8266com_index.json

6
EngEasier – Todos Direitos Reservados
Internet das Coisas com ESP8266

Agora vá a Ferramenta -> Placa -> Gerenciador de Placa...

Nesta janela, procure pelo módulo ESP8266 e clique em instalar:

7
EngEasier – Todos Direitos Reservados
Internet das Coisas com ESP8266

Vá a Ferramentas -> Placa -> Generic ESP8266 Module:

8
EngEasier – Todos Direitos Reservados
Internet das Coisas com ESP8266

Vá novamente a "Tools" e use as configurações conforme a imagem abaixo.


Flash Mode: “DIO”
Flash Frequency: “40MHz”
CPU Frequency: "80MHz"
Flash Size: “512k (64k SPIFFS)
Debug port: “Disable”
Debug Level: “Nenhum”
Reset Method: “ck”
Upload Speed: “115200”
Para a Porta use a Porta USB na qual o seu módulo está conectado no
computador.

9
EngEasier – Todos Direitos Reservados
Internet das Coisas com ESP8266

Pronto, a IDE já está configurada. Agora temos que fazer as conexões para
conseguirmos programar a ESP8266.
Vamos ver a pinagem da placa:

10
EngEasier – Todos Direitos Reservados
Internet das Coisas com ESP8266

Lembre-se de utilizar o FTDI na configuração para 3,3V:

11
EngEasier – Todos Direitos Reservados
Internet das Coisas com ESP8266

A ligação do circuito fica assim:

ESP8266 Pinos
TX RX do FTDI
CH_PD Pushbutton
RST -
3,3V VCC do FTDI
GND GND do FTDI
GPIO2 Para o Resistor do LED
GPIO0 GND*
RX TX do FTDI

* O fio cinza ligado ao GPIO0 fica no GND quando for gravar o código.
Assim que terminar, remova-o para que o código não seja apagado.

Sempre que for gravar um novo código, aperte o pushbutton.

12
EngEasier – Todos Direitos Reservados
Internet das Coisas com ESP8266

Programação

Agora vamos começar a programação da ESP8266.

Parte 1 - Nesta parte iremos defini-lo como Ponto de Acesso (Access Point), ou
seja, nós iremos conectar o nosso celular com o Wifi gerado pela placa.
Também iremos criar uma pequena página HTML para fazer a interface.

Vamos abrir novamente a IDE de Arduino (no meu caso eu coloquei um tema
diferente na minha, por isso está preta). O primeiro passo será adicionar as
bibliotecas que vamos utilizar:

Agora vamos definir o nome da nossa rede (ssid) e a senha (password) para
conseguirmos acessá-la (O nome e a senha ficam ao seu critério):

13
EngEasier – Todos Direitos Reservados
Internet das Coisas com ESP8266

Vamos definir para ela usar um servidor na porta 80. Esta escolha é porque a
porta 80 é uma porta padrão Nós vamos acessar esse servidor, após nos
conectarmos a rede da ESP8266, pelo IP: http://192.168.4.1:

E agora vamos criar uma String para armazenar a nossa página:

No Setup, vamos criar a nossa página web com dois botões (esta página foi
desenvolvida em HTML), inicializar a Serial, para conseguirmos enxergar no
Monitor Serial o que está acontecendo em tempo real com a ESP. Também
vamos definir o pino que o LED está conectado como saída e colocarmos em
nível lógico 0:

14
EngEasier – Todos Direitos Reservados
Internet das Coisas com ESP8266

Continuando no Setup, vamos fazer com que a placa gere o Wifi que
previamente configuramos. Ela também mostrará na Serial qual o seu IP, mas
como não configuramos nenhum, será o padrão (192.168.4.1):

Agora iremos chamar a página quando digitarmos o IP no navegador. Também


teremos as condições quando apertarmos os botões. Na imagem abaixo você
verá que quando apertamos o botão ON, ele irá colocar o nível lógico em 1
(HIGH) e irá ligar o LED e quando apertamos o botão OFF, ele irá colocar o
nível lógico em 0 (LOW) e irá desligar o LED:

E por último no Setup, vamos iniciar o nosso servidor:

15
EngEasier – Todos Direitos Reservados
Internet das Coisas com ESP8266

No Loop teremos apenas uma instrução. Ela serve para ficar lidando com a
conexão do Servidor com o Cliente, no caso entre a ESP e o navegador:

Agora é só compilar o código e carregar para a ESP e assim que finalizar, abrir
as configurações do WiFi do seu celular ou notebook, conectar-se a rede e a
senha que você definiu, abrir o navegador e digitar o IP 192.168.4.1. A nossa
página ficará assim:

Para deixa-la mais agradável e personalizada, você pode estudar mais sobre
HTML e CSS.

Parte 2 – Vamos agora modificar algumas partes da nossa programação para


fazer a nossa ESP conectar-se a rede WiFi da nossa casa.

A primeira mudança será no campo em que definimos o nome e senha da


nossa rede. Agora temos que colocar os dados da rede WiFi da nossa casa:

16
EngEasier – Todos Direitos Reservados
Internet das Coisas com ESP8266

Agora no Setup vamos tirar a parte da configuração em que ele gera o WiFi e
vamos inserir uma instrução para ele conectar-se ao seu WiFi:

Vamos agora verificamos se o ESP8266 se conectou à rede (ele retorna status


WL_CONNECTED quando está conectado). Quando ele conectar, irá sair do
“while”:

E por último vamos definir um IP fixo para a ESP, o que facilitará a nossa
conexão a ela, pois caso deixarmos um IP dinâmico, sempre teremos que
pesquisar qual foi atribuído à ela. O gateway é o IP do seu roteador, a subnet
você pode deixar a mesma:

Pronto! Com essas alterações a sua placa ESP irá conectar-se diretamente ao
WiFi da sua casa. Agora você não precisa mais conectar seu celular ou
notebook à rede gerada por ela.

Para abrir a página web e controlar o LED o seu celular/notebook precisam


apenas estar conectados a mesma rede que a ESP e você precisa digitar no
navegador o IP fixo que você definiu.

17
EngEasier – Todos Direitos Reservados
Internet das Coisas com ESP8266

Aplicativo para Android

Vamos agora desenvolver um Aplicativo para Android que iremos utilizar para
controlar a nossa ESP!

Não vou explicar com detalhes aqui o início do desenvolvimento, pois explico o
passo a passo no curso de Automação com Arduino e Android. Caso ainda não
tenha aprendido a desenvolver o App do zero, vá lá e depois volte aqui!

Para o design do App precisamos de apenas dois botões. No meu caso eu


escolhi duas fotos simples para colocar neles, sinta-se a vontade para procurar
outras que melhor lhe convém. Também coloquei dois blocos de Organização
para espaçar os botões:

Também precisamos inserir o Componente Web, que fará a nossa conexão


com a internet. Para isso vamos a Conectividade e arrastamos o componente
Web para a tela:

18
EngEasier – Todos Direitos Reservados
Internet das Coisas com ESP8266

Agora na área de Bloco, vamos criar uma variável chama ip e vamos colocar
um texto à ela. Neste texto colocaremos o IP que definimos como fixo na
programação da ESP:

(não se esqueça de colocar a “/” no final)

19
EngEasier – Todos Direitos Reservados
Internet das Coisas com ESP8266

Agora vamos adicionar o controle dos botões! Como ensinei no curso de


Automação com Arduino e Android, coloque o componente Quando Clique:

Agora vamos definir a função que o botão irá executar quando clicarmos nele.
Então assim que clicar, precisamos ajustar a URL para simularmos o
navegador mandando as informações para a ESP:

20
EngEasier – Todos Direitos Reservados
Internet das Coisas com ESP8266

E montamos assim:

Observe que pegamos a variável “ip”, que é o nosso IP da ESP, e juntamos


com a palavra “on”, que é a palavra que nosso Webserver entende que é para
ligar o LED.

21
EngEasier – Todos Direitos Reservados
Internet das Coisas com ESP8266

Para o próximo botão, podemos copiar o bloco clicando com o botão direito e
indo a duplicar e mudar apenas o nome do botão e a palavra para off:

Pronto! Nosso App está pronto:

22
EngEasier – Todos Direitos Reservados
Internet das Coisas com ESP8266

Baixe ele para o seu celular, ligue sua ESP, espere ela conectar a rede da sua
casa e controle o LED pelo seu aplicativo!

No lugar do LED você pode conectar qualquer coisa que queira ligar e desligar
para aumentar a complexidade da sua Automação. Use o conhecimento
adquirido por todo o curso e desenvolva automações completas!

Espero que tenha aproveitado este eBook!

23
EngEasier – Todos Direitos Reservados

Você também pode gostar