EzData is an IoT cloud data storage service provided by M5Stack, allowing different devices to insert or extract data into/from the storage queue using a unique token, enabling data sharing.
Refresh Token Click to refresh and get the token...
unique token
, which remains constant within the same browser environment. Copy the token before use.setData(const char *token, const char *topic, int val)
val
to the specified topic
queue at the top.getData(const char *token, const char *topic, int& result)
topic
queue at the top and stores it in result
.addToList(const char *token, const char *list, int val)
list
.getData(const char *token, const char *list, int *Array, int offset, int count)
list
. Using lists for storage supports specifying a data index offset and retrieving multiple data at once. Returns an array of data.list
: List name.offset
: Offset relative to the beginning of the data list.count
: Number of data to read.removeData(const char *token, const char *field)
topic
or list
and clears the queue data.
#include "M5Stack.h"
#include "M5_EzData.h"
// Configure the name and password of the connected wifi and your 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.
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.
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.
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.
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.
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);
}