华为云计算 云知识 如何基于华为云IoT进行端到端开发?
如何基于华为云IoT进行端到端开发?

在开始之前,我们先了解一下华为云 物联网平台 的整体方案。使用物联网平台构建一个完整的物联网解决方案主要包括3部分:物联网平台、业务应用和设备。

(由于产品文档不定时更新,获取最新内容请点击产品文档查看)

华为云IoT云服务包括应用管理、设备管理、系统管理等能力,实现统一安全的网络接入、各种终端的灵活适配、海量数据的采集分析,从而实现新价值的创造。

  • 物联网平台:作为连接业务应用和设备的中间层,屏蔽了各种复杂的设备接口,实现设备的快速接入;同时提供强大的开放能力,支撑行业用户快速构建各种物联网业务应用。

  • 设备:可以通过固网、2/3/4G、NB-IoT、Wifi等多种网络接入物联网平台,并使用LWM2M/CoAP、MQTT协议、或ONVIF协议将业务数据上报到平台,平台也可以将控制命令下发给设备。

  • 业务应用:通过调用物联网平台提供的API,实现设备管理、数据上报、命令下发等业务场景。

因此,基于物联网平台去实现一个端到端的物联网解决方案时,需要在 设备接入服务 进行产品开发、在设备管理服务控制台(商用环境)进行上线和日常管理:

开发操作

开发说明

产品开发

开发者在进行设备接入前,基于设备接入控制台进行相应的开发工作,包括平台侧开发、设备侧开发、应用侧开发、自助测试、产品发布,是真实设备接入到设备管理服务的前提条件。

上线

基于设备接入控制台,将真实设备接入到平台,并对接用户开发的应用服务器,实现设备的远程监控和控制。

日常管理

真实设备接入后,基于设备管理服务提供的控制台或者API接口,进行日常的应用管理和设备管理。

产品开发

开发者在进行设备接入前,基于设备接入控制台进行相应的开发工作,是真实设备接入到设备管理服务的前提条件。

开发操作

开发说明

平台侧的开发

主要包括Profile的开发和编解码插件的开发。编解码插件的开发仅针对上报数据为二进制码流格式的设备,对于上报数据为JSON格式的设备不需要开发编解码插件。

设备侧的开发

主要为设备与物联网平台的集成对接开发,包括设备接入物联网平台、业务数据上报和对平台下发控制命令的处理。

应用侧的开发

主要为业务应用与物联网平台的集成对接开发,包括API接口的调用、业务数据的获取和HTTPS证书的管理。

自助测试

自助测试提供了端到端的测试用例,帮助开发者自助完成产品的基础能力测试,如数据上报、命令下发等。旨在通过物联网检测技术帮助开发者发现自身产品中存在的缺陷或问题,缩短产品上市时间。

平台侧开发

2.png

开发操作

开发说明

创建项目

项目是物联网平台提供物联网应用和设备的调测空间,您可以根据场景的不同创建不同项目空间分别调测。

创建产品

在物联网平台中,某一类具有相同能力或特征的设备的合集被称为一款产品。产品包含Profile(产品模型)、编解码插件、测试报告等资源,其中产品信息被记录在Profile中。

开发profile

Profile(即产品模型)是用来描述一款产品中的设备“是什么”、“能做什么”以及“如何控制该设备”的文件。在物联网平台集成对接中需要先创建Profile,因为Profile里面定义了设备上报的数据和应用服务器下发的命令包含了哪些字段。Profile的开发手段有在线开发和离线开发两种。

开发编解码插件

一款产品的设备上报数据时,如果“数据格式”为“二进制码流”,则该产品需要进行编解码插件开发;如果“数据格式”为“JSON”,则该产品下不需要进行编解码插件开发。

设备侧开发

3.png

华为云物联网平台支持终端设备直接接入,也可以通过工业网关或者家庭网关接入;支持多网络接入、原生MQTT协议接入、SDK接入,解决设备接入复杂多样化和碎片化难题,实现设备的快速接入,详见设备侧开发

  • 使用SDK接入:为了帮助设备快速连接到物联网平台,华为提供了Agent Lite SDK、Agent Tiny SDK和LiteOS SDK。支持TCP/IP协议栈的设备集成Agent Lite SDK或Agent Tiny SDK后,可以直接与物联网平台通信。不支持TCP/IP协议栈的设备例如蓝牙设备、ZigBee设备等需要利用网关将设备数据转发给物联网平台,此时网关需要事先集成Agent Lite SDK。 如果是智能设备,可以集成LiteOS操作系统,利用LiteOS与物联网平台通信。

  • 原生MQTT协议接入:支持设备通过MQTT原生协议接入。MQTT是一种基于发布/订阅范式的ISO标准消息协议,主要应用于计算能力有限,且工作在低带宽、不可靠的网络的远程传感器和控制设备,适合长连接的场景,如智能路灯等。

  • 使用模组接入:支持通过华为认证的Wifi、NB-IoT、2/3/4G模组直接接入物联网平台。模组厂商只需要将Agent Tiny SDK集成在现有的模组固件包中,这样模组就具备了接入华为物联网平台的能力。

应用侧开发

华为物联网平台面向全球各行各业提供物联网服务,并通过Restful API的形式对外开放物联网平台丰富的设备管理能力。应用开发人员基于API接口开发所需的行业应用,如 智慧城市 、智慧园区、智慧工业、车联网等行业应用,满足不同行业的需求。应用开发人员可以选择调用API接口、集成SDK两种方式进行应用服务器(简称为应用)的开发。具体详见应用侧开发

4.png

------------------------云端日常管理---------------------------

真实设备接入后,用户就可以基于控制台或者API接口,进行日常的应用管理和设备管理。

6.png

功能

简介

订阅推送

订阅:是指应用服务器通过调用物联网平台的API接口,向平台获取发生变更的设备业务信息(如设备注册、设备数据上报、设备状态等)和管理信息(软固件升级状态和升级结果)。

推送:是指订阅成功后,物联网平台根据应用服务器订阅的数据类型,将对应的变更信息推送给指定的URL地址。

授权应用

IoT平台支持应用授权操作,包括同一个用户下的不同应用之间的授权、两用户下的不同应用之间授权,且两应用之间可以相互授权,即被授权的可以通过控制台查看和操作授权应用下的所有设备,如创建规则、批量任务操作等。

数据上报

当设备完成和物联网平台对接后,一旦设备上电,设备基于在设备定义上的业务逻辑进行数据采集和上报,可以是基于周期或者事件触发。

命令下发

为能有效地对设备进行管理,设备的产品模型中定义了物联网平台可向设备下发的命令,应用服务器可以调用物联网平台开放的API接口向单个设备或批量设备下发命令,或者用户通过物联网平台直接向单个设备下发命令,配置或修改设备的服务属性值,以实现对设备的远程控制。

设备配置更新

物联网平台提供设备配置更新功能,即用户可通过控制台对单个设备或批量设备的设备属性值进行修改,满足用户频繁、快捷、方便的管理设备的诉求。

设备影子

设备影子是一个JSON文件,用于存储设备的在线状态、设备最近一次上报的设备属性、应用服务器期望下发的配置。每个设备有且只有一个设备影子,设备可以获取和设置设备影子以此来同步状态,这个同步可以是影子同步给设备,也可以是设备同步给影子。

规则引擎

指用户可以在物联网平台上可以对接入平台的设备设定相应的规则,在条件满足所设定的规则后,平台会触发相应的动作来满足用户需求。包含设备联动和数据转发两种类型。

群组与标签

群组是一系列设备的集合,用户可以对应用下所有设备,根据区域、类型等不同规则进行分类建立群组,以便处理对海量设备的批量管理和操作。

物联网平台支持定义不同的标签,并对设备打标签,通过标签,可以快速筛选设备。

设备监控

提供查看设备详情、设备状态管理、查看报表、查看操作记录、查看审计日志、告警管理、设备消息跟踪等设备监控与运维能力,提升设备的可维护性。

远程诊断

支持用户对接入的设备进行远程维护操作,快速定位问题及恢复业务,减少近端维护引入的高成本。当前支持的远程维护操作包括设备的运行日志收集、重启模组。

固件升级

用户可以通过OTA的方式对支持LWM2M协议的设备进行固件升级,升级协议为LWM2M协议。

软件升级

用户可以通过OTA的方式支持对LWM2M协议的设备进行软件升级,升级协议为PCP协议。

看到这,您了解如何玩转物联网平台了么,如果还有疑惑,没关系,我们有更详细的宝典,请从这里开始

上一篇:智慧校园应用管理平台主要功能-教师评价与成果 下一篇:DAS中新增数据库连接的操作
物联网IoT

华为云IoT,致力于提供极简接入、智能化、安全可信等全栈全场景服务和开发、集成、托管、运营等一站式工具服务,助力合作伙伴/客户轻松、快速地构建5G、AI万物互联的场景化物联网解决方案