搜索
发新帖本帖赏金 1.00元(功能说明)我要提问
1234下一页
返回列表

[应用相关] STM32使用 SQL数据库 功能

[复制链接]
14997|75
手机看帖
扫描二维码
随时随地手机跟帖
a457083523|  楼主 | 2021-7-28 08:50 | 显示全部楼层 |阅读模式
最近我们在做电动汽车充电桩项目,需要跟某后台通信。正常情况下我们的数据会及时的通过tcp上传到后台,通常我们无需实现强大的数据库功能,提供一个队列,一条一条发送即可。但后台研发表示后台数据库也有可能丢数据,要求我们底层存储至少2万条最近的交易数据,且要求能随时查询任意一条数据。
我们使用的是stm32f407VGT6单片机,通过内部数据结构实现上述功能,感觉非常困难。本来想通过队列方式一条一条存储发送,但无法满足任意数据随时查询功能。自己写一些结构和算法,但感觉比较困难,同时也容易出bug,效率也不行。
后来在某宝找到一款LS10串口数据库模块,数据库功能比较强大,价格也还行,这里记录下评估情况。



常用的关系型数据库功能:
1, 创建表;
2, 插入数据;
3, 修改数据;
4, 查询数据;
5, 删除数据;
6, 删除表。

083338pz00rr509xtiiix9.png.thumb.jpg


根据手册,LS10模块使用5V电源,uart TTL接口(3.3V)与单片机通信,使用AT命令实现数据库功能。LS10模块可供数据库使用的空间为约2.5M。

083400la7meaaeum675077.png.thumb.jpg

LS10模块上电启动成功后,串口会输出Rdy标志。




此时,给LC10发AT回车能得到OK响应,见下图:
083432uyxfd6h8bwi8ziyk.png.thumb.jpg

AT+SQL命令用于执行数据库语句,下面一一介绍。


1, 创建表
给LC10模块发送如下命令:
AT+SQL=”CREATE TABLE test_tab(ID INTPRIMARY 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查询模块内表格及结构。
见下图:
083505iupfuvmagqc80if2.png.thumb.jpg


从上图可以看出,模块内部已经创建了test_tab表格。


2, 插入一行数据
AT+SQL=”INSERTINTO test_tab VALUES(1,188,1.253,’abcdefg’)”
该命令向所有列插入数据,插入的数据分别为1,188,1.253和‘abcdefg’;

AT+SQL=”INSERTINTO test_tab (ID,PAR3) VALUES(2,’hijklmn’)”
该命令向部分列插入数据;

我们可以使用select语句查看我们插入的数据,如下图:
083530mp7i8jedjni9m47q.png.thumb.jpg
从上图可以看出,我们插入的数据已经可以查询到了,其中&是列分隔符。


3, 修改数据
发送如下命令:
AT+SQL="UPDATEtest_tab SET PAR2=2.568,PAR3='I love China' WHERE ID=1"
该命令将ID为1的列,所对应的PAR2改为2.568,PAR3改为’I love China’
083559mvn7i8mokkvnssxv.png.thumb.jpg


从上图可以看出,对应的数据已经完成修改;



4, 删除数据
AT+SQL="DELETE FROM test_tab WHERE ID<=1"
上述命令用于删除ID<=1的数据行;

083625tzj0qul6aqa47033.png.thumb.jpg


执行完成后,通过select语句查询,ID为1的数据已经被删除。


5, 删除表
AT+SQL="DROP TABLE test_tab"
该命令用于删除表test_tab
083651c1xawufwfj5855wi.png.thumb.jpg


执行删除表命令后,使用AT+SQLSTRU查询,可以看出表格已经被删除。

LS10_pdf.zip

547.65 KB, 下载次数: 14

使用特权

评论回复

打赏榜单

巧克力娃娃 打赏了 1.00 元 2021-08-04
理由:666

a457083523|  楼主 | 2021-7-28 17:24 | 显示全部楼层
本帖最后由 a457083523 于 2021-7-30 13:08 编辑

使用特权

评论回复
a457083523|  楼主 | 2021-7-29 08:28 | 显示全部楼层
资料链接:
https://pan.baidu.com/s/1UkrQQ63QB39Hl2xNxq0ypw
提取码:ls10



使用特权

评论回复
呐咯密密| | 2021-7-29 10:27 | 显示全部楼层
竟然还有这玩意,我以为SQL都在服务器端

使用特权

评论回复
a457083523|  楼主 | 2021-7-29 15:43 | 显示全部楼层
测试了下容量,分享如下:

表格结构(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条数据。

使用特权

评论回复
a457083523|  楼主 | 2021-7-29 17:51 | 显示全部楼层
呐咯密密 发表于 2021-7-29 10:27
竟然还有这玩意,我以为SQL都在服务器端

呵呵。
单片机侧确实也很有需要。

使用特权

评论回复
yangjiaxu| | 2021-7-30 08:58 | 显示全部楼层
这东西挺有意思,跟以前的黑盒一样,哈哈哈 有意思

使用特权

评论回复
Carina卡| | 2021-7-30 09:51 | 显示全部楼层
这个好啊,我喜欢,毕竟有点儿黑科技的感觉

使用特权

评论回复
Betty996| | 2021-7-30 09:52 | 显示全部楼层
挺不错的,不过估计挺贵吧

使用特权

评论回复
a457083523|  楼主 | 2021-7-30 09:57 | 显示全部楼层
Betty996 发表于 2021-7-30 09:52
挺不错的,不过估计挺贵吧

价格我觉得还行。
毕竟现在芯片价格高,stm32f103都200多了。
相信将来芯片价格正常了价格也有降的空间。

使用特权

评论回复
a457083523|  楼主 | 2021-7-31 21:23 | 显示全部楼层
测试该模块具备COUNT查询功能,如下:

AT+SQL="SELECT COUNT(*) from test_tab"
58

OK

上述内容表明,test_tab中共有58行数据。

后续测试情况持续更新。。。

使用特权

评论回复
powermaker2568| | 2021-7-31 21:44 | 显示全部楼层
LS10串口数据库模块

使用特权

评论回复
powermaker2568| | 2021-7-31 21:46 | 显示全部楼层
这个用树莓派 也可以做一个哦

使用特权

评论回复
a457083523|  楼主 | 2021-7-31 22:44 | 显示全部楼层
powermaker2568 发表于 2021-7-31 21:46
这个用树莓派 也可以做一个哦

树莓派用不起,太贵了。

使用特权

评论回复
kkzz| | 2021-8-1 20:16 | 显示全部楼层
SQL数据库也是联网呢      

使用特权

评论回复
hudi008| | 2021-8-1 20:17 | 显示全部楼层
直接使用fatfs不行吗   

使用特权

评论回复
lzmm| | 2021-8-1 20:17 | 显示全部楼层
使用嵌入式吗     

使用特权

评论回复
minzisc| | 2021-8-1 20:18 | 显示全部楼层
在哪里购买的这个模块呢   

使用特权

评论回复
selongli| | 2021-8-1 20:18 | 显示全部楼层
如果真的是sql,应该是处理器才对的。   

使用特权

评论回复
fentianyou| | 2021-8-1 20:19 | 显示全部楼层
移植到stm32的吗   

使用特权

评论回复
1234下一页
返回列表 发新帖 本帖赏金 1.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 我要提问 投诉建议 申请版主

本版热帖

本版活跃用户

优质原创写原创,赢大奖

编辑推荐

  • 21小跑堂 打赏20.00元   4天前

    打赏帖:#申请原创# @21小跑堂@21小跑堂@21小跑堂 大 ...

  • 21小跑堂 打赏10.00元   4天前

    打赏帖:得到打赏,

  • 21小跑堂 打赏10.00元   4天前

    打赏帖:希望我的问题都能回答

  • 21小跑堂 打赏4.00元   4天前

    打赏帖:得到打赏,

  • 21小跑堂 打赏10.00元   4天前

    打赏帖:得到打赏,

  • 21小跑堂 打赏10.00元   4天前

    打赏帖:参加欧姆龙在线研讨会

  • 21小跑堂 打赏10.00元   4天前

    打赏帖:得到打赏,

  • 21小跑堂 打赏10.00元   4天前

    打赏帖:本次讲座问题截图

  • 21小跑堂 打赏10.00元   4天前

    打赏帖:学习学习再学习

  • 21小跑堂 打赏10.00元   4天前

    打赏帖:得到打赏,

  • 21小跑堂 打赏10.00元   4天前

    打赏帖:5

  • 21小跑堂 打赏10.00元   4天前

    打赏帖:得到打赏,

  • 1 火星国务卿 得到打赏 ¥425.00
  • 2 yanzhengxin1 得到打赏 ¥300.00
  • 3 gaoyang9992006 得到打赏 ¥265.00
  • 4 Gavin3389 得到打赏 ¥225.00
  • 5 13426257085 得到打赏 ¥200.00
  • 6 呐咯密密 得到打赏 ¥185.00
  • 7 两只袜子 得到打赏 ¥155.00
  • 8 yangjiaxu 得到打赏 ¥155.00
  • 9 cr315 得到打赏 ¥150.00
  • 10 elephant00 得到打赏 ¥150.00
在线客服 快速回复 返回顶部 返回列表