EzData - Arduino

Function Description

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...

Github

EzData API

Notes:
1. All operations below depend on a unique token, which remains constant within the same browser environment. Copy the token before use.
2. If no data operations are performed within six months, the data queue corresponding to the token will be cleared.
3. Data is stored in descending order based on insertion time (the most recently inserted data appears at the top of the list), and data accumulates over time.

setData(const char *token, const char *topic, int val)

  • Saves data val to the specified topic queue at the top.

getData(const char *token, const char *topic, int& result)

  • Retrieves a single data from the specified topic queue at the top and stores it in result.

addToList(const char *token, const char *list, int val)

  • Adds data to the top of the specified data list.

getData(const char *token, const char *list, int *Array, int offset, int count)

  • Retrieves a set of data from the specified 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)

  • Removes the specified topic or list and clears the queue data.

Example Program

This example program uses an M5Core device. Before compiling the program, you need to install the related libraries M5Stack and M5_EzData , and fill in the token and Wi-Fi information in the code.


#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);
}
On This Page