求助:两个设备,只有一个设备显示历史图表数据
本帖最后由 Nicetrip 于 2020-8-19 08:05 编辑两个相同的8266设备,程序都一样,只是设备密钥不同。程序带数据存储功能 ,目前两个设备的实时数据都正常,现在的问题是只有一个设备显示历史图表数据,另一个不显示历史图表数据。核对过APP的KEY,没有错误。问题到底出在哪里?另外自己可以查看后台的设备数据吗?
我在后台看到你第二设备里,没有数据,不是不能显示,而是设备没有存储数据。
如果您确认程序有存储,那您看看串口调试信息,是否有存储失败的提示。
免费用户只有5个存储key,可能是你除了图上5个外还在创建新的key导致存储失败了 奈何col,你好!是这样,这两个key都是新申请的,一个好用,一个不好用 Nicetrip 发表于 2020-8-19 10:23
奈何col,你好!是这样,这两个key都是新申请的,一个好用,一个不好用
调试信息 管理员辛苦了.:)两个设备的程序是一样的,只是密钥不同,其中一个可以存储数据的,所以程序应该问题不大。下面的图串口信息出现问题。什么原因??我只有两个设备啊?如何解决!
触发存储限制了
你第二个设备还在向其他key存数据吧 奈何col 发表于 2020-8-19 13:14
调试信息
ERROR : max device data key size limit 本帖最后由 Nicetrip 于 2020-8-19 19:42 编辑
奈何col 发表于 2020-8-19 18:53
触发存储限制了
你第二个设备还在向其他key存数据吧
奈何col你好,你所说的向其他KEY存数据我没能理解。所谓的5个《数据存储 独立设备 共计5个Key》 是账号下所有设备的数据字段数量之和不能超过5个还是每个设备的数据字段数量不能超过5个?
奈何col 发表于 2020-8-19 18:53
触发存储限制了
你第二个设备还在向其他key存数据吧
奈何col你好,你所说的向其他KEY存数据我没能理解。所谓的5个《数据存储 独立设备 共计5个Key》 是账号下所有设备的数据字段数量之和不能超过5个还是每个设备的数据字段数量不能超过5个?下边的代码除了密钥不同外,被刷入连个相同的设备,这样会引起数据存储冲突吗?
/*
*/
#define BLINKER_WIFI
#define BLINKER_ALIGENIE_SENSOR
#define BLINKER_PRINT Serial
#include <Blinker.h>
#include <DHT.h>
char auth[] = "xxxxxxxx";//
char ssid[] = "xxxxxxxx";
char pswd[] = "xxxxxxxx";
BlinkerNumber HUMI("humi");
BlinkerNumber TEMP("temp");
BlinkerNumber GZ("sv");
BlinkerNumber TR("turang");
BlinkerButton Button1("btn-01");
BlinkerNumber Number1("num-01");
BlinkerButton Button2("btn-02");
BlinkerNumber Number2("num-02");//blinker-APP按键要与引号中的字符相同
BlinkerButton Button3("btn-03");
BlinkerNumber Number3("num-03");//blinker-APP按键要与引号中的字符相同
int counter = 0;
// 按下按键即会执行该函数
void button1_callback(const String & state) {
BLINKER_LOG("get button state: ", state);
digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
}
void button2_callback(const String & b) {
BLINKER_LOG("get button state: ", b);
digitalWrite(21, !digitalRead(21));
}
void button3_callback(const String & aaa) {
BLINKER_LOG("get button state: ", aaa);
digitalWrite(22, !digitalRead(22));
}
#define DHTPIN 17 //ARDUINO D1板直接接到 D9
#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,sv_read = 0,turang_read=0;
void heartbeat()
{
HUMI.print(humi_read);
TEMP.print(temp_read);
GZ.print(sv_read);
TR.print(turang_read);
}
void dataStorage()
{
Blinker.dataStorage("temp", temp_read);
Blinker.dataStorage("humi", humi_read);
Blinker.dataStorage("sv",sv_read);
Blinker.dataStorage("turang",turang_read);
}
void aligenieQuery(int32_t queryCode)
{
switch (queryCode)
{
case BLINKER_CMD_QUERY_ALL_NUMBER :
BLINKER_LOG("AliGenie Query All");
BlinkerAliGenie.temp(temp_read);
BlinkerAliGenie.humi(humi_read);
// Blinker.dataStorage(sv_read);
BlinkerAliGenie.print();
break;
case BLINKER_CMD_QUERY_TEMP_NUMBER :
BlinkerAliGenie.temp(temp_read);
BlinkerAliGenie.print();
break;
case BLINKER_CMD_QUERY_HUMI_NUMBER :
BlinkerAliGenie.humi(humi_read);
BlinkerAliGenie.print();
break;
default :
BlinkerAliGenie.temp(20);
BlinkerAliGenie.humi(20);
BlinkerAliGenie.print();
break;
}
}
// 如果未绑定的组件被触发,则会执行其中内容
void dataRead(const String & data)
{
BLINKER_LOG("Blinker readString: ", data);
counter++;
Number1.print(counter);
}
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);
BlinkerAliGenie.attachQuery(aligenieQuery);
Blinker.attachDataStorage(dataStorage);
dht.begin();
#if defined(BLINKER_PRINT)
BLINKER_DEBUG.stream(BLINKER_PRINT);
#endif
// 初始化有LED的IO
pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, HIGH);
pinMode(21, OUTPUT);
pinMode(22, OUTPUT);
// 初始化blinker
Blinker.begin(auth, ssid, pswd);
Blinker.attachData(dataRead);
Button1.attach(button1_callback);
Button2.attach(button2_callback);
Button3.attach(button3_callback);
}
void loop()
{
Blinker.run();
float h = dht.readHumidity();
float t = dht.readTemperature();
int tr = analogRead(A3);
int s = analogRead(A0);
s=2600-s;
if (isnan(h) || isnan(t))
{
BLINKER_LOG("Failed to read from DHT sensor!");
}
else
{
BLINKER_LOG("Humidity: ", h, " %");
BLINKER_LOG("Temperature: ", t, " *C");
BLINKER_LOG("RG: ", s);
BLINKER_LOG("TR: ", tr);
humi_read = h;
temp_read = t;
sv_read=s;
turang_read=tr;
}
Blinker.delay(2000);
}
Nicetrip 发表于 2020-8-19 19:34
奈何col你好,你所说的向其他KEY存数据我没能理解。所谓的5个《数据存储 独立设备 共计5个Key》...
所有设备总共5个 奈何col 发表于 2020-8-19 19:47
所有设备总共5个
好的!那按照的的说法,我第1个设备有4组需要存贮的数据,第2组设备上应该还可以存储1组数据,但为何第2个设备的图表都显示暂无数据呢
页:
[1]
2