达实AIoT
文档中心
快速开始
  • 单点登录对接
  • 开放接口对接
  • 领域模型事件对接
  • 私有部署
  • 应用开发指南
  • DASDesign
IoT平台
应用平台
  • 低代码工具
  • 基础服务
  • 系统运维
  • 场景模型
应用
  • 物业管理
  • 数据中心
  • 智慧园区IPS
  • 园区服务
  • 物业管理
  • 场景模型
  • 会议
  • 门禁
  • 停车场
文档中心
快速开始
  • 单点登录对接
  • 开放接口对接
  • 领域模型事件对接
  • 私有部署
  • 应用开发指南
  • DASDesign
IoT平台
应用平台
  • 低代码工具
  • 基础服务
  • 系统运维
  • 场景模型
应用
  • 物业管理
  • 数据中心
  • 智慧园区IPS
  • 园区服务
  • 物业管理
  • 场景模型
  • 会议
  • 门禁
  • 停车场
期待您的声音
  1. 开发参考
  • 平台介绍
    • 平台概述
    • 接入方式
    • 快速入门
    • 应用场景
    • 技术架构
    • 技术优势
  • 操作指南
    • 设备安全认证
      • 概述
      • 一机一密
      • 一型一密
      • X.509认证
    • 实例
      • 实例管理
    • 产品管理
      • 创建单个产品
      • 批量创建产品
      • 删除产品
      • 方法
      • Topic管理
      • 扩展信息
      • 编解码插件
    • 物模型
      • 物模型介绍
      • 产品品类
      • 单个添加物模型
      • 批量添加物模型
      • 物模型TSL字段说明
      • 物模型支持的数据类型
    • 设备管理
      • 创建单个设备
      • 批量创建设备
      • 查看设备
      • 设备状态
      • 删除设备
      • 启停设备
      • 在线调试
      • 子设备
      • 设备影子
      • 标签
      • 文件管理
    • 规则引擎
      • 数据转发
      • SQL语句
      • 触发事件列表
        • 设备添加
        • 设备删除
        • 设备更新
        • 设备属性上报
        • 设备状态变更
        • 批量任务状态变更
        • 产品添加
        • 产品删除
        • 产品更新
        • 设备服务调用
        • 设备事件上报
        • 批量任务ota升级
        • 设备消息(按自定义topic上报消息)
    • 运维监控
      • OTA升级
      • 设备模拟器
      • 消息跟踪
    • 平台融合
      • 平台融合
    • 总览
      • 总览
    • 群组
      • 群组
    • 数据存储
      • 数据存储
    • 审计日志
      • 日志查询
      • 日志配置
  • 开发参考
    • 第三方子系统接入指南
    • 云端开发指南
      • 设备中心API参考
        • 设备属性控制(支持批量)
        • 设备服务控制(同步)
        • 设备列表查询
        • 获取设备属性列表
        • 获取设备事件列表
        • 获取设备服务列表
        • 获取属性当前数据
        • 获取设备属性历史数据
        • 获取设备的属性的实时值
        • 批量获取多个设备的属性当前数据
        • 批量获取设备位置信息
        • 分页获取设备统计信息
        • 分页查询符合条件的设备列表
        • 项目绑定设备
        • 项目解绑设备
        • 获取设备详情
        • 发送设备属性
        • 发送设备服务(同步)
        • 获取设备全部属性
        • 查询设备属性当前数据
        • 获取设备全部事件
        • 获取设备全部服务
        • 分页查询属性历史数据
      • IoT平台API参考
        • 产品管理
          • 产品分页
          • 产品详情
          • 新增产品
          • 删除产品
          • 更新产品
          • 获取物模型信息
          • 获取产品信息列表(带连接信息)
        • 设备管理
          • 修改设备
          • 批量删除设备
          • 新增设备
          • 分页查询符合条件的设备集合
          • 启停设备
          • 获取设备详情
          • 获取设备服务历史数据
          • 获取设备事件历史数据
          • 获取设备属性历史数据
          • 新增设备
          • 修改设备
          • 获取设备详情
          • 启停设备
          • 批量删除设备
          • 分页查询符合条件的设备集合
          • 查询所有属性数据
          • 分页查询属性历史数据
          • 分页查询服务历史数据
          • 分页查询事件历史数据
        • 设备命令
          • 发送服务
          • 同步发送服务
        • 设备属性
          • 查询所有属性数据
          • 在线调试-下发属性(同步)
        • 设备组管理(群组)
          • 解绑设备
          • 修改群组
          • 删除群组
          • 新增群组
          • 绑定设备
          • 列表查询
          • 分页查询符合条件的设备集合
          • 新增群组
          • 修改群组
          • 删除群组
          • 群组绑定设备
          • 群组解绑设备
        • 设备影子
          • 获取设备影子数据
          • 设置期望值
        • 设备控制
          • 下发属性
          • 下发属性(同步)
          • 发送服务
          • 发送服务(同步)
        • 云端数据上报
          • 云端上报设备属性
          • 云端上报设备事件
    • 设备接入
      • 设备接入概览
      • 设备接入手册
      • 开放协议接入
        • MQTT协议接入
        • 基于MQTT协议的设备动态注册
        • MQTT协议接入 - X.509证书认证
        • CoAP协议接入
        • CoAP协议接入 - Java代码示例
        • HTTP协议接入
      • 消息通信Topic
        • Topic定义
        • 报文定义
          • 系统基本功能 - 心跳
          • 系统基本功能 - 时间校准
          • 属性 - 属性上报
          • 属性 - 批量属性上报
          • 属性 - 属性查询全量
          • 属性 - 属性写值
          • 属性 - 属性查询
          • 事件 - 事件上报
          • 服务 - 服务下发
          • 在线状态 - 在线状态查询全量
          • 在线状态 - 子设备上线
          • 在线状态 - 子设备下线
          • 动态注册 - 子设备动态注册
          • 文件管理 - 获取文件上传URL
          • ota升级 - 升级包信息
          • ota升级 - 下载进度上报
          • ota升级 - 升级进度上报
          • ota升级 - 重新下发ota升级任务上报
          • ota升级 - 升级成功上报
          • ota升级 - 设备版本上报
          • 远程调用 - RPC通道
          • 设备信息 - 获取设备信息
          • 设备信息 - 获取子设备信息
          • 设备影子 - 获取影子数据
      • 设备接入SDK
        • .NET Link SDK
          • 物模型通信
          • 环境要求与配置
          • 认证与连接
          • 发布记录
          • 基于MQTT Topic通信
        • Java Link SDK
          • 发布记录
          • 环境要求与配置
          • 认证与连接
          • 物模型通信
        • Python Link SDK
          • 获取SDK
          • 认证与连接
          • 物模型通信
        • Go Link SDK
          • 物模型通信
          • 认证与连接
          • 获取SDK
        • Node.js Link SDK
          • 发布记录
          • 环境要求与配置
          • 认证与连接
          • 物模型通信
        • C Link SDK
          • 发布记录
          • 环境要求与配置
          • 认证与连接
          • 物模型通信
    • PulsarMQ服务端开发指南
      • 设备属性上报的订阅
      • 设备事件上报的订阅
  • 常见问题
    • IoT物联网平台相关问题
    • 应用集成相关问题
  1. 开发参考

第三方子系统接入指南

本文中单独提到「IoT平台」这一名词,而事实上标准部署场景中,IoT平台就是AIoT平台的一部分,这里单独提出只是为了在后文更好地理解数据流向以及概念的交互关系。

一、概述#

IoT平台作为AIoT平台开放能力的重要组成部分,通过物模型(物模型的详细概念可以参考文档什么是物模型)的抽象能力,外部的任何实体(不仅包括设备,还包括工厂,子系统等)都能将自身的能力通过物模型的方式表达出来,再与IoT平台采用标准化的协议进行通信,实现与IoT平台的对接。
本指南旨在说明第三方子系统接入IoT平台的数据流向(为帮助理解,还会包括部分数据在IoT平台内部流动的必要说明),并提供具体操作示例。
注:本文标题当中的「子系统」概念,不仅限于设备类相关子系统,还包括了会议室预约系统,停车场系统等和设备不那么直接相关的子系统。若只是想让单个设备接入IoT平台,参考快速入门当中的概念即可。

二、数据流向说明#

子系统与IoT平台的数据流向分为两种,一种是子系统主动推送数据到IoT平台(例如停车场系统将车辆进出信息推送到IoT平台);另一种是IoT平台主动拉取子系统数据或请求子系统能力(例如IoT平台请求门禁系统进行远程开门)。这里分别说明这两种情况的数据流向。
除流向之外,对于子系统是以网关设备 + 子设备的形态接入IoT平台,还是直接以单个的子系统设备的形态接入IoT平台,也会有一些不同。但实际的抉择方式比较直观,根据子系统实际要做的事情就可以很容易地判断,这里不再赘述。

2.1 前置条件#

无论是以上述哪种方式接入IoT平台,都需要先完成以下步骤:
1.
在IoT平台创建子系统对应产品,添加物模型(有时会直接引用标准物模型)。
关于是自定义物模型还是引用标准物模型,可以根据自身子系统或子系统管理的设备是否在IoT平台存在对应的标准物模型来决定,如果有,判断是否合用即可。此外IoT平台也在一个持续完善归纳标准物模型的过程中,也可以在集成沟通过程当中将新的子系统物模型归纳为标准物模型。
2.
在产品下创建对应子系统设备(视情况可能还需要建立设备的子设备,但无论拓扑关系如何,数据交互都是由父设备进行的),此时通过设备认证的三元组信息:产品编码 + 设备编码 + 设备密钥,即可完成子系统设备的认证。
3.
通过MQTT协议(参考文档MQTT协议接入)或者HTTP协议(参考文档HTTP协议接入),再结合前述步骤中的三元组信息,即可实现子系统与IoT平台的数据交互。
通过观察文档也可以看出,IoT平台提供的HTTP协议接入方式,本质上来说只是对MQTT协议的一种封装,并且只能用于实现推送数据到IoT平台的场景。因此在实际使用中,推荐使用MQTT协议接入。

2.2 子系统主动推送数据到IoT平台#

子系统接入IoT平台,通过开放协议将数据推送到IoT平台,IoT平台将数据推送至设备中心,随后设备中心将数据流向各个业务应用。
子系统主动推送数据.drawio.png
业务应用可以通过订阅这些数据,实现如上提到的数据编排,联动,告警等逻辑。在更普遍的场景中,例如这些数据作为物模型属性上报,这些数据会被存储下来,用于在各种业务的图表展示,数据分析等场景中使用。

2.3 IoT平台主动拉取子系统数据或请求子系统能力#

子系统通过MQTT协议接入IoT平台后,可以监听IoT平台下发的指令,IoT平台通过设备中心下发指令至子系统,子系统接收到指令后,执行相应的操作,将结果通过MQTT协议返回至IoT平台。
IoT平台主动拉取子系统数据或请求子系统能力.drawio.png
通过上述流程,IoT平台可以实现对子系统的远程控制,例如远程开门,远程控制灯光等。可以注意到,上图中的箭头是双向的,因为有时这种控制需要关心操作结果,或者本身就是一次对子系统的数据查询操作。

三、具体场景示例#

以一个停车场子系统的接入为例,说明具体的操作步骤。

3.1 物模型构思#

首先,一个项目当中的停车场系统往往不会包含太多设备,或者说对于停车场系统来说,设备并不是我们关心的重点,我们希望停车场是一个单独的整体,而我们主要主要关心的是停车信息的采集,并且希望在必要的时候可以手动开关闸。
再次说明,关于物模型的定义以及使用,可以参考文档什么是物模型,大体上说,物模型当中的属性表示实体的状态(这个状态往往会持续一段时间),事件表示实体发生了什么(瞬间的动作或者事件),而服务则表示实体可以对外提供的能力(属性与服务在有的操作当中可以互换,例如远程开门可以定义成对门的开关属性的操作,也可以直接定义成远程开门服务,具体取决于是否需要观察实体的状态,是否需要进行数据查询等)。
如果不是直接引用标准物模型,则物模型的定义不是公式化的,AIoT平台的许多应用入口都能发挥这些物模型的能力,具体考虑对接难度与实际需求即可。
结合上述需求,我们定义如图的物模型,其中包含:
属性
属性名称属性标识数据类型读写类型描述
车位总数totalintR停车场总车位数
剩余车位数remainintR剩余车位数
服务
服务名称服务标识描述
开闸openGate对闸机进行开闸操作,入参当中可以指定具体闸机
事件
事件名称事件标识描述
车辆进入carIn车辆进入停车场
车辆离开carOut车辆离开停车场
当然,上面只是列出了物模型的大纲,实际的物模型定义还会具有需求细节,因为服务及事件的类型都不是简单的基本类型,而是需要进一步定义输入输出参数的,这里不再赘述。

3.2 创建产品与设备#

在IoT平台建立如图的产品,添加物模型,再在产品下创建停车场设备:
属性定义
属性定义.png
服务定义
服务定义.png
事件定义
事件定义.png

3.3 子系统接入IoT平台#

整体接入步骤可以直接参考:快速入门,有比较详细的全流程说明,因为无论是设备还是子系统,接入的流程都是一样的。
而具体的接入流程,SDK等,参考文档:
通过MQTT协议(参考文档MQTT协议接入)或者HTTP协议(参考文档HTTP协议接入);
使用SDK接入(设备接入SDK说明)。

3.4 数据在平台当中的使用#

物模型的定义最终服务于业务,AIoT平台当中的许多业务都直接与物模型交互,支撑各类业务,这里拿我们刚刚接入的子系统举例:
剩余车位数触发告警
在场景中心定义联动,当剩余车位数少于10个时触发告警(当然,告警中心同样也可以进行类似操作):
车位数触发告警.png
操作闸机开闸
指定闸机号,操作闸机开闸,图中只是示例,在实际使用当中,类似功能往往会在楼控或者图形引擎当中进行可视化配置:
image.png

期待您的宝贵建议

微信扫描二维码,为我们的AIoT产品提出您的宝贵建议,用户体验是我们坚持不懈的追求。

微信扫描二维码
上一页
日志配置
下一页
设备属性控制(支持批量)
Built with