M09 D2.2 Fase 2-3

Fase 2. Led GPIO16 indicador de funcionament i Widget per upTime

Afegirem un widget per visualitzar l'upTime i intermitarem el built-in led del GPIO16 per indicar que el pocessador està en marxa.

Firmware:

//emed-nodeMCU-2
//28.12.2019
//nodeMCU
//@rPrimTech Jaume Nogués
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "xxxxxxxxxxxxxxxxxxxxxxxxxx";
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "emed";
char pass[] = "pitufito*";
BlynkTimer timer;
void setup()
{
// Debug console
pinMode(16, OUTPUT);
Serial.begin(115200);
//Blynk.begin(auth, ssid, pass);
// You can also specify server:
//Blynk.begin(auth, ssid, pass, "elMeuServer.cat", 8080);
Blynk.begin(auth, ssid, pass, IPAddress(167,86,87,117), 8080);
timer.setInterval(1000L, intermita);
timer.setInterval(10000L, uptime);
}
void loop()
{
Blynk.run();
timer.run();
}
void intermita()
{
digitalWrite(16, !digitalRead(16));
}
void uptime()
{
Blynk.virtualWrite(V0, millis() / 1000);
}

Fase 3. Mesura de temperatura i humitat amb un sensor DHT11 o DHT22

Busca informació del funcionament dels sensors DHT11 i DHT22.

Instal·la la següent llibreria "a ma" per utilitzar-los.  

Connecta un DHTXX mitjançant el GPIO10 i afegeix dos widgets, un per visualitzar el valor de temperatura i un altre per l'humitat.  

Firmware:

//emed-nodeMCU-3

//28.12.2019
//nodeMCU
//@rPrimTech Jaume Nogués
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <DHT11.h>
DHT11 sensor(10);
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "xxxxxxxxxxxxxxxxxxxxxxxxxxx";
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "emed";
char pass[] = "pitufito*";
BlynkTimer timer;
void setup()
{
// Debug console
pinMode(16, OUTPUT);
Serial.begin(115200);
Serial.println(" ");
//Blynk.begin(auth, ssid, pass);
// You can also specify server:
//Blynk.begin(auth, ssid, pass, "elMeuServer.cat", 8080);
Blynk.begin(auth, ssid, pass, IPAddress(167,86,87,117), 8080);
timer.setInterval(1000L, intermita);
timer.setInterval(10000L, uptime);
timer.setInterval(20000L, mesuraDHT);
}
void loop()
{
Blynk.run();
timer.run();
}
void intermita()
{
digitalWrite(16, !digitalRead(16));
}
void uptime()
{
Blynk.virtualWrite(V0, millis() / 1000);
}
void mesuraDHT()
{
uint32_t res = sensor.leer();
float t=sensor.temperatura_C();
float h=sensor.humedad();
Serial.print("Temperatura (C): ");
Serial.println(t); // temperatura en graus Celsius
Serial.print("Humitat: ");
Serial.println(h); // humitat en %
Blynk.virtualWrite(V1, t);
Blynk.virtualWrite(V2, h);
}