Есть простая схема - NodeMCU ESP12E + DHT22.
Инфа с датчика считывается с периодом 1 сек и отображается на мониторе Arduino IDE. Каждое 5-е, 15-е, 30-е или, допустим, 300-е значение (задается переменной bl, скетч под спойлером) отправляется на сервер Blynk.
Проблема в том, что на Blynk поступают значения температуры и влажности, переданные с циклом до 15-и (15 сек), если цикл больше 15-ти, например, 30 - данные на Blynk не поступают.
Что думаете?
Инфа с датчика считывается с периодом 1 сек и отображается на мониторе Arduino IDE. Каждое 5-е, 15-е, 30-е или, допустим, 300-е значение (задается переменной bl, скетч под спойлером) отправляется на сервер Blynk.
Код:
#include "DHT.h"
#define DHTPIN 2 // D4 (gpio2)
#define DHTTYPE DHT22 // DHT 22
DHT dht(DHTPIN, DHTTYPE);
float t, h;
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
char auth[] = "b0bf3e0d02f648c6xxxxxxxxxx";
char ssid[] = "xxxxxxxx";
char pass[] = "xxxxxx";
int bl;
void sendToBlynk(){
Blynk.run();
Blynk.virtualWrite(V1, t);
Blynk.virtualWrite(V2, h);
Serial.println("T: "+String(t));
Serial.println("H: "+String(h));
}
void setup() {
Serial.begin(115200);
dht.begin();
Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 8442);
}
void loop() {
delay(1000);
h = dht.readHumidity();
t = dht.readTemperature();
if (isnan(h) || isnan(t)) {
Serial.println("Failed to read from DHT sensor!");
return;
} else if (bl >= 30){
sendToBlynk();
bl = 0;
}
Serial.println("t: "+String(t));
Serial.println("h: "+String(h));
bl++;
}
Что думаете?