hmeta - 硬件元数据
作者:沈园园
一、概述
硬件元数据是合宙每一个模块携带的信息,就像人的身份证一样,这些信息确定了模组的唯一性;
硬件元数据,包含模组的型号,模组的硬件版本号,原始芯片型号;
模块远程升级需要上传模组信息,解决和分析某些问题的时候可能也会需要确认模组信息。
二、核心示例
1、核心示例是指:使用本库文件提供的核心API,开发的基础业务逻辑的演示代码;
2、核心示例的作用是:帮助开发者快速理解如何使用本库,所以核心示例的逻辑都比较简单;
3、更加完整和详细的demo,请参考 LuatOS仓库 中各个产品目录下的demo/hmeta
sys.taskInit(function()
while 1 do
sys.wait(3000)
-- hmeta识别底层模组类型的
-- 不同的模组可以使用相同的bsp,但根据封装的不同,根据内部数据仍可识别出具体模块
log.info("hmeta", hmeta.model(), hmeta.hwver(), hmeta.chip())
end
end)
三、常量详解
核心库常量,顾名思义是由合宙 LuatOS 内核固件中定义的、不可重新赋值或修改的固定值,在脚本代码中不需要声明,可直接调用;
每个常量对应的常量取值仅做日志打印时查询使用,不要将这个常量取值用做具体的业务逻辑判断,因为LuatOS内核固件可能会变更每个常量对应的常量取值;
如果用做具体的业务逻辑判断,一旦常量取值发生改变,业务逻辑就会出错;
hmeta核心库没有常量。
四、函数详解
4.1 hmeta.model()
获取模组名称
参数
无
返回值
local model = hmeta.model()
model
含义说明:若能识别到,返回模组名称, 否则会是nil;
数据类型:string或者nil;
取值范围:无特别限制;
注意事项:暂无;
返回示例:"Air780EPM";
示例
sys.taskInit(function()
while 1 do
sys.wait(3000)
-- hmeta识别底层模组类型的
-- 不同的模组可以使用相同的bsp,但根据封装的不同,根据内部数据仍可识别出具体模块
log.info("hmeta", hmeta.model())--Air780EPM
end
end)
4.2 hmeta.hwver()
获取模组的硬件版本号
参数
无
返回值
local hwver = hmeta.hwver()
hwver
含义说明:若能识别到,模组的硬件版本号, 否则会是nil;
数据类型:string或者nil;
取值范围:无特别限制;
注意事项:暂无;
返回示例:"A11";
示例
sys.taskInit(function()
while 1 do
sys.wait(3000)
-- hmeta识别底层模组类型的
-- 不同的模组可以使用相同的bsp,但根据封装的不同,根据内部数据仍可识别出具体模块
log.info("hmeta", hmeta.hwver())--A11
end
end)
4.3 hmeta.chip()
获取原始芯片型号
参数
无
返回值
local chip= hmeta.chip()
chip
含义说明:若能识别到,返回芯片类型, 否则会是nil;
数据类型:string或者nil;
取值范围:无特别限制;
注意事项:暂无;
返回示例:"EC718PM";
示例
sys.taskInit(function()
while 1 do
sys.wait(3000)
-- hmeta识别底层模组类型的
-- 不同的模组可以使用相同的bsp,但根据封装的不同,根据内部数据仍可识别出具体模块
log.info("hmeta", hmeta.chip())--EC718PM
end
end)
五、产品支持说明
支持LuatOS开发的所有产品都支持hmeta核心库。