物模型是物联网平台中用于描述产品功能的数据模型。在阿里云物联网平台中,物模型是物理空间中的实体(如传感器、车载装置、楼宇、工厂等)在云端的数字化表示,从属性、服务和事件三个维度,分别描述了该实体是什么、能做什么、可以对外提供哪些信息。
具体来说,物模型的属性维度描述了实体(物联设备)的性质和特征,例如传感器的温度、湿度和压力等;服务维度描述了实体能够提供的操作和功能,例如控制开关、执行器等;事件维度描述了实体在特定条件下触发的事件和行为,例如传感器检测到异常温度时触发报警。
通过定义物模型的这三个维度,即可完成产品功能的定义。在物联网平台中,支持为产品定义多组功能(属性、服务和事件),一组功能定义的集合就是一个物模型模块。多个物模型模块彼此互不影响,可以解决工业场景中复杂的设备建模,便于在同一产品下开发不同功能的设备。例如,电暖扇产品的功能属性有电源开关、档位(高、中、低)和室内温度,可以在一个模块添加前2个属性,在另一个模块添加3个属性,然后分别在不同设备端针对不同物模型模块功能进行开发。此时,该产品下不同设备就可以实现不同功能。
物模型通信格式
物模型通信格式通常为JSON。在物联网平台中,物模型通信格式指的是设备与平台之间、平台与平台之间传输数据时使用的数据格式。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人类阅读和编写,也易于机器解析和生成。在物模型通信中,使用JSON格式可以方便地描述设备的属性、服务和事件等信息,使得设备与平台之间的通信更加便捷和高效。
在物模型通信中,JSON格式通常包含以下内容:
- 设备信息:包括设备的ID、类型、版本号等基本信息;
- 属性信息:描述设备的属性,包括属性名、属性类型、属性值等;
- 服务信息:描述设备能够提供的服务,包括服务的ID、类型、参数等;
- 事件信息:描述设备在特定条件下触发的事件,包括事件类型、参数等。
以上信息在JSON中以键值对的形式表示,通过键来标识信息的类别,通过值来存储具体的信息。例如:
{"device_id": "123456789", "device_type": "sensor", "version": "1.0"}
在物联网平台中,使用JSON格式进行物模型通信可以使得不同平台、不同设备之间的通信更加标准化和规范化,有利于实现设备的互联互通和数据的共享共用。
以下是一个简单的物模型示例,描述了一个温度传感器的属性、服务和事件:
{
"设备信息": {
"设备ID": "123456789",
"设备类型": "温度传感器",
"版本号": "1.0"
},
"属性信息": [
{
"属性名": "温度",
"属性类型": "float",
"属性值": 25.0
}
],
"服务信息": [
{
"服务ID": "1",
"服务类型": "监测温度",
"服务参数": {
"温度": 25.0
}
}
],
"事件信息": [
{
"事件类型": "温度异常",
"事件参数": {
"温度": 30.0,
"阈值": 28.0
}
}
]
}
总结
简单来说,物模型就是物联网终端设备、物联网应用以及相关平台间进行沟通的普通话或者英语,规范了物联网终端与平台应用间数据流通的格式,让它们的沟通顺畅无阻。使用物模型,总结起来有三大好处:
- 升级开发模式:与传统的烟囱式开发模式不同,终端侧和应用侧的开发可以同时进行,从而大大缩短了开发周期。
- 实现行业互通:来自不同行业设备的各种数据,通过物模型以统一的格式上传至平台,从而实现了不同设备和应用之间的互联互通。
- 提升数据价值:通过数据汇聚和智能分析,可以自动预测发展趋势,推动科技信息化在智慧城市、智慧农业等管理工作中的深层次应用,从而有效提升管理水平。