Você está na página 1de 22

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO

ESPÍRITO SANTO – IFES


CAMPUS SÃO MATEUS

Coordenadoria de Eletrotécnica

Sistemas Digitais:
ESP8266
Internet das Coisas

Tiago Zanotelli

São Mateus
Internet das Coisas
Objetivo:
• Desenvolver um sistema de monitoramento baseado em
IoT usando ThingSpeak e ESP8266.

2
ESP8266
PINOS

- Funciona com apenas 3.3 V


- Só tem uma entrada AD

3
ESP8266
PINOS

Fonte:
1)
https://youtu.be/URtIbITbGbU

2) COMANDOS VIA WIFI! | NodeMCU ESP8266 4


https://youtu.be/NmkeIpD8WG8
ESP8266

https://pt.aliexpress.com/item/32520574539.html?spm=a2g0o.order_list.0.0
.21efcaa4niuK6B&gatewayAdapt=glo2bra

Chip CH340

5
Programando o ESP8266 pela Arduino IDE

Fonte:

https://www.robocore.net/tutoriais/programando-o-esp8266-pela-arduino-ide?gclid=CjwK
CAjwi8iXBhBeEiwAKbUofSSaEUj0bYH-4kjFT47aC9rI2HFGiHvtZcA-NQRLnlUr-3XgmBHUSBoC
2h8QAvD_BwE

6
Programando o ESP8266 pela Arduino IDE

1) Primeiramente, é necessário adicionar o pacote de placas do módulo ESP8266. Para


isso, abra o painel "Preferências" da Arduino IDE (Arquivo > Preferência). Com o painel
aberto, digite o link

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

7
Programando o ESP8266 pela Arduino IDE

2) Agora, para baixar o pacote de placas compatíveis com o módulo ESP8266, abra o
"Gerenciador de Placas" (Ferramentas > Placa > Gerenciador de Placas),

e digite no campo de pesquisa esp8266. E instale o pacote do resultado


da pesquisa, como na imagem abaixo

8
Programando o ESP8266 pela Arduino IDE

3) Selecione a placa NodeMUC 1.0 (observações: testei com a placa Generic


ESP8266 Module e NodeMUC 0.9 e ambas funcionaram).

9
Programando o ESP8266 pela Arduino IDE

4) Selecione a Porta, no caso do exemplo é a porta COM4, porém pode variar.


(talvez seja necessário instalar o CH340).

10
Programando o ESP8266 pela Arduino IDE

5) Com a instalação finalizada, abra o exemplo "Blink" da Arduino IDE (Arquivo >
Exemplos > ESP8266 > Blink). Ele deve ser similar ao código abaixo, que foi extraído da
IDE.

Observação: LED_BUILTIN corresponde ao pino. Caso tenha algum problema ao ligar


o LED, pode alterar o LED_BUILTIN para o pino 2.

11
Programando o ESP8266 pela Arduino IDE

5) Exemplo anterior para o pino 2.

12
Programando o ESP8266 pela Arduino IDE

Referências:

https://www.filipeflop.com/blog/programar-nodemcu-com-ide-arduino/

Planta IoT com ESP8266 NodeMCU

https://www.filipeflop.com/blog/planta-iot-com-esp8266-nodemcu/
https://www.filipeflop.com/blog/planta-iot-com-esp8266-nodemcu-parte-2/

https://www.filipeflop.com/blog/planta-iot-com-esp8266-nodemcu-parte-3/

Monitore o BitCoin com ARDUINO!!!! 💰🤑 (Placa NodeMCU com Esp8266)

https://youtu.be/tDne71N_BM0

Módulos Relé com ESP8266 e ESP32


https://youtu.be/gNv8tzyb0BU 13
Configurando o ThingSpeak

Fonte:
https://thingsbr.com.br/monitoramento-de-temperatura-e-umidade-baseado-em-iot-us
ando-thingspeak-e-esp8266/

14
Configurando o ThingSpeak

1) Para criar sua conta, no  https://thingspeak.com/

15
Configurando o ThingSpeak

2) Crie um canal para seus dados

Depois de fazer login após a verificação de sua conta, crie um novo canal
clicando no botão “Novo canal”

16
Configurando o ThingSpeak

2) Crie um canal para seus dados

Habilite a quantidade de Field que desejar.

17
Configurando o ThingSpeak

3) Chave API

Para enviar dados para o ThingSpeak, precisamos de uma chave API exclusiva, que
usaremos posteriormente em nosso código para encaminhar os dados para o site do
ThingSpeak.

Clique no botão “Chaves API” para obter sua chave API exclusiva para carregar dados 

18
Programando ESP8266 para fazer upload de dados
para o ThingSpeak
#include <ESP8266WiFi.h>
String apiKey = “XXX"; // Entrada da chave criada no thingspeak
const char *ssid = " XXXX"; // Rede para conexão
const char *pass = “XXXX"; // Senha da rede
const char* server = "api.thingspeak.com";
WiFiClient client;
void setup()
{
Serial.begin(115200); //Inicializa a comunicacao serial
Serial.println("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, pass);
//verifica se a comunicação está funcionando
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
}
19
void send_thingspeak()
{
if (client.connect(server,80)) // "184.106.153.149" or api.thingspeak.com
{
String postStr = apiKey;
postStr +="&field1=";
postStr += String(valor);//encaminhar o valor de 40- mas pode enviar valores do sensores
postStr +="&field2=";
postStr += String(valor);
//postStr +="&field3="; //pode incluir mais campos.
//postStr += String(80);
postStr += "\r\n\r\n";

client.print("POST /update HTTP/1.1\n");


client.print("Host: api.thingspeak.com\n");
client.print("Connection: close\n");
client.print("X-THINGSPEAKAPIKEY: "+apiKey+"\n");
client.print("Content-Type: application/x-www-form-urlencoded\n");
client.print("Content-Length: ");
client.print(postStr.length());
client.print("\n\n");
client.print(postStr);
}
client.stop();
Serial.println("Waiting...");
} 20
void loop()
{
send_thingspeak();
}

21
Resultado

22

Você também pode gostar