LS10串口数据库模块扩展SD卡功能
LS10串口数据库模块是一款单片机能使用的SQL数据库模块,单片机通过串口即可实现对SQL数据库的数据存取功能。此前的文章中,介绍了LS10串口数据库模块,链接如下:
https://bbs.21ic.com/icview-3307724-1-1.html?#pid13494374
STM32使用SQL数据库功能
由于ls10串口数据库模块片内有2.5M空间,很多开发者表示有空间焦虑,为次模块支持外扩sd卡扩展功能,帮助开发者实现空间自由。
用户端参考接口电路如下:
软件端,对sd卡中的数据库操作与片内一样,只需额外增加2条指令,如下:AT+SDMNT=1 //1:挂载sd卡 0:卸载sd卡
AT+SQLPOS=1 //1:选择sd卡中的数据库 0:选择片内数据库
--------------------------------------------------------------------------------------------------------------------
为了连续性,这里对LS10串口数据库的基本操作再做一个说明:
常用的关系型数据库功能:
1, 创建表;
2, 插入数据;
3, 修改数据;4, 查询数据;5, 删除数据;6, 删除表。
LS10模块片内可供数据库使用的空间为约2.5M,使用5V电源,uart TTL接口(3.3V)与单片机通信,使用AT命令实现数据库功能。
LS10模块上电启动成功后,串口会输出Rdy标志。
此时,给LC10发AT回车能得到OK响应,见下图:
AT+SQL命令用于执行数据库语句,下面一一介绍。 1, 创建表给LC10模块发送如下命令:AT+SQL=”CREATE TABLE test_tab(ID INT PRIMARY KEY NOT NULL,PAR1 INT,PAR2 REAL,PAR3 TEXT)” 该AT命令用于创建sql表格,表格名为test_tab,表格列项分别为ID,PAR1,PAR1,PAR3,其中ID为int型,且为主键,PAR1为INT型,PAR2为REAL型,PAR3为TEXT型。接着可以使用AT+SQLSTRU查询模块内表格及结构。见下图:从上图可以看出,模块内部已经创建了test_tab表格。 2, 插入一行数据AT+SQL=”INSERT INTO test_tab VALUES(1,188,1.253,’abcdefg’)”该命令向所有列插入数据,插入的数据分别为1,188,1.253和‘abcdefg’; AT+SQL=”INSERT INTO test_tab (ID,PAR3) VALUES(2,’hijklmn’)”该命令向部分列插入数据; 我们可以使用select语句查看我们插入的数据,如下图:从上图可以看出,我们插入的数据已经可以查询到了,其中&是列分隔符。 3, 修改数据发送如下命令:AT+SQL="UPDATE test_tab SET PAR2=2.568,PAR3='I love China' WHERE ID=1"该命令将ID为1的列,所对应的PAR2改为2.568,PAR3改为’I love China’从上图可以看出,对应的数据已经完成修改; 4, 删除数据AT+SQL="DELETE FROM test_tab WHERE ID<=1"上述命令用于删除ID<=1的数据行; 执行完成后,通过select语句查询,ID为1的数据已经被删除。 5, 删除表AT+SQL="DROP TABLE test_tab"该命令用于删除表test_tab执行删除表命令后,使用AT+SQLSTRU查询,可以看出表格已经被删除。
片内空间很多时候也能满足用户需求,片内容量测试如下:表格结构(sn int primary key not null,id int,p1 int,p2 int,p3 real,p4 text,p5 text),
存储的内容分别为
sn(自增),id(自增),p1(自增),p2(自增),1.23456,abcdefghijklmn
空间占用快满时,存储了115888条数据。
按照手册的要求,始终保留至少500K空间,也至少能存储50000条数据。
资料:链接:https://pan.baidu.com/s/1DU1PWrxjYqQCS6TLzhPqMg?pwd=ls10
提取码:ls10
页:
[1]