低功耗4G模组:Air780EP之fskv开发示例
今天我们学习合宙低功耗4G模组Air780EP的fskv开发示例。
一、简介
兼容fdb的函数
使用fdb的flash空间,启用时也会替代fdb库
功能上与EEPROM是类似的
fskv与fdb的实现机制导致的差异
| 功能 |
fskv |
fdb |
|
value长度 |
4096 |
255 |
|
key长度 |
63 |
64 |
|
空间利用率(对比) |
较低 |
较高 |
|
读取速度 |
恒定 |
脏数据影响速度,非恒定 |
|
写入数据 |
恒定 |
脏数据影响速度,非恒定 |
|
均衡擦除 |
自动 |
自动 |
二、环境准备
2.1 Air780EP开发板一套
三、程序介绍
3.1 API介绍
详细API介绍见:fskv-API
3.2 初始化kv数据库
fskv.init()
参数
无
返回值
| 返回值类型 | 解释 |
|
boolean |
成功返回true,否则返回false |
3.3 设置一对kv数据
fskv.set(key, value)
参数
| 传入值类型 | 解释 |
|
string |
key的名称,必填,不能空字符串 |
|
string |
用户数据,必填,不能nil, 支持字符串/数值/table/布尔值, 数据长度最大4095字节 |
返回值
| 返回值类型 | 解释 |
|
boolean |
成功返回true,否则返回false |
3.4 设置table内的键值对数据
fskv.sett(key, skey, value)
参数
| 传入值类型 | 解释 |
|
string |
key的名称,必填,不能空字符串 |
|
string |
table的key名称, 必填, 不能是空字符串 |
|
string |
用户数据,必填,支持字符串/数值/table/布尔值, 数据长度最大4095字节 |
返回值
| 返回值类型 | 解释 |
|
boolean |
成功返回true,否则返回false/nil |
3.5 根据key获取对应的数据
fskv.get(key, skey)
参数
| 传入值类型 | 解释 |
|
string |
key的名称,必填,不能空字符串 |
|
string |
可选的次级key,仅当原始值为table时有效,相当于 fskv.get(key)[skey] |
返回值
| 返回值类型 |
解释 |
|
any |
存在则返回数据,否则返回nil |
3.6 根据key删除数据
fskv.del(key)
参数
| 传入值类型 | 解释 |
|
string |
key的名称,必填,不能空字符串 |
返回值
| 返回值类型 | 解释 |
|
bool |
成功返回true,否则返回false |
3.7 清空整个kv数据库
fskv.clear()
参数
无
返回值
| 返回值类型 |
解释 |
|
bool |
成功返回true,否则返回false |
3.8 kv数据库迭代器
fskv.iter()
参数
无
返回值
| 返回值类型 |
解释 |
|
userdata |
成功返回迭代器指针,否则返回nil |
3.9 kv迭代器获取下一个key
fskv.next(iter)
参数
| 传入值类型 | 解释 |
|
userdata |
fskv.iter()返回的指针 |
返回值
| 返回值类型 |
解释 |
|
string |
成功返回字符串key值, 否则返回nil |
3.10 获取kv数据库状态
fskv.status()
参数
无
返回值
| 返回值类型 | 解释 |
|
int |
已使用的空间,单位字节 |
|
int |
总可用空间, 单位字节 |
|
int |
总kv键值对数量, 单位个 |
四、实现流程
4.1 使用luatools工具下载固件和脚本到开发板中
4.2 通过luatools打印查看效果:

由上图可以看出,fskv支持存放布尔,数值,小数,字符串,等均可。还可以存放table类型的值。但不能存放nil, function, userdata, task类型的值。
五、常见问题
NVM坏了的话会不会影响fskv存储?
不同的flash互不影响。
低功耗4G模组:Air780EP之fskv开发示例的更多相关文章
- 制作一个有趣的涂鸦物联网小项目(涂鸦模组SDK开发 CBU BK7231N WiFi+蓝牙模组 HSV彩色控制)
实现的功能: l APP控制月球灯 l 本地月球灯控制 l APP控制"大白"颜色,实现各种颜色变身 l 门状态传感器状态APP显示 l 网络状态指示灯,连接服务器长亮, ...
- 手把手教你基于luatos的4G(LTE Cat.1)模组接入华为云物联网平台
摘要:本期文章采用了4G LTE Cat.1模块,编程语言用的是lua,实现对华为云物联网平台的设备通信与控制 本文分享自华为云社区<基于luatos的4G(LTE Cat.1)模组接入华为云物 ...
- NFC模组,开发NFC功能 仅仅要几条指令的事情
特点:实现NFC透明传输.内置NFC协议栈,支持UART串口直接读写,用于门禁能够同一时候兼容手机和卡片开门,还能实现动态密钥,读到的NFC数据自己主动串口输出,会串口就能开发NFC,不须要研究LLC ...
- 泰拉瑞亚EasyBuildMod便捷建造模组开发详细过程
pre { overflow-y: auto; max-height: 400px } img { max-width: 500px; max-height: 300px } github地址: ht ...
- 异构智联Wi-Fi+蓝牙模组,连接快、准、稳!
下班回家打开门,电灯.电视.空调.音响.电动窗帘.扫地机器人--一呼百应,有序开工,原本冰冷的房子立刻变成了温暖港湾.可以说,舒适便捷的智能设备已经完全融入了我们的生活中. 从单一场景.单一设备,到现 ...
- iPhone X 的原深感模组
物理与数字世界正走向融合,我们每天醒来的时间.睡眠时长.心率和步数等数据都会被分享.上传并转化为分析数据.无处不自的 AI.互联互通和软件平台将改变用户对现实的感知. 2018 年的 CES 展(国际 ...
- 最全的NB-IoT芯片厂商、模组厂商信息
NB-IoT作为LPWAN(低功耗广域网)的新兴技术,因为具有低功耗.低成本.广覆盖.海量节点等优势,并且在授权频段可以与2G.3G无缝连接而被运营商所青睐且接受.特别是到了2017年,据统计全球有5 ...
- 中国移动推出NB-IoT/eMTC/GSM多模通信模组Qualcomm调制解调器支持
亚洲电子消费展(CES Asia)在上海举行.期间,中国移动正式推出NB-IoT/eMTC/GSM三模通信模组A9500.该通信模组采用Qualcomm MDM9206 LTE IoT调制解调器,具有 ...
- BC26模组UDP调试
BC26模组调试 数据上报AT流程 [15:33:46.819]收←◆ F1: 0000 0000 V0: 0000 0000 [0001] 00: 0006 000C 01: 0000 0000 U ...
- openwrt编译加载龙尚U9300模组上网
硬件平台:MT7628A openwrt版本:MTK_SDK 1.添加模组信息 /build_dir/target-mipsel_24kc_musl/linux-ramips_mt76x8/linux ...
随机推荐
- 使用分布式锁解决IM聊天数据重复插入的问题
导航 业务背景 问题分析与定位 探索可行的解决方案 数据库层面处理--唯一索引 应用程序层面处理--分布式锁 分布式锁概述 分布式锁需要具备哪些特性? 分布式锁有哪些实现方式? 基于数据库的实现方式 ...
- Python3将web服务和脚本做成开机自启
1.将bwService文件放到 /etc/init.d/下 bwService文件(类型是文件) #!/bin/bash # # This shell script takes care of st ...
- Density-invariant Features for Distant Point Cloud Registration论文阅读
Density-invariant Features for Distant Point Cloud Registration 2023 ICCV *Quan Liu, Hongzi Zhu, Yun ...
- 小忙半个月搞个CKA,可还行,搞完后发现自己被割韭菜了
- CSS – Transition & Animation
前言 之前的笔记 CSS – W3Schools 学习笔记 (3) 就有讲过 CSS Transitions 和 CSS Animations. 这里做一个整理, 补上一些细节. Transition ...
- 软件测试之Docker常见问题汇总!附解决方法!
1.配置国内源进行docker安装,报错 HTTP Error 404 - Not Found 原因: 由于配置国内镜像源时,把地址写错了,导致后面安装docker提示HTTP Error 404 解 ...
- 【赵渝强老师】MongoDB插入文档
MongoDB是非关系型数据库NoSQL的代表,作为一款可分布式存储的数据库,对文档的操作是MongoDB的重中之重.在本文中,我们将着重为大家介绍如何在MongoDB中插入文档. MongoDB一共 ...
- 对于ChannelNet的一点理解
主要是为了个人理解,做个笔记 1.Pytorch代码 2.论文出处 3.详细介绍 这篇论文在2018年发出来,而ShuffleNet是从2017年由旷视发出来.起初了解shufflenet的提出,主要 ...
- 2020年度国产数据库:openGauss
根据墨天轮2020年一年的数据库流行度得分趋势变化,我们选出了流行热度增长显著的数据库为2020年度国产数据库.恭喜 华为开源关系型数据库 openGauss 荣获 "2020年度国产数据库 ...
- wpf样式模板的使用
<Window x:Class="WpfApp1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/200 ...