EzData是M5Stack提供的一个IoT云端数据储存服务,不同的设备之间可以通过唯一token
,向储存队列中插入或提取数据,实现数据共享。
刷新token 点击刷新获取token...
唯一token
,该token在同一浏览器环境下是固定的, 使用前请复制token。setData(const char *token, const char *topic, int val)
getData(const char *token, const char *topic, int& result)
addToList(const char *token, const char *list, int val)
getData(const char *token, const char *list, int *Array, int offset, int count)
removeData(const char *token, const char *field)
#include "M5Stack.h"
#include "M5_EzData.h"
// Configure the name and password of the connected wifi and your token. 配置所连接wifi的名称、密码以及你的token
const char* ssid = "Explore-F";
const char* password = "xingchentansuo123";
const char* token = "";
void setup() {
M5.begin(); //Initialize M5Stack
M5.Power.begin();
if(setupWifi(ssid,password)){ //Connect to wifi. 连接到wifi
M5.Lcd.printf("Success connecting to %s\n",ssid);
}else{
M5.Lcd.printf("Connecting to %s failed\n",ssid);
}
}
void loop() {
//Save the data 20 to the top of the testData topic queue. 保存数据20至 testData 队列首位
if(setData(token,"testData",20)){
M5.Lcd.printf("Success sending data to the topic\n");
}else{
M5.Lcd.print("Fail to save data\n");
}
delay(5000);
//Save 3 data in sequence to the first place of testList. 依次保存3个数据至 testList首位
for(int i=0;i<3;i++){
if(addToList(token,"testList",i)){
M5.Lcd.printf("Success sending %d to the list\n",i);
}else{
M5.Lcd.print("Fail to save data\n");
}
delay(100);
}
delay(5000);
//Get a piece of data from a topic and store the value in result. 从一个 topic中获取一个数据,并将值存储在 result
int result=0;
if(getData(token,"testData",result)){
M5.Lcd.printf("Success get data %d\n",result);
}else{
M5.Lcd.print("Fail to get data\n");
}
delay(5000);
//Get a set of data from a list and store the values in the Array array. 从一个 list中获取一组数据,并将值存储在 Array数组中
int Array[3]={};
if(getData(token,"testList",Array,0,3)){
M5.Lcd.print("Success get list\n");
for(int i=0;i<3;i++){
M5.Lcd.printf("Array[%d]=%d,",i,Array[i]);
}
M5.Lcd.println("");
}else{
M5.Lcd.println("Fail to get data");
}
delay(5000);
//Remove data
if(removeData(token,"testData"))
M5.Lcd.printf("Success remove data\n");
else
M5.Lcd.println("Fail to remove data");
if(removeData(token,"testList"))
M5.Lcd.printf("Success remove data from the list\n");
else
M5.Lcd.println("Fail to remove data");
delay(5000);
M5.Lcd.fillScreen(BLACK);
M5.Lcd.setCursor(0,0);
}