美畅物联丨物联网平台的标准化之路:物模型设计的创新及应用

news2024/9/21 12:05:07

随着物联网(IoT)技术以前所未有的迅猛之势蓬勃发展,海量的物联网终端与应用纷纷接入,这不可避免地引发了数据与应用层面的异构化难题,进而形成了复杂且多变的碎片化问题。物联网感知数据因其具备多源异构的显著特性,极大程度地增加了数据识别、精准解析以及深度挖掘的重重困难,致使不同物联网应用之间的数据共享仿佛筑起了高耸的壁垒,协同合作的推进也举步维艰。此外,鉴于设备制造商所遵循的生产标准各不相同,设备接入物联网服务平台的整个过程变得极为复杂且耗时费力,开发的难度亦显著提升。

为解决上述问题,物模型(Thing Model)的设计应运而生,成为物联网平台优化管理与控制策略的关键。物模型通过系统化地定义与描述设备的属性、行为及服务能力,不仅为设备的精细化控制与实时监测提供了坚实基础,还极大地增强了设备的互操作性与可扩展性,为新设备的无缝接入与灵活配置铺平了道路。

在这样的大背景之下,畅联 AIoT 开放云平台紧密跟随技术发展的前沿潮流,以创新的思维将物模型这一概念巧妙地融入平台架构之中,对平台物模型进行了深入透彻的重构,成功实现了物联网设备的统一接入与高效管理。不仅大幅简化了设备管理的复杂程度,还进一步敞开了多元化的服务接口,为物联网应用的创新与发展提供了强有力的支撑。

在物模型的设计过程中,严格遵循以下原则:

简单性:模型设计力求独立于网络技术与承载协议,专注于设备本身的虚拟化描述,以简化设备制造商的理解与接入过程,降低技术门槛。

普适性:为兼容更多厂商需求,我们将模型细分为公共属性与特定属性,既保证了设备间的共通性,又保留了设备特有的个性化特性。同时,提供分行业的模型模板,满足不同行业的特定需求。

可扩展性:支持用户自定义服务,并引入数据透传机制,将模型基础能力与行业模板分离定义,确保模型能够随业务需求的发展而灵活扩展。

模块化:通过抽取公共服务进行复用,减少资源冗余,提高开发效率与资源利用率,促进模块化设计与开发实践的普及。

易用性:提供友好的接口与集成工具,降低开发难度,提升用户体验。

具体来讲,物模型的设计涵盖了设备属性、服务以及事件三大核心要素:

设备属性设计:对设备运行时的各项状态与参数进行了细致入微的刻画,例如温湿度传感器的精确读数、IPC 摄像头的 ROI 区域设置等。在属性定义方面,需明确数据类型、计量单位以及取值范围,以此确保数据的精确性与一致性。

设备服务设计:即设备对外提供的可调用指令集合,包括开关控制、亮度调节以及 IPC 摄像头的 AI 算法集成等。每一项服务均配备了清晰明确的名称、详尽全面的参数列表以及返回值说明,有力确保了服务的可预测性和易用性。

设备事件设计:精准捕捉并及时上报设备运行中的关键信息,例如IPC检测到火焰,上报火焰预警、人行检测、故障告警等。在事件设计中同样高度注重名称的清晰明确性与参数的完备性,切实保障事件信息能够准确无误地传递与处理。

下面,我们以依爱JTY-GD-EI8014N型NB烟感为例,我们依据其通信协议精准定义设备上报的模拟量信息。

{
  "objectModel": [
    {
      "key": "devSerialNo",
      "calculate": false,
      "name": "设备序号",
      "type": "string",
      "typeName": "string(字符串)",
      "unit": "",
      "unitName": "",
      "scale": "",
      "moduleRatio": "",
      "rangeType": "",
      "upRange": "",
      "downRange": "",
      "remark": ""
    },
    {
      "key": "deviceId",
      "calculate": false,
      "name": "设备ID",
      "type": "string",
      "typeName": "string(字符串)",
      "unit": "",
      "unitName": "",
      "scale": "",
      "moduleRatio": "",
      "rangeType": "",
      "upRange": "",
      "downRange": "",
      "remark": ""
    },
    {
      "key": "receiveDate",
      "calculate": false,
      "name": "数据接收时间",
      "type": "string",
      "typeName": "string(字符串)",
      "unit": "",
      "unitName": "",
      "scale": "",
      "moduleRatio": "",
      "rangeType": "",
      "upRange": "",
      "downRange": "",
      "remark": ""
    },
    {
      "key": "rssi",
      "calculate": false,
      "name": "信号质量",
      "type": "string",
      "typeName": "string(字符串)",
      "unit": "",
      "unitName": "",
      "scale": "",
      "moduleRatio": "",
      "rangeType": "",
      "upRange": "",
      "downRange": "",
      "remark": ""
    },
    {
      "key": "batteryVoltage",
      "calculate": false,
      "name": "电池电压",
      "type": "string",
      "typeName": "string(字符串)",
      "unit": "V",
      "unitName": "伏特/V",
      "scale": "",
      "moduleRatio": "",
      "rangeType": "",
      "upRange": "",
      "downRange": "",
      "remark": ""
    },
    {
      "key": "tempValue",
      "calculate": false,
      "name": "环境温度",
      "type": "string",
      "typeName": "string(字符串)",
      "unit": "℃",
      "unitName": "摄氏度/℃",
      "scale": "",
      "moduleRatio": "",
      "rangeType": "",
      "upRange": "",
      "downRange": "",
      "remark": ""
    },
    {
      "key": "value",
      "calculate": false,
      "name": "当前浓度值",
      "type": "string",
      "typeName": "string(字符串)",
      "unit": "",
      "unitName": "",
      "scale": "",
      "moduleRatio": "",
      "rangeType": "",
      "upRange": "",
      "downRange": "",
      "remark": "单位 db/m"
    }
  ]
}

依据事件协议进行深度解析,构建出高度适配的物模型。

{
  "eventModel": [
    {
      "eventNameCustom": "001",
      "deviceEventCategoryId": "1",
      "eventCategoryCode": "BJ",
      "eventCategoryName": "报警",
      "eventCategoryRemark": "",
      "deviceEventId": "234",
      "eventName": "告警",
      "eventRemark": "",
      "deviceEventLevelId": "1",
      "eventLevelName": "一级",
      "eventLevelRemark": "",
      "eventParameterList": [
        {
          "parameterName": "Sender",
          "Instructions": "事件绑定对象",
          "type": "object"
        },
        {
          "parameterName": "EventTime",
          "Instructions": "发生时间",
          "type": "string"
        }
      ],
      "remark": "",
      "key": "001",
      "condit": "电量"
    }
  ]
}

基于该物模型,我们成功实现了设备的开发与应用的集成,设备数据的实时采集与控制,以及应用与设备间的无缝交互。

畅联 AIoT 开放云平台的物模型开发,不单单是平台技术架构的核心构成部分,更是推动物联网智能化管理与控制的关键驱动力量。通过成功实现设备与应用的解耦,促进信息在设备与平台间的自由流动,我们致力于打破产业链间的服务壁垒,构建更加开放、协同、共赢的物联网生态体系。

关注“美畅物联”,了解更多视频汇聚及AIoT底座解决方案。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2081882.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于vue框架的病房管理系统设计与实现uilp1(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能:患者,医护人员,患者病历,医院病房,住院信息,科室,病房预约,住院费用 开题报告内容 基于Vue框架的病房管理系统设计与实现开题报告 一、引言 随着医疗信息化建设的不断深入,病房管理作为医院日常运营的核心环节之一&#x…

VMware Workstation虚拟机 + 许可证密钥

VMware Workstation虚拟机 许可证密钥 VMware Workstation是什么?VMware简介VMware 安装VMware系统要求VMware 版本下载地址许可证序列码看这里 !!!!! VMware Workstation是什么? VMware简介 …

揭开容器的面纱:容器技术全景概述

随着云计算的快速发展,容器技术已经成为IT行业的重要组成部分。Docker作为一种领先的容器化技术,为应用程序的开发、部署和运行带来了革命性的变化。本篇文章将详细介绍容器技术的概念、发展历程及其在现代计算中的应用。通过对Docker的深入了解&#xf…

友思特方案 | 基于三维点云实现PCB装配螺丝视觉检测

导读 三维点云是完成精密化 PCB 检测的最新视觉技术。友思特 Saccde Vision 视觉扫描系统,采用先进的三维成像技术和算法输出直观点云图,进一步确保了PCB生产的可靠性与稳定性能。 在电子产品的生产过程中,PCB(Printed Circuit B…

streamlit+wordcloud使用pyinstaller打包遇到的一些坑

说明 相比常规的python程序打包,streamlit应用打包需要额外加一层壳,常规app.py应用运行直接使用 python app.py就可以运行程序了,但streamlit应用是需要通过streamlit命令来运行 streamlit app.py所以使用常规的pyinstaller app.py打包是…

阿里云服务器自带多少DDoS防护?小编为你详细揭秘!

大家好呀!今天小编来聊聊一个很多朋友都关心的问题:阿里云服务器自带多少DDoS防护?随着网络攻击手段的日益猖獗,DDoS攻击对企业业务的威胁越来越大,选择一个安全可靠的云服务器至关重要。阿里云作为国内领先的云计算服…

宝宝自闭症的表现与理解

自闭症,又称孤独症,是一种复杂的神经心理障碍,它影响患儿的脑部发展,并在社交沟通、兴趣和行为上表现出明显的异常。自闭症通常在幼儿期就有所体现,但很多时候,家长在宝宝一岁前后才会开始注意到这些异常表…

排序算法刷题笔记【牛客网】

排序算法刷题笔记【牛客网】 排序算法刷题记录,来自牛客网,主要是有些题目会去搜一下相关知识,这里就用来做笔记,类似错题本了。 会持续更新…… 其实就是把45前面的排好了,然后45从后往前比较。 45前面的排列&#xf…

高级问题解决查询搜索网址

1、世界上最大的技术问答网站,里面问题的种类很多,回答的质量也很高,当你在谷歌等搜索引擎没能得到满意的答案的时候,可以到Stack Overflow上看 2、Reddit是一个全球性的社交新闻网站和讨论平台,用户可以在这里分享、…

grafana可视化 安装及集成zabbix数据源详细教程

目录 grafana简介安装grafana安装示例汉化(选做)启动访问web界面 安装zabbix插件在线安装离线安装启用插件 配置zabbix数据源 grafana简介 Grafana是一个功能强大、灵活性高、易于使用的数据可视化工具,广泛应用于各种领域,包括I…

el-input-number,增加清空icon按钮,输入值居左(左对齐)、去除控制按钮

:controls"false"&#xff0c;不使用控制按钮&#xff1b; <div><span class"label">金额</span><divstyle"width: 100%;border: solid 1px rgba(0, 0, 0, 0.1); border-radius: 4px; display: flex;align-items: center;"…

比裁员更侮辱人的事发生了。。。

在这个快节奏的时代&#xff0c;职场如战场&#xff0c;每个人都在为了生存而奋斗。但你有没有遇到过这样的情况&#xff1a;工作量突然增加&#xff0c;薪水却纹丝不动&#xff1f; 最近某位网友爆料&#xff0c;他们公司裁掉两名员工&#xff0c;一个月薪一万七&#xff0c;…

解决npm下载依赖速度慢的问题

&#x1f31f; 前言 欢迎来到我的技术小宇宙&#xff01;&#x1f30c; 这里不仅是我记录技术点滴的后花园&#xff0c;也是我分享学习心得和项目经验的乐园。&#x1f4da; 无论你是技术小白还是资深大牛&#xff0c;这里总有一些内容能触动你的好奇心。&#x1f50d; &#x…

CC工具箱使用指南:【DAT转要素类】

一、简介 这是一个将特定的DAT文件批量转换为GDB点要素类的工具。 用记事本打开DAT文件&#xff0c;长这样&#xff1a; 数据比较简单&#xff0c;就是一些点坐标&#xff0c;一行一个点&#xff0c;包括XYZ三个坐标。 二、工具参数介绍 点击【定制2】组里的【DAT文件转要素…

python-译码(赛氪OJ)

[题目描述] 在机器学习中&#xff0c;现在定义一种编码规则&#xff1a;对于长度为 3的字符串&#xff08;均由小写字母组成&#xff09;&#xff0c;首先按照字典序进行排序&#xff0c;即 aaa&#xff0c;aab&#xff0c;aac&#xff0c;…&#xff0c;zzz。 将这些字符串按照…

合宙LuatOS开发板使用手册——Air700EAQ

EVB-Air700EL&700EY 开发板是合宙通信推出的基于 Air700EL&700EY 模组所开发的&#xff0c; 包含电源&#xff0c;SIM 卡&#xff0c;USB&#xff0c;PCB 天线等必要功能的最小硬件系统。 以方便用户在设计前期对 模块进 行性能评估&#xff0c;功能调试&#xff0c;软…

知识图谱——语义知识库的开端(1)

从最初的 Google 搜索&#xff0c;到如今的聊天机器人、大数据风控、证券投资、智能医疗、自适应教育、推荐系统等各个领域&#xff0c;知识图谱的应用无处不在。知识图谱&#xff08;Knowledge Graph&#xff09;的概念由 Google 在 2012 年正式提出&#xff0c;旨在打造更智能…

2024最新VSCode实用插件推荐,开发效率遥遥领先!超全面,快收藏~

大家好&#xff0c;我是石小石&#xff01;作为前端开发&#xff0c;vscode好比我们的衣食父母&#xff0c;不可或缺。我相信大家都试过给编译器装一些插件&#xff0c;用来提升开发效率。 这篇文章&#xff0c;我将结合自己的工作经验&#xff0c;向大家推荐我工作中用到的一…

【C++第十三课-二叉树进阶】二叉搜索树

目录 二叉搜索树概念增&#xff0c;删&#xff0c;查1、删2、查3、增 拷贝构造析构函数赋值增&#xff0c;删&#xff0c;查&#xff08;递归&#xff09;1、增&#xff08;递归&#xff09;2、删3、查 k搜索模型kv搜索模型 二叉搜索树 概念 二叉搜索树又称二叉排序树&#x…

创建微服务组件

1.1 数据库表 shop_order订单表 shop_product商品表 shop_user⽤户表 1.2 服务模块 1.2.1 创建模块 创建公共⽗模块springcloud_alibaba 创建公共模块 shop_common ,⽤于存放公共的实体类和⼯具类 创建订单微服务模块 shop_order 端⼝809X 创建商品微服务模块 shop_product …