让“物”能说会道,揭晓华为云IOT黑科技
什么是物联网?如何让“物”说话?
如今是一个万物互联的时代,物联网已经成为一个高大上的名词,那什么是物联网呢?从人与人之间的连接来看,指的是人们之间的通话、视频。进入智能时代以后,我们想让“物”说话,例如温度、空间、五觉等,将模拟信息进行数字化表达,实现万物可被感知。
然后,将这些所感知的信息数据化,通过传感器、物OS这些相关技术,进一步让“物”表达的信息是可以被理解、使用的,发挥出它的价值,在这整个过程中,就诞生了我们的物联网解决方案、一些相关的技术。
同时,我们也遇到了很多挑战:①存量老旧设备没有被数字化,无法被理解和加工;②多样化设备、协议、通信网络等它们的数据格式没有统一的标准;③设备要求低耗、低成本;④设备安全问题突出。
怎样让“物”说出有价值的话?
我们采集的数据量非常庞大,这些数据如何被挖掘,去产生真实的有价值的信息,对于我们来说是一个非常大的挑战。例如,现有算力是否足够支持对海量数据的挖掘,海量的数据能否被存储下来,我们能否构建实时流、时序、离线、多维的分析能力去应对。此外,不同的数据所需的分析手段和分析目标都是不同的,如何基于复杂的应用场景进行抽离?最后到商业闭环,这些数据如何进行价值变现,产生新的分配等。在物联网时代,虽然会带来大量红利,但也面临巨大的挑战。华为云的物联网解决方案就是要面对这些挑战,解决问题。
从一盏路灯,看亿万级联接的智能之路
一盏路灯是什么样的?应该具备哪些功能?
回顾路灯的发展过程,在建国初期,路灯上安装时间控制器,晚上18点和早上6点的时候,会自动控制灯亮灯熄的操作;到了70年代,路灯里加入光感设备,可以采集当前环境光亮度,根据当下亮度情况来决定开关状态,此时路灯更加聪明,但还是本地的回路控制;到了90年代,可以通过无线专网来控制路灯,实现了最简单的遥控,此时,路灯已经具备远程控制的能力;到了2000年左右,伴随网络技术的飞速发展,基于GPRS的网络和3G的网络已在逐步构建,网络无线资源相对来说比较便宜,此时可以通过公共网络来控制设备,此时的路灯就成了真正的网络路灯。
随着信息化的进一步融合,2010年以后我们的路灯可以做到单灯控制,在灯杆上搭载大量的智能设备,例如环境监测,照明,基站,信息展示屏等,在灯杆的下半部分,有充电桩设备,道路积水检测设备等。基于这些装载,路灯可以接收各种各样的信息感知,并把这些数据传送到业务平台,从而进行对应的分析处理,远程控制等。这就是真正的智慧路灯的形态,在未来的网络演进发展过程中,可能会有更多的设备挂载在灯杆上,这也是路灯智能化的过程。
物联网服务的形态以及设备接入管理服务在IoT服务域的核心位置
物联网由多个服务构成。首先在设备端,进行数据感知和数据传递,此处华为云构建了LiteOS和SDK的能力,去使能这些设备智能化。然后通过IoT的边缘网关和各种有线、无线的通信管道,将数据接入到设备服务中,这里我们会实现不同的网络接入能力,多协议接入能力,设备影子告警,软固件升级等,这些能力都构筑在设备接入服务上面。
在我们的互联网平台内部,还有诸如Global SIM Link全球SIM联接服务,数据分析服务,支持温冷数据处理等。我们会把数据流转到华为云的相关服务中,如DIS、OBS做存储,以及DDS、RDS等,并给到上层的业务应用来使用这些数据。包括我们客户的行业应用,智慧园区,智慧城市等,都可以使用这些数据来使业务更加丰富。
通讯模型
各种各样的设备,采用不同的协议,数据格式也不尽相同,那么IoT设备接入服务是如何将设备和数据接入的呢?
人与人之间通过语音、视觉、手势等几种主要方式进行沟通,那么物与物之间的沟通形式有命令、属性、事件以及消息等。基于属性,我们通过“设备影子”去实现设备与应用之间,与平台之间的数字化信息趋于同步。然后需要实现设备数据与我们通讯模型的关联:通过通讯协议接入层,可以将不同协议类型,如MQTT协议,CoAP协议,私有的TCP协议或者HTTP2协议等进行接入,同时各类协议承载的各类数据,都能通过编解码处理及通讯协议转换等方法将不同的格式数据转化到统一的通讯模型上。
IoT设备接入管理服务云化架构解读
由IoT设备接入管理服务内部的架构可以看出,最底端的负载均衡层作用是将海量的设备和连接接入到平台。负载均衡层之上是业务层,包括云通讯网关。华为云的IoT设备接入服务内部,实际上是基于Cloud Native的微服务架构,里面所有业务相关都是无状态的服务,即它可以随时被创建,也可以随时被kill。
这样的好处是任何一个服务实例出现问题的时候,都可以通过创建服务来保证业务的无损。同时在海量并发的情况下,通过弹性伸缩扩容,能够使服务满足对应的业务需求。在无状态的框架之下,又分为两层:CIG云通讯网关层,这层正如前文所说,作用是将各种设备和协议、不同的数据格式,转换成统一的模型,进而到上层由业务服务去处理。同时在最上层,基于公有云的管理支撑服务,诸如CBC、IAM以及SMN(消息通知服务)等,整体构建出设备接入管理服务。至此,这是华为云IoT服务内部的业务逻辑,有助于理解后续的实验过程。
产品模型(Profile)—统一的数据&通讯模型
Profile是通讯模型的一个映射,即如何将不同类型的数据映射到通讯模型的实例。例如左侧是不同厂家生产的水表,它的信息表达和数据格式都不一样,通过我们产品模型里的插件,可以将不同数据转换为统一格式。对于应用厂家来说,不用去管下面的设备类型,也不用关心是A厂家还是B厂家的设备,由平台屏蔽设备差异提供统一接口,更利于进行应用开发。
规则引擎—数据流转&设备联动
规则引擎是华为云IoT特有的能力,主要是通过规则引擎实现数据的流转和设备的联动。设备的数据产生后,通过我们的规则引擎流转到其他公有云的服务,数据分析服务,对象存储服务等,还有客户自己的应用,如此可使得数据产生价值。设备联动,也是基于规则引擎来实现的,其目的就是实现设备的条件、动作、数据上报等,触发另外一个设备的其他事件。比如说上文路灯的场景,通过光敏的传感器检测到外界的光照强度大于某个值的时候,此时路灯可以实现自动关闭,这整个流程,就是通过设备联动实现的。
华为云IoT智慧路灯沙箱实验演示
点击开始进行实验,限时免费。
1.实验介绍与实验说明
本实验将指导您开发一个基于物联网平台的智慧路灯应用。通过本实验,您将能够:
(1)理解物联网平台如何管理设备及设备数据
(2)掌握设备上报数据到物联网平台的原理和方法
(3)开发应用控制物联网设备
说明:
(1)通过华为云软件开发平台构建一个路灯的模拟应用(真实的应用可以参考其构建的方法)
(2) 申请ECS云服务,将构建的应用部署于ECS上,通过EIP对接IoT设备接入服务,并进行订阅通知
(3)在实验桌面运行MQTT模拟器,模拟路灯设备的行为
2.端侧通信—设备模拟器
快速体验“设备侧-平台-应用层”数据流转,模拟设备上报数据/订阅Topic/接收并响应平台下发命令。
3.应用实现—API介绍
创建设备API:src\main\java\com\huawei\service\RegisterDirectConnectedDevice.java
创建订阅API:src\main\java\com\huawei\service\SubscribeDataChg.java
下发设备命令API:src\main\java\com\huawei\service\CreateDeviceCommand.java
Web页面
页面布局:src\main\resources\static\index.html
脚本文件:src\main\resources\static\js\common.js
4.基于IoT平台构建智慧路灯应用
点击开始进行实验,限时免费。
实验摘要
登录华为云-资源下载-编译构建智慧路灯应用 DevCloud-创建主题并订阅 SMN-创建弹性云服务器 ECS-部署智慧路灯应用 DevCloud-导入产品模型 IoTDA-配置智慧路灯应用 Web
结果验证
最后,正值1024程序员狂欢节,华为云还准备了一大波技术干货直播活动,既能学技术,还能抽盲盒、锦鲤大礼包。
10月23日当天,我们邀请了华为云云原生开源负责人、华为云DevCloud首席技术布道师等10+大咖现身,剖析云原生的行业趋势,倾授云原生实战秘籍。点击观看直播。
还有干货直通车,带你揭晓大厂最深层代码技术,点击查看各技术会场,挖掘更多干货。
备注:本文整理自华为云IoT高级工程师Vz老师在1024程序员节活动上的直播。