Agora
pessoal, vamos experimentar a plaquinha NodeMCU ESP-12E, que no meu
conceito me surpreendeu muito pelo seu tamanho e versatilidade. Permitindo conectar dispositivos eletrônicos com grande facilidade utilizados no dia-a-dia
à internet.
Poder fazer o acompanhamento remoto de um dispositivo cada vez mais esta se tornando muito mais simplificado em função de inúmeras aplicações voltadas para esse fim.
Para saber mais sobre este conceito, internet das coisas, IoT.
Poder fazer o acompanhamento remoto de um dispositivo cada vez mais esta se tornando muito mais simplificado em função de inúmeras aplicações voltadas para esse fim.
Para saber mais sobre este conceito, internet das coisas, IoT.
No
nosso caso, vamos utilizar um site específico o ThingSpeak, para
capturar os dados dos nossos sensores e gerar gráficos analíticos.
Isto pode ser bem útil se desejar fazer um estudo mais detalhado das
informações.
Conhecendo a Placa
Fonte da imagem: https://forum.makehackvoid.com/uploads/default/178/df994028721a8bdf.png
Configuração da IDE do Arduino para Utilizar o
NodeMCU
Uma
das formas de conseguir programar o Node MCU é utilizando a IDE do
Arduino. Para isso vamos serguir alguns passos:
1.
Abra a sua IDE do Arduino, de preferência atualizada para a versão
mais recente, e clique em Arquivo>Preferências:
2. Na tela que abrir cole esta url
http://arduino.esp8266.com/stable/package_esp8266com_index.json
no campo Urls Adicionais para Gerenciadores de Placas. Isto é necessário para que apareça o modulo da placa para instalação, em Gerenciador de Placas.
3.
Agora acesse o Menu Ferramentas e clique em Gerenciador de Placas.
Abrirá uma caixa com várias placas para instalar, role a barra até
chegar ao final e selecione esp8266 by ESP8266 Community e clique no
botão instalar. Na minha IDE como já instalei, aparece como instalado.
4.
Agora Acesse o Menu Ferramentas>Placas e escolha NodeMCU
0.9(ESP-12 Module)
Para
iniciar nos testes com NodeMCU, vamos usar o DHT 11, já connhecido
nosso dos outros posts, sensor de temperatura e umidade.
Lembrando
que para utilizá-lo é importante ter a bilbioteca instalada em seu
computador. Se ainda não tem baixe: libraries
Salve
todas as pastas de libraries em seu computador em
Arduino>libraries
Ela contém todas as biliotecas dos posts dos projetos do blog.
Montagem
Testando a Montagem – Monitor Serial
Configurando a Aplicação no ThingSpeak
Após realizada as confiurações na IDE do Arduino, realizados os
testes no Monitor Serial, vamos configurar nossa aplicação no
ThingSpeak.
Vamos acessar ThingSpeak
Para usar o ThingSpeak para exibir os dados, é necessário realizar
um cadastro de forma gratuita no site para poder usufruir desta
excelente ferramenta. Será enviado um e-mail do ThingSpeak pedindo
para confirmar o seu cadastro. Faça a sua confirmação.
Agora faça o seu login:
Criação do canal para a nossa aplicação
Para exibir as informações é necessário também criar um "Canal" . Nele será configurado os campos que desejar ser exibido.
Agora para finalizar, se desejar, poderá deixar o seu canal público, marcando a opção “Make Public”, só copiar a sua Url para mais tarde se desejar, compartilhar com outras pessoas.
Agora para finalizar, se desejar, poderá deixar o seu canal público, marcando a opção “Make Public”, só copiar a sua Url para mais tarde se desejar, compartilhar com outras pessoas.
Marque a opção “Show Status” e clique no botão “Save
Channel”.
Após criado o seu canal, um passo importante é pegal o seu
“apiKey”, clicando em API Keys.
Em “Write API Key”, copie a chave formada por números e
caracteres:
Esta “chave ” é responsável por abrir o seu canal para realizar
a comunicação com seu NodeMCU e “escrever” os dados no
ThingSpeak. Cada canal que você criar irá gerar uma nova APIKey, e
deverá ser setada no código fonte que for compilar em seu NodeMCU:
Dados Exibidos no ThingSpeak
Acesse o Canal: https://thingspeak.com/channels/236276
A Referência do código fonte: https://www.instructables.com/id/Esay-IoT-Weather-Station-With-Multiple-Sensors/
//www.arduinesp.com
//
// Plot DTH11 data on thingspeak.com using an ESP8266
// April 11 2015
// Author: Jeroen Beemster
// Website: www.arduinesp.com
#include <DHT.h>
#include <ESP8266WiFi.h>
// replace with your channel’s thingspeak API key,
String apiKey = "Copie o Write API Key";
const char* ssid = "Nome da sua rede";
const char* password = "senha";
const char* server = "api.thingspeak.com";
#define DHTPIN 2 // SO CONNECT THE DHT11/22 SENSOR TO PIN D4 OF THE NODEMCU
DHT dht(DHTPIN, DHT11,15); //CHANGE DHT11 TO DHT22 IF YOU ARE USING DHT22
WiFiClient client;
void setup() {
Serial.begin(115200);
delay(10);
dht.begin();
WiFi.begin(ssid, password);
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
}
void loop() {
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
if (client.connect(server,80)) { // "184.106.153.149" or api.thingspeak.com
String postStr = apiKey;
postStr +="&field1=";
postStr += String(t);
postStr +="&field2=";
postStr += String(h);
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);
Serial.print("Temperature: ");
Serial.print(t);
Serial.print(" degrees Celcius Humidity: ");
Serial.print(h);
Serial.println("% send to Thingspeak");
}
client.stop();
Serial.println("Waiting…");
// thingspeak needs minimum 15 sec delay between updates
delay(20000);
}
Referências:
A Referência do código fonte: https://www.instructables.com/id/Esay-IoT-Weather-Station-With-Multiple-Sensors/
//www.arduinesp.com
//
// Plot DTH11 data on thingspeak.com using an ESP8266
// April 11 2015
// Author: Jeroen Beemster
// Website: www.arduinesp.com
#include <DHT.h>
#include <ESP8266WiFi.h>
// replace with your channel’s thingspeak API key,
String apiKey = "Copie o Write API Key";
const char* ssid = "Nome da sua rede";
const char* password = "senha";
const char* server = "api.thingspeak.com";
#define DHTPIN 2 // SO CONNECT THE DHT11/22 SENSOR TO PIN D4 OF THE NODEMCU
DHT dht(DHTPIN, DHT11,15); //CHANGE DHT11 TO DHT22 IF YOU ARE USING DHT22
WiFiClient client;
void setup() {
Serial.begin(115200);
delay(10);
dht.begin();
WiFi.begin(ssid, password);
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
}
void loop() {
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
if (client.connect(server,80)) { // "184.106.153.149" or api.thingspeak.com
String postStr = apiKey;
postStr +="&field1=";
postStr += String(t);
postStr +="&field2=";
postStr += String(h);
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);
Serial.print("Temperature: ");
Serial.print(t);
Serial.print(" degrees Celcius Humidity: ");
Serial.print(h);
Serial.println("% send to Thingspeak");
}
client.stop();
Serial.println("Waiting…");
// thingspeak needs minimum 15 sec delay between updates
delay(20000);
}
Nenhum comentário:
Postar um comentário