华为云 IoT 设备接入服务全体验
摘要: 华为云 IoT 设备接入服务,海量设备,一键接入,你值得拥有!
本文分享自华为云社区《【云驻共创】HuaweiMate 40产线直击之 华为云IoT设备接入服务全体验》,原文作者:启明 。
前言:
在开始本文之前,我们先问问自己下面两个问题:
问题一:物联网慢慢渗入千行百业,其快速发展已成必然,但是在发展的过程中有没有什么挑战呢?
问题二:目前在智能制造行业很多物联网设备,都是依赖边缘网关的,也即,通过边缘网关来接入物联网,那么为什么要使用边缘网关呢?边缘网关有什么好处呢?
我们将通过下面的文章,来一一解答。
一、物联网带来的机遇
经调查数据显示,目前已经有 60%的企业,现在正在使用或者是即将部署 IoT 业务;有 24%的企业 IT 预算,会用于 IoT 相关的一些投资;同时,已经有 63%的企业,通过 IoT 的部署,已经收获非常丰厚的回报。物联网在经济中正在发挥着越来越重要的作用。关于物联网的更多的数据可以见下图:
![](https://static001.geekbang.org/infoq/67/67ecb9e102f1caddabd5b822276a33f6.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
同时,我们可以看到,在实际生活当中,也遍布了物联网的身影:智慧抄表、智慧路灯、智慧井盖、车联网、智慧零售、智慧门店……物联网已经深深的渗入到各行各业,并且推动着相关行业的数字化转型,引领着行业做着非常深远的变革。
回顾历史,我们可以总结发现,在互联网经济中,一共有三波“浪潮”:
第一波:信息服务业数字化,主要是在 2000 年至 2015 年。互联网公司的发展,通过互联网软件数字化,已经推动了相关的行业进行物联网转型。而这,已经是过去式了;
第二波:服务产业数字化,集中在 2014-2020 年,主要是以电信、银行、政府、医疗、出版、零售等等为代表的传统服务+互联网技术进行着数字化。这一阶段已经基本完成;
第三波:实体经济数字化,从 2015 年至今。其中包括我们最为关注的制造业、能源、交通、农业等等涉及到民生的一些大的行业的变化,这是正在发生变革的一波“浪潮”。
从国家的十一五/十二五规划到十三五的规划,到近期热议的“新基建”,都在推动制造业产业升级。可目前我国制造业规模庞大、但大而不强,自主创新能力不足,该如何提升呢?数字化转型正是提升制造业竞争力的关键途径。
![](https://static001.geekbang.org/infoq/13/13575eb0eebeefe3956da317645d1a33.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
二、物联网带来的挑战
物联网带来的红利无疑是巨大的,但是同时,也带来也一定的挑战:
挑战一:让“物”说话
在让“物”说话的过程中,我们的关键挑战在于:
大量现存设备未被数字化;
多样化设备、各行业协议、各行业通信方式不同;
设备要求低功耗、低成本;
设备安全问题突出。
我们目前让设备入网的最常用的就是传感器。传统的传感器只是模拟信息量的记录,无法对记录进行分析处理。因此,第一步,需要将传感器所有的感知数字化,用非常客观的数字来表达诸如温度、压力、位置等等信息。同时,我们需要在传感器能够感知的基础上,让它“学会表达”,也就是网络化,通过连接上网,让“物物相连”。先数字化,然后网络化,这是让“物”说话的第一步。
挑战二:让“物”说一种话
让“物”说一种话的关键挑战在于:
百万种数据元素,缺乏标准和规范;
多样化数据格式;
各厂商“烟囱式”发展,数据孤岛林立,数据互通困难。
目前的一些设备,因为行业不同,生产厂家也是不同的,比如路灯、井盖、水表等等,都是不同的厂家生产的。那么,在生产过程中,它们所使用的协议、接入方式有可能都是不一样的,就相当于不同国家的人,没有统一的语言,完全无法沟通。因此,我们需要在各种设备之间,“架起桥梁”,让它们说同一种话,这也就是我们的“物模型”,或者“产品模型” 。让数据标准化,统一物模型,让“物”说同一种话。
挑战三:让“物”说有价值的话
让“物”有价值的话的关键挑战在于:
海量数据带来算力、存储问题;
实时流、时序、离线、多维分析复杂;
行业应用场景复杂;
商业闭环、价值变现和分配问题。
如何让数据变得有价值,是制造业面临的一个巨大挑战。海量的数据出现之后,我们需要从各个方面去分析:时间维度、冷热数据、有价值的数据和没有价值的数据等等,从而得到一个完整的数据分析,进而能够对“物”进行决策,让数据有价值。
以上即是物联网面临的主要的挑战。可以看到,“万物互联”并不是一件简单的事情。而回归到制造业,在制造业的数字化落地过程中,企业发现,数据的量非常大,流通起来非常困难,数据采集的周期也非常短,基本以秒为单位。同时,数据如何使用,都已经被限制。因此,具体到制造业,数字化的过程中还有如下问题:
无法做个性化定制:全要素采集非常困难;
无法网络化协同:多域数据流打通难;
无法智能化生产:数据大、维度多分析难;
无法服务化延伸:产品智能化服务开发难。
三、华为云 IoT 设备接入服务解读
(一)设备接入服务解决方案架构图:
互联网的用户,都有一个基本的认知,那就是“数据不会凭空产生”。数据都是通过采集进而上报上来的。华为云 IoT 设备接入服务,即是进行数据采集工作的一个工具,或者说,平台。以下是华为云 IoT 的物联网解决方案架构图:
![](https://static001.geekbang.org/infoq/b4/b4fffbb585ff759d2b8f8acf4b491fbd.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
华为云 IoT 云服务,以 LiteOS 为操作系统,赋能设备以“感知”的能力,同时,通过 SDK 让设备有网络化的能力;设备网络化之后,通过网关等方式接入华为云 IoT 的物联网平台(包括设备接入服务、设备发放服务、全球 SIM 联接以及数据分析服务等等),进行数据上报、命令下发等操作;再通过 API 方式,连接到物联网应用,打造智慧交通、智慧城市、智慧园区等等各种智慧场景。当然整个框架里面也有很多华为云其他的服务,比如数据库等等,来支撑上层物联网应用的使用。
其中,设备接入服务,提供海量设备的接入和管理能力,配合华为云其他服务同时使用,帮助客户快速端到端构筑满足要求的物联网解决方案。其包括多网络接入、设备联动规则、产品模型开发等等功能,通过这些微服务,为设备接入提供一个整体服务管理能力。
(二)华为云 IoT 设备接入服务通信模型
![](https://static001.geekbang.org/infoq/4d/4d8a39edb368e757a094070b772f04bb.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
让“物”说话,只是一个拟人的修辞手法,我们实际上要做的,是要让设备使用一种通信方式进行“沟通”。那么我们要如何将一个设备抽象出来进行分析处理呢?
首先,是属性上报。通过相关的协议解析,属性上报之后,基于模型管理,会把设备的属性分成属性、命令、事件和透明的消息模式,而这些,我们又可以通过 schema 的形式进行描述;而在上层应用,我们也会按照这样的模型进行相关的处理。
接下来,我们详细介绍一下设备接入服务的各个能力。
1、产品模型(Profile):统一的数据 &通信模型
上述这样的一个统一的数据模型是如何形成的呢?这里引入了一个“编解码插件”的概念。具体的方式如下:
定义产品:这里有两种方式进行定义:
方式 1:设备厂商通过 SP Portal 在线编辑 Profile;
方式 2:设备厂商获取平台提供的样例 Profile,根据自身业务进行修改,生成自己业务所需 Profile;
快速生成插件
插件生成:平台提供开发者 Portal,通过开发者 Portal 基于自己定义的 Profile,快速生成插件;
插件部署:对于完成的插件支持一键快速部署;
价值
对于上层应用价值:降低上层应用对设备管理复杂度,通过在平台规模不同厂家的数据,形成统一的 Profile,上层应用无须感知不同设备的差异;
对设备厂商价值:无须修改设备代码,通过插件适配不同企业的诉求,降低设备厂家的维护复杂度。
![](https://static001.geekbang.org/infoq/ac/aca742fb188226d65d5d3f01b0314297.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
2、规则引擎:数据流转 &设备联动
我们再来结识一下设备接入的另一个强大的功能:规则引擎。通过规则引擎,我们可以把上报的数据上传到相关的服务(比如数据分析服务等等),引发多设备协同(提醒、告警通知、状态报告等等)。
![](https://static001.geekbang.org/infoq/a7/a7541a5c20f537d36bf3e82ca820022d.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
3、构筑边云协同、泛接入、可信的智能 IoT 边缘服务:
![](https://static001.geekbang.org/infoq/7b/7b361fa87f5bae608a6be740de0b9adf.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
IoT 边缘,即除了提供云端的能力以外,通过边缘也会构筑大量的能力,包括泛接入能力、本地自治、行业应用等等。特别需要介绍一下,泛接入能力能够满足除了一些相对标准的协议接入以外,还能提供一些私有协议的接入。在边缘之上,也会集成前面说的行业插件能力。通过这种第三方行业插件的能力,能够接入各种各样的设备。
4、基于规则的设备联动,边云协同实现多场景业务自定义
![](https://static001.geekbang.org/infoq/c3/c32fd202fea7e60c287ce9c79d575962.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
边缘侧的设备联动,可以和云端的 IoTDA 接入服务做统一的协同。
5、网络异常时提供本地自治能力,确保业务连续性
![](https://static001.geekbang.org/infoq/5b/5b9e18aa47ed4b628920ce0aff8ce2f7.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
本地自治的能力很好理解。一般来说,当网络异常的时候,边缘的站点,是贴近设备的。贴近设备的时候,根据自己的管理能力,为接入的设备提供服务,也就是说当网络边缘站点跟云端的网络出现异常情况的时候,可以通过本地自治管理,能够保证业务的连续性。
四、华为云 IoT 设备接入服务快速接入 &演示
接下来,结合一个产线的设备来实际演示一下设备是如何接入物联网平台的。我们需要准备的物料有:
边缘网关(Atlas500)
边缘网关集成标准 MODBUS 协议
PLC(镭雕机,含设备网关 MODBUS Sever 和采集器)接入到边缘网关
边缘网关集成私有设备接入协议(集成对应协议解析的容器/进程服务)
PLC(贴片机)采用私有 TCP 协议介入到边缘网关
![](https://static001.geekbang.org/infoq/6d/6d5deb72cb9536e3e9106c97e12e8159.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
具体流程:
1、进入 IoTDA 服务:https://www.huaweicloud.com/product/iothub.html,点击“立即使用”
![](https://static001.geekbang.org/infoq/27/27cb8ad6d7c1f3568ac75991607b91bb.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
2、进入设备接入服务页面,创建产品:
![](https://static001.geekbang.org/infoq/83/8336990d1729cd16df4d1d54f5a4cc6a.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
通过控制台的产品页面,可以预先从属性、服务、设置的命令、事件等等每个维度去定义每一种产品,以下简单介绍比较重要的几个产品模型:
IoT 边缘:edge_node,创建产品并定义相关产品模型。每个模型的属性,对应一个服务的类型,如 edge_access,即是负责 MODBUS 的设备接入
![](https://static001.geekbang.org/infoq/1b/1b1e2595f9bc669da92cd7ad0057fb1f.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
镭雕机:LaserMarkingModbus。模型较为简单。通过镭雕机上报雕刻的速度、电流和 LED 灯等等。
![](https://static001.geekbang.org/infoq/28/288ea71efe5bea56119578df645834da.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
镭雕机的设备网关:modbus_server。主要用来设置与 MODBUS 设备对接的相关的参数,比如连接类型、鉴权、IP 地址端口等等信息。
![](https://static001.geekbang.org/infoq/24/2447d7aade28766dc6f771e09d81846e.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
贴片机:Mounter1。较为复杂,里面除了基本的信息,如产品版本、产品名称、加工程序名等等,还包括如加工结果、设备状态、压缩空气气流等等所有涉及到贴片工艺相关的一些参数
![](https://static001.geekbang.org/infoq/6b/6bec87f70290b9364f0bec3b921c286b.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
3、进入“设备”:
![](https://static001.geekbang.org/infoq/d1/d1732243251d652f3e6bada0f236af3d.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
“设备”里的 HDC2021Training 就是本次实验所需的设备
![](https://static001.geekbang.org/infoq/d7/d798059b3353c9bafddf666725548693.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
在“设备”的概念里,“设备”是分层级的,HDC2021 Training 所属产品是我们之前定义的“edge_node”,同时,它又有两个子设备:training_server(镭雕机)和 MountDevice0425(贴片机)。
![](https://static001.geekbang.org/infoq/61/612a87f810bb4eb3922795d843a7cd10.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
4、注册子设备:在 HDC2021_Training/training_server 下注册 Modbus 子设备
选择产品:
![](https://static001.geekbang.org/infoq/1e/1ea792330b8e1d3caa3601fab34ac3fe.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
进行数据采集配置
![](https://static001.geekbang.org/infoq/a3/a3e283e709e6e39e67fdc9871b17487a.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
添加子设备,并点击“确定”:
![](https://static001.geekbang.org/infoq/86/86dd082dd3b1994014ca1899bd2f41c6.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
完成
![](https://static001.geekbang.org/infoq/68/6893e6236c6b3a2ba39a7d18ca9f623f.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
以上就是一个简单的设备接入的演示。华为云 IoT 平台除了可以使用网关接入,还可以采取直连(MQTT)的方式,对硬件没有特殊的要求,大家有时间可以自行前往进行体验。
五、华为云 IoT 设备接入服务小结
回顾我们在一开始提出的问题,我们在经过这一阶段的讲解之后,可以做出这样的回答:
问题一:物联网慢慢渗入千行百业,其快速发展已成必然,但是在发展的过程中有没有什么挑战呢?
答:前面说过的三大挑战:让“物”说话,让“物”说同一种话,让“物”说有价值的话。也即,让设备数据化、网络化、标准化,同时需要有数据分析能力,让数据能够价值最大化。
问题二:目前在智能制造行业很多物联网设备,都是依赖边缘网关的,也即,通过边缘网关来接入物联网,那么为什么要使用边缘网关呢?边缘网关有什么好处呢?
答:边缘网关对网络可靠性、安全性的增强,是非常有利的,同时能够增强本地多个单设备的本地闭环也有这明显的好处。
通过上述的讲解和实验,我们可以看到华为云 IoT 设备接入服务提供海量设备连接上云、设备和云端双向消息通信、批量设备管理、远程控制和监控、OTA 升级、设备联动规则等能力,并可将设备数据灵活流转到华为云其他服务,帮助物联网行业用户快速完成设备联网及行业应用集成。
一起来体验一下吧~
版权声明: 本文为 InfoQ 作者【华为云开发者社区】的原创文章。
原文链接:【http://xie.infoq.cn/article/5b858027900e56bd4d3d3a0b4】。文章转载请联系作者。
评论