【我的物联网成长记1】如何进行端到端开发?
【摘要】 自从华为物联网平台推出以来,很多开发者都在后台咨询小编设备如何上云等问题,小编我忍不住了,花了两天两夜,整理出“如何进行端到端开发”,帮助您快速了解设备上云全流程。
全文约4000字,阅读大概需要10分钟。
开始之前,先了解物联网平台的整体方案。使用物联网平台构建一个完整的物联网解决方案主要包括3部分:物联网平台、业务应用和设备。
-
物联网平台:作为连接业务应用和设备的中间层,屏蔽了各种复杂的设备接口,实现设备的快速接入;同时提供强大的开放能力,支撑行业用户快速构建各种物联网业务应用。
-
设备:可以通过固网、2/3/4G、NB-IoT、Wifi等多种网络接入物联网平台,并使用LWM2M/CoAP、MQTT协议、或ONVIF协议将业务数据上报到平台,平台也可以将控制命令下发给设备。
-
业务应用:通过调用物联网平台提供的API,实现设备管理、数据上报、命令下发等业务场景。
因此,基于物联网平台去实现一个端到端的物联网解决方案时,需要在开发中心(测试环境)进行产品开发、在设备管理服务控制台(商用环境)进行上线和日常管理:
---------------------------开发中心与设备管理服务的差异---------------------------
如上面讲到的,在实现物联网方案过程中,会使用到开发中心和设备管理服务,那这两个平台有啥区别呢?
开发中心
开发中心是基于设备管理服务提供的物联网一站式开发工具,帮助开发者快速进行Profile(产品模型)和编解码插件的开发,同时提供在线自助测试、产品发布等多种能力,端到端指引物联网开发,帮助开发者提升集成开发效率、缩短物联网解决方案建设周期。
设备管理服务
设备管理是在设备接入基础上,提供了更丰富完备的设备管理能力,简化海量设备管理复杂性,节省人工操作,提升管理效率。当用户在开通设备管理服务时,系统默认一起开通设备接入服务,即用户在使用设备管理服务时,包含设备接入服务的能力。
开发中心和设备管理服务有哪些差异?
-
两者所在的物联网平台环境不一样
开发中心所在的平台环境为测试环境,设备管理服务所在的平台环境为商用环境。两个环境的设备数据不能互通,已对接测试环境的设备/应用要迁移商用环境,需要在商用环境重新创建应用和注册设备,并修改设备/应用中平台的接入信息。
-
两者的设备数量限制不一样
开发中心单个项目(应用)下最多可注册20个设备,设备管理服务单个应用下最多可注册1000万个设备。在其他的平台能力上,两者保持一致,例如开发中心和设备管理服务使用同样的API,更多的平台能力使用限制请查看使用限制。
-
两者的计费策略不一样
开发中心为免费使用,设备管理为付费使用,设备管理服务的具体计费策略请查看计费详情。
开发中心和设备接入服务是否有联系?
开发中心是基于设备管理服务的物联网开发工具,在开发中心上开发的产品(Profile文件和编解码插件)只适用于设备管理服务,不能在设备接入服务中导入和使用。
---------------------------产品开发---------------------------
开发者在进行设备接入前,基于开发中心进行相应的开发工作,是真实设备接入到设备管理服务的前提条件。
平台侧开发
设备侧开发
华为物联网平台支持终端设备直接接入,也可以通过工业网关或者家庭网关接入;支持多网络接入、原生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两种方式进行应用服务器(简称为应用)的开发。具体详见应用侧开发。
---------------------------上线(转商用)---------------------------
当产品发布到产品中心后,我们在“开发中心”定义好的产品就可以在“设备管理服务”中使用了。由于开发中心所在的平台环境为测试环境,设备管理服务所在的平台环境为商用环境,两个环境的数据不能互通,已对接测试环境的设备/应用服务器要迁移商用环境。具体详见商用对接。
---------------------------云端日常管理---------------------------
真实设备接入后,用户就可以基于控制台或者API接口,进行日常的应用管理和设备管理。
看到这,您了解如何玩转物联网平台了么,如果还有疑惑,没关系,我们有更详细的宝典,请从这里开始。
作者:我是卤蛋