Blinker 实时数据的Demo

有些情况下,我们需要查看即时数据,比如当前的加热温度。对于这种情况,可以使用 blinker 的“实时数据”功能。启用方法非常简单:在控件界面上选中“实时数据”即可。

下面是一个测试代码,每隔2秒生成一组温度湿度数据,显示在串口上同时发送到 Blinker 的服务器上。之后打开 Blinker 的APP 即可看到实时数值。

#define BLINKER_WIFI

#include <Blinker.h>

char auth[] = "你的Key";
char ssid[] = "你家WIFI名";
char pswd[] = "你家WIFI密码";

BlinkerNumber HUMI("humi");
BlinkerNumber TEMP("temp");


uint32_t read_time = 0;

float Humidity=0, Temperature=0;

void rtData()
{
    Blinker.sendRtData("temp", Humidity);
    Blinker.sendRtData("humi", Temperature);
    Blinker.printRtData();
}

void setup()
{
    Serial.begin(115200);
    BLINKER_DEBUG.stream(Serial);
    BLINKER_DEBUG.debugAll();
    pinMode(LED_BUILTIN, OUTPUT);
    digitalWrite(LED_BUILTIN, LOW);

    Blinker.begin(auth, ssid, pswd);
    Blinker.attachRTData(rtData);
    
}

void loop()
{

    Blinker.run();

    if (read_time == 0 || (millis() - read_time) >= 2000)
    {
        read_time = millis();  

        BLINKER_LOG("Humidity: ", Humidity, " %");
        BLINKER_LOG("Temperature: ", Temperature, " *C");

        if (Temperature>50.0) {Temperature=0;} else {Temperature=Temperature+0.4;}
        if (Humidity>50.0) {Humidity=0;} else {Humidity=Humidity+0.9;}
    }
}

运行之后可以在 Blinker 上看到温湿度的实时变化: