На ESP32 вы можете использовать базу данных SQLite для хранения данных на SD-карте. SQLite – это легковесная встроенная реляционная база данных, которая может быть использована на микроконтроллерах, включая ESP32.
Примерный код, демонстрирующий использование базы данных SQLite на ESP32 с использованием SD-карты:
#include <WiFi.h>
#include <SPIFFS.h>
#include <SD.h>
#include <SQLiteESP32.h>
const char* ssid = "YourWiFiSSID";
const char* password = "YourWiFiPassword";
SQLite db;
void setup() {
Serial.begin(115200);
// Инициализируем SD-карту
if (!SD.begin()) {
Serial.println("Failed to initialize SD card");
return;
}
// Подключаемся к Wi-Fi сети
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
Serial.println("Connected to WiFi");
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
// Инициализируем базу данных SQLite
if (!db.open("/sdcard/test.db")) { // Подключаемся к базе данных на SD-карте
Serial.println("Failed to open database");
return;
}
// Создаем таблицу, если она не существует
if (!db.tableExists("data")) {
db.exec("CREATE TABLE data (id INTEGER PRIMARY KEY, value TEXT)");
}
}
void loop() {
// Ваш код
}
Приведенный выше код инициализирует SD-карту, подключается к Wi-Fi, открывает базу данных SQLite на SD-карте и создает таблицу “data”, если она не существует.
Вы можете использовать функции библиотеки SQLiteESP32 для выполнения различных операций с базой данных, таких как вставка данных, выборка, обновление или удаление.
Обратите внимание, что код является лишь примером и требует доработки в зависимости от ваших конкретных потребностей. Также убедитесь, что SD-карта правильно подключена к ESP32 и отформатирована в FAT16 или FAT32 файловую систему. Схема подключения SD карты.