什么是物模型?物模型功能说明和使用说明

物模型是阿里云物联网平台用于描述产品功能的数据模型,包括属性(描述设备状态)、服务(设备可执行的操作)和事件(设备主动上报的信息)。平台支持自定义模块,最大20个,且提供了TSL(ThingSpecificationLanguage)来描述物模型。批量导入TSL文件时有特定的格式和大小限制。

物模型是阿里云物联网平台为产品定义的数据模型,用于描述产品的功能。本文介绍物模型相关概念和使用限制。

阿里云物联网技术开发文档:

物联网平台技术开发文产品简介_物联网平台-阿里云帮助中心物联网平台技术开发文  阿里物联网技术官网文档   全面权威,资料更全面。

功能说明

物模型是物理空间中的实体(如传感器、车载装置、楼宇、工厂等)在云端的数字化表示,从属性、服务和事件三个维度,分别描述了该实体是什么、能做什么、可以对外提供哪些信息。定义了物模型的这三个维度,即完成了产品功能的定义。

功能类型说明
属性(Property)用于描述设备运行时具体信息和状态。

例如,环境监测设备所读取的当前环境温度、智能灯开关状态、电风扇风力等级等。

属性可分为读写和只读两种类型。读写类型支持读取和设置属性值,只读类型仅支持读取属性值。

服务(Service)指设备可供外部调用的指令或方法。服务调用中可设置输入和输出参数。输入参数是服务执行时的参数,输出参数是服务执行后的结果。

相比于属性,服务可通过一条指令实现更复杂的业务逻辑,例如执行某项特定的任务。

服务分为异步和同步两种调用方式。

事件(Event)设备运行时,主动上报给云端的信息,一般包含需要被外部感知和处理的信息、告警和故障。事件中可包含多个输出参数。

例如,某项任务完成后的通知信息;设备发生故障时的温度、时间信息;设备告警时的运行状态等。

事件可以被订阅和推送。

物联网平台支持为产品定义多组功能(属性、服务和事件)。一组功能定义的集合,就是一个物模型模块。多个物模型模块,彼此互不影响。

物模型模块功能,解决了工业场景中复杂的设备建模,便于在同一产品下,开发不同功能的设备。

例如,电暖扇产品的功能属性有电源开关、档位(高、中、低)和室内温度,您可以在一个模块添加前2个属性,在另一个模块添加3个属性,然后分别在不同设备端,针对不同物模型模块功能进行开发。此时,该产品下不同设备就可以实现不同功能。

物联网平台已提供默认模块,您可根据需要新增自定义模块,总模块数量不超过20个。

重要 2021年01月01日(不含当日)之前已定义的产品功能,归类于物模型默认模块。

使用说明

物联网平台通过定义一种物的描述语言来描述物模型模块和功能,称为TSL(Thing Specification Language)。

物模型模块下定义的功能不需要同时包含属性、服务和事件,按需配置即可。

物模型TSL文件格式为JSON。您可在物联网平台控制台产品详情页面,单击功能定义页签,单击物模型TSL,查看或导出JSON格式的TSL。相关字段说明,请参见物模型TSL字段说明

物联网平台支持单个和批量添加物模型。批量导入时,您可自定义物模型TSL文件,编写要求,请参见下文限制说明

限制说明

物模型功能定义限制,请参见产品与设备的物模型功能定义。以下为批量导入物模型TSL文件时的使用限制。

使用方法限制说明
单个物模型TSL文件文件后缀名为.json;文件内容必须符合JSON格式;文件大小不能超过512 KB;文件中有效字符数量不能超过256 KB(256*1024个字符)。

有效字符,指JSON格式内容中,除换行和对齐字符之外的字符。

多个物模型TSL文件
  • 必须压缩为.zip格式文件,文件大小不能超过2.5 MB,且能够正常解压。解压后的每个文件,必须满足单个TSL文件的规范。
  • 压缩包文件中至少包含1个有效的物模型文件,最多包含1个默认模块物模型文件,9个自定义模块物模型文件。

    重要 多个自定义物模型文件内的functionBlockName和functionBlockId不可重复。

相关文档

### 如何在OneNet平台修改已发布产品的模型 在 OneNet 平台中,模型用于描述设备的功能属性。如果需要对已发布的模型进行修改,则需遵循特定流程。以下是关于如何修改已发布产品模型的相关说明: #### 一、手动方式修改模型 当产品已经创建并发布了模型之后,可以通过以下方法对其进行调整: - 登录到 **OneNet 控制台**[^1]。 - 进入对应的产品页面,在左侧导航栏找到“模型”选项卡。 - 如果当前状态允许编辑(未绑定设备或支持动态更新),可以直接点击“编辑”按钮来更改已有字段的定义或者新增字段。 - 对于仅作为展示用途而无需接收控制命令的数据项(比如环境监测中的温湿度数值),应将其设为“只读”。这表明该类数据只会由终端上传给云端存储而不接受来自外部系统的操作请求。 - 需要远程操控的部分则标记成“读写”,例如灯光启闭状态等可控变量。 需要注意的是,并非所有的改动都能即时生效;某些情况下可能涉及重新部署固件版本或将新配置同步至关联硬件端的过程[^2]。 #### 二、通过API接口自动化处理 除了图形界面外,开发者还可以利用官方提供的RESTful风格Web Service来进行更灵活的操作——即调用相应功能模块下的具体函数实现目标效果。下面给出一段Python脚本示范怎样借助requests库向指定URL发送PUT类型的HTTP请求从而达到更新目的: ```python import requests,json url="https://api.heclouds.com/m2m/<product_id>/thingmodel" headers={ 'Authorization':'<your_api_key>', 'Content-Type': 'application/json' } payload=json.dumps({ "properties":[ { "identifier":"temperature", "name":"Temperature Sensor", "datatype":{ "type":"int" }, "accessmode":"r" } ] }) response=requests.put(url, headers=headers,data=payload) if response.status_code==200: print('Update successful') else: print(f'Error:{response.text}') ``` > 替换`<product_id>`与`<your_api_key>`为自己账户里的实际值后再运行以上代码片段即可尝试执行类似的任务[^2]。 --- ### 注意事项 尽管技术上可行,但在实际应用过程中仍有一些限制条件值得注意: - 已经激活使用的设备可能会因为基础架构层面的变化而导致兼容性问题; - 不同厂商生产的模组对于消息格式可能存在差异因此务必参照各自的技术手册做适当适配工作。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值