点灯科技
前言
点灯科技官网又给了例程,还是一样的不能用,自己弄了半小时可以将温湿度数据上传了。
一、图表功能介绍
保存历史数据,便于查看,能生成数据图,有利于数据的分析处理。
有组件自己的名字,还有存储键名,存储键名就是你要保存的数据。
二、代码实现
#define BLINKER_WIFI
#define BLINKER_ALIGENIE_SENSOR
#include <Blinker.h>
#include <DHT.h>
char auth[] = "xxxxxxxxxxxx";
char ssid[] = "xxxxxx";
char pswd[] = "xxxxxx";
BlinkerNumber HUMI("humi"); //数据组件名
BlinkerNumber TEMP("temp");
#define DHTPIN D7
//#define DHTTYPE DHT11 // DHT 11
#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
//#define DHTTYPE DHT21 // DHT 21 (AM2301)
DHT dht(DHTPIN, DHTTYPE);
float humi_read = 0, temp_read = 0;
void heartbeat()
{
HUMI.print(humi_read); //上传
TEMP.print(temp_read);
}
void dataStorage()
{
Blinker.dataStorage("temp", temp_read); //数据组件名,数据值
Blinker.dataStorage("humi", humi_read);
}
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.attachHeartbeat(heartbeat);
Blinker.attachDataStorage(dataStorage);
dht.begin();
}
void loop()
{
Blinker.run();
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t))
{
BLINKER_LOG("Failed to read from DHT sensor!");
}
else
{
BLINKER_LOG("Humidity: ", h, " %");
BLINKER_LOG("Temperature: ", t, " *C");
humi_read = h;
temp_read = t;
}
Blinker.delay(2000);
}
可以看的与正常的数据上传并没有什么区别,甚至都没有用到自己的组件名
Blinker.dataStorage("temp", temp_read); //数据组件名,数据值
用这个函数便可将数据上传到图表上
Blinker.attachDataStorage(dataStorage);
这个函数作用是关联回调功能
总结
其实本意并不是上传数据,我想上传文本上去的,弄了好久也不可以,不过已经找到了可以替代的方法。