An easy to use FS wrapper for Arduino, ESP8266, and ESP32. Support any FS based storage, i.e. SPIFFS, LittleFS, and SD.
This library can be used to store any Stringable data type into FS based storage.
#include "SPIFFS.h"
#include "TinyDB.h"
TinyDB db;
void setup() {
Serial.begin(115200);
delay(1000); //make sure Serial has been initialized
SPIFFS.begin(true);
db.begin(SPIFFS);
db.putString("str1", "Hello World"); //Store String value with key "str1"
String str = db.getString("str1"); //Retrieve String value with key "str1"
Serial.println("String: " + str);
db.putInt("int1", 2021); //Store Int value with key "int1"
int i = db.getInt("int1"); //Retrieve Int value with key "int1"
Serial.println("Int: " + i);
db.putDouble("double1", 3.14); //Store Double value with key "double1"
double d = db.getDouble("double1"); //Retrieve Double value with key "double1"
Serial.println("Double: " + String(d));
}
void loop() {}#include "SPIFFS.h"
#include "TinyDB.h"
TinyDB db;
void setup() {
Serial.begin(115200);
delay(1000); //make sure Serial has been initialized
SPIFFS.begin(true);
db.begin(SPIFFS);
std::vector<String> strList;
strList.push_back("List 1");
strList.push_back("List 2");
strList.push_back("List 3");
db.putListString("list1", strList); //Store list of string with key "list1"
std::vector<String> list = db.getListString("list1"); //Retrieve list of string with key "list1"
Serial.println("String List: ");
for (auto& s : list) {
Serial.println(s);
}
}
void loop() {
// put your main code here, to run repeatedly:
}#include "SPIFFS.h"
#include "TinyDB.h"
TinyDB db;
struct Person {
String name;
int age;
Person(String name, int age)
: name(name), age(age) {}
//This kind of constructor MUST exist
//This constructor is used to rebuild object from a String
Person(String value) {
std::vector<String> v = TinyDB::split(value, ",");
if (v.size() >= 2) {
name = v[0];
age = v[1].toInt();
}
}
//This method MUST exist
//Members MUST be separated using a separator, in this case we use comma
String toString() const {
return name + "," + age;
}
};
void setup() {
Serial.begin(115200);
delay(1000); //make sure Serial has been initialized
SPIFFS.begin(true);
db.begin(SPIFFS);
Person p("John Doe", 35);
db.putObject("obj1", p); //Store custom object with key "obj1"
Person obj = db.getObject<Person>("obj1"); //Retrieve custom object with key "obj1"
Serial.println("Person: " + obj.toString());
}
void loop() {}