ESP32S3使用SQLite3

依赖版本

ESP-IDF: v5.1.4
开发板: ESP32S3
VSCode: 1.70.0

背景介绍

当我们需要在开发板上管理复杂关系的数据时,我们就需要 SQLite 这样的工具了。

本文将为大家介绍开源项目 esp32-idf-sqlite3 的使用方式。

VSCode开发环境搭建

由于是首次更新此类文章,本文会介绍一下环境的搭建,熟练的工程师可以直接跳过。

安装扩展

我们搜索 ESP ,安装有官方图标的 ESP-IDF 即可.

ESP-IDF Setup

首先,我们要确保 ESP-IDF v5.1.4 已正确安装,请从官网下载,并完整安装。

然后,我们在 VSCode 中,按下 F1 ,输入ESP-IDF: Configure ESP-IDF extension。在弹出的界面中,选择 EXPRESS 的配置方式,在后续的配置中,填写好两个路径:

注意:所有路径不要包含中文或空格,避免出现奇怪的异常,后期也要在项目开发过程中时刻注意此事。

克隆esp32-idf-sqlite3到本地

我们在工作区先下载下来项目:

bash 复制代码
git clone https://github.com/nopnop2002/esp32-idf-sqlite3.git

下载完毕后,项目的目录结构如下:

plaintext 复制代码
2024-07-18  13:51    <DIR>          components
2024-07-18  13:51    <DIR>          fatfs
2024-07-18  13:51    <DIR>          sd_mmc
2024-07-18  14:09    <DIR>          sd_spi
2024-07-18  14:36    <DIR>          spiffs

我们将 components 下的 esp32-idf-sqlite3 目录整体拷贝到 ESP-IDF 根目录下的 components 目录下,如图:

试验 spiffs 例程

该项目一共有三个主要的示例项目,分别是:

项目名 用途
sd_mmc 使用 MMC 协议读写 SD 卡,来实现 SQLite 交互
sd_spi 使用 SPI 协议读写 SD 卡,来实现 SQLite 交互
spiffs 使用 SPI 协议读写 Flash,来实现 SQLite 交互

如果你正在使用的底板不具备SD卡,那么就来一起体验Flash的吧。

首先,我们可以打开桌面上的 ESP-IDF 5.1 CMD 切换目录到当前的项目下,比如:

cmd 复制代码
cd D:\esp32-idf-sqlite3\spiffs

然后我们在 TUI 界面中配置我们所需的内容,这一部分可以参考官方文档:《IDF 前端工具 - idf.py》

cmd 复制代码
idf.py menuconfig

💡 请记住 menuconfig 这个词汇,它是 ESP-IDF 的核心功能。

如果你使用的是 ESP32S3 又具有 PSRAM,你可以在Component config下的 ESP PSRAM 中按下空格打开它。

💡 当然了,你也可以在 VSCode 中干这件事:

一切准备就绪后,我们回到 VSCode ,配置串口、目标设备:

配置好后,我们进行编译

如果没有报错,我们后续都直接点这个🔥的按钮即可,它是 Build + Flash + Monitor

编译时间有点长,请大家耐心等待 ☕️ ......

正常情况下,您将看到类似于下面的输出:

log 复制代码
INSERT INTO test1 VALUES (1, 'Hello, World from test1');
Operation done successfully
Time taken: 50503
INSERT INTO test2 VALUES (1, 'Hello, World from test2');
Operation done successfully
Time taken: 57368
SELECT * FROM test1
Callback function called: id = 1
content = Hello, World from test1

Operation done successfully
Time taken: 10535
SELECT * FROM test2
Callback function called: id = 1
content = Hello, World from test2

Operation done successfully
Time taken: 10525
All Done

VSCode 查看源码时,可能出现波浪线

这个问题,大部分情况下,可以通过按下F1,输入 ESP-IDF: Add vscode configuration folder 来解决。

结语

以上就是如何在 ESP32S3 开发板上使用 SQLite3 数据库了,欢迎大家在评论区热烈评论。

修改记录

时间 内容
2024-07-18 完成初稿
相关推荐
FreakStudio1 小时前
全网最适合入门的面向对象编程教程:49 Python函数方法与接口-函数与方法的区别和lamda匿名函数
python·嵌入式·面向对象·电子diy
winddevil8 小时前
[rCore学习笔记 026]第三章作业
rust·嵌入式·rcore
FreakStudio1 天前
全网最适合入门的面向对象编程教程:48 Python函数方法与接口-位置参数、默认参数、可变参数和关键字参数
python·嵌入式·面向对象·电子diy
让开,我要吃人了2 天前
HarmonyOS应用开发( Beta5.0)HOS-用户认证服务:面部识别
服务器·前端·华为·移动开发·嵌入式·harmonyos·鸿蒙
FreakStudio3 天前
全网最适合入门的面向对象编程教程:47 Python函数方法与接口-回调函数Callback
python·单片机·嵌入式·面向对象·电子diy
小嵌同学4 天前
SPI驱动学习四(通过SPI操作外设模块)
linux·驱动开发·学习·操作系统·嵌入式
我想学LINUX4 天前
存储芯片行业的封装类型
嵌入式
FIT2CLOUD飞致云5 天前
透视表支持自定义聚合公式,新增字体管理功能,DataEase开源BI工具v2.10 LTS版本发布
开源·嵌入式·数据可视化·dataease·bi
FreakStudio5 天前
全网最适合入门的面向对象编程教程:46 Python函数方法与接口-函数与事件驱动框架
python·嵌入式·面向对象·电子diy
倒霉熊dd9 天前
Cortex-M3架构学习
学习·嵌入式·cortex-m3