【我的物联网成长记2】设备如何进行选型?【华为云技术分享】
【摘要】 在设备集成开发过程中,主要涉及三类用户: 模组厂商:提供Wifi、NB-IoT、2/3/4G等通信模组的厂商。设备厂商可以利用模组提供的能力接入到华为IoT平台。 设备厂商:开发并销售最终设备的厂商。设备厂商需要做集成开发,以便让设备具有接入华为IoT平台的能力。 设备用户:设备的购买者及管理者。 下文围绕这三类用户,介绍各类用户在设备集成过程中需要关注的接入方案。
一、我是模组厂商
作为模组厂商的您需要让模组实现MQTT、LWM2M、CoAP等物联网协议栈及连接平台的能力,您只需要将Agent Tiny SDK集成在现有的模组固件包中,这样模组就具备了接入华为IoT平台的能力。 我们将提供华为IoT技术认证支持,帮助您快速完成SDK集成,通过华为认证的模组可以申请入驻华为云市场,我们将会推荐给IoT平台用户。查询-华为已认证的模组。
Agent Tiny SDK具有普适性,可以广泛移植于WiFi模组、2/3/4/5G模组、NB-IoT模组,无需考虑模组类型。如何在模组中集成Agent Tiny SDK,请参考华为IoT技术认证流程,获取相关技术支持。
二、我是设备厂商
通常情况下作为设备厂商的您需要进行设备集成开发,以便让设备具备接入IoT平台的能力。我们将提供华为IoT技术认证支持,帮助您快速完成设备适配和认证。通过华为认证的设备可以申请入驻华为云市场,我们将会推荐给IoT平台用户。查询:华为已认证的设备。
根据设备是否具有IP通信能力,设备接入平台分为以下两类:设备直接接入平台和通过网关接入平台。
【设备直接接入平台】
针对已实现TCP/IP协议栈的设备,它可以直接与平台进行通信,常见的设备包括网关、以太网设备、NB-IoT设备等。 根据设备自身硬件的特点不同,华为IoT平台提供四种方式直接接入,您需要根据自身行业特征及业务情况选择合适的接入方案。
l 方案一:设备需要智能操作系统,硬件满足RAM容量> 32KB,FlASH容量> 128KB时,通过集成LiteOS操作系统接入平台。
Huawei LiteOS 是华为发布的一种轻量级物联网操作系统,遵循BSD-3开源许可协议,可广泛应用于智能家居、个人穿戴、车联网、城市公共服务、制造业等领域。LiteOS本身集成了Agent Tiny SDK,设备安装LiteOS后,就能简单快速地实现与华为IoT平台安全可靠的连接。集成开发流程详见《LiteOS SDK使用指南》。
l 方案二:设备没有配置模组时,通过集成Agent Tiny SDK或Agent Lite SDK接入平台。
− 当设备存储及计算能力较强(满足RAM容量>4MB,FlASH容量> 2MB)时,推荐设备集成Agent Lite SDK。目前Agent Lite SDK支持C、Java和Android三个版本。实际开发中,请根据开发时使用的语言、平台,选用合适的设备端SDK集成:
− 当设备为轻量型嵌入式设备(硬件满足RAM容量> 32KB,FlASH容量> 128KB)时,推荐采用Agent Tiny SDK。目前Agent Tiny SDK支持C语言开发,集成开发流程详见《Agent Tiny SDK集成开发指导》。
l 方案三:当设备配置有模组时,根据模组特征,选择性集成Agent Tiny SDK接入平台。
− 如果采用经过华为认证的模组,该模组已集成Agent Tiny SDK,可以利用模组直接接入IoT平台。您可以访问华为云市场,购买符合已认证的模组。
− 如果采用未经过华为认证的模组,您需要集成Agent Tiny SDK,根据SDK集成位置,分为两种模式:
1. MCU+模组模式:此模式下,设备包含MCU(Microcontroller Unit)和通信模组,其中MCU集成 Agent Tiny SDK及运行产品逻辑,模组作为通信模块,提供通信网络。集成开发流程详见《Agent Tiny SDK集成开发指导》。
2. OpenCPU模式:此模式下,设备只包含通信模组,模组集成 Agent Tiny SDK及运行产品逻辑,集成开发流程详见《Agent Tiny SDK集成开发指导》。
l 方案四:设备通过实现原生协议接入,适合一切设备。
当前华为IoT平台支持设备通过实现MQTT、LWM2M over CoAP原生协议接入。IoT平台对外开放了这些协议的API,您只需在设备端调用开放的API,即可实现设备快速接入 。您可访问《 MQTT接口参考》获取华为IoT平台开放的能力。为了便于您进行设备接入开发,我们提供了MQTT相关的集成指导,您可查看《设备集成》了解。
− 实现LWM2M over CoAP原生协议接入:LWM2M协议是一种由开发移动联盟(OMA)制定的轻量级、标准通用的物联网设备管理协议。主要应用于NB-IoT设备,具有覆盖广、连接多、速率低、成本低、功耗低等特点。
− 实现MQTT原生协议接入:MQTT是一种基于发布/订阅范式的ISO标准消息协议,主要应用于计算能力有限,且工作在低带宽、不可靠的网络的远程传感器和控制设备,适合长连接的场景,如智能路灯等。
四种方案的优缺点如下:
接入方式 |
方案优点 |
方案缺点 |
集成LiteOS接入IoT平台 |
有对应的SDK,集成难度较低,对您的开发技能要求较低。 |
方案不灵活,开发者只能根据LiteOS提供的API去实现自己的功能,超出API外的功能,无法自定义,对于设备的硬件要求比较高。 |
集成Agent Lite SDK或Agent Tiny SDK接入IoT平台 |
有对应的SDK,集成难度低,对您的开发技能要求较低。 |
方案不灵活,开发者只能根据Agent SDK提供的API去实现自己的功能,超出API外的,无法自定义。 |
通过模组接入IoT平台 |
集成难度非常低,对您的开发技能要求低。 |
需要采购指定型号的模组。 |
通过实现原生协议接入IoT平台 |
方案比较灵活,可根据业务需要,实现协议定义的功能,对设备硬件无限制。 |
需要从底层协议开始实现,集成难度大,代码开发量大,对于开发者要求高。 |
【设备通过网关接入平台】
针对未实现TCP/IP协议栈的设备,由于无法直接同IoT平台通信,它需要通过网关进行数据转发。常见设备包括智慧园区中的照明系统、楼宇系统设备等。这些场景下的限制如下:
制约因素 |
详细描述 |
设备限制 |
设备非常简单,没有集成TCP/IP协议栈,无法提供IP通信网络能力,只能基于一些简单的近场通信协议如ZigBee、ZWave、Bluetooth或者是其他的一些非IP有线方式传输协议如串口、并口等接入,此时需要一个网关设备,先让设备接入到网关,再通过网关与华为IoT平台通信。 |
网络限制 |
设备部署在独立的网络内,由于安全等考虑,无法直接与IoT平台互通,需要借助网关进行网络桥接。 |
业务限制 |
下层设备的管理控制逻辑比较复杂,需要利用网关软件自身具有对应的逻辑控制能力配合IoT平台进行业务管理。 |
集成限制 |
子设备已经接入到现有系统,不愿意再进行设备改造,需要将现有系统通过网关接入到IoT平台。 |
针对此类设备,通过在网关上集成Agent Lite SDK, 设备将数据上报给网关,通过网关转发到华为IoT平台。华为公司协同合作伙伴,对已集成Agent Lite SDK的网关进行了认证,您可以访问华为云市场,购买符合自身业务的网关产品。目前Agent Lite SDK支持C、Java和Android三个版本。实际开发中,请根据开发时使用的语言、平台,选用合适的SDK集成:
三、我是设备用户
作为设备用户,您既是设备的购买者,又可能是设备的实际管理者,通常您需要考虑两件事:
1. 在采购设备时,如何评估设备满足您的业务需求并且具备接入IoT平台的能力。关于此方面的知识,您可以参考设备能力评估。
2. 在进行日常管理时,针对不具备接入IoT平台的设备,如何将现有设备进行改造,以便设备能接入到IoT平台中。关于此方面的知识,您可以参考设备改造。
【设备能力评估】
本节主要关注设备通信能力的评估。由于承接业务的不同,对于设备的要求也不同,采购的设备通信能力评估一般由以下几个流程:
1. 针对您所处的行业,您需要深度分析业务对于设备(硬件资源、电池、性能等)、网络实时性及网络覆盖度等要求,确保现有设备满足业务需求。典型案例如下表所示。
典型行业 |
设备特征 |
技术关注点 |
智慧抄表 |
接入设备数量多、电量有限、设备常常分布在地上或地下多个区域,要求有信号覆盖。 |
设备数量多,接入成本要低,自身硬件资源有限,要求设备网络要深度覆盖,低功耗,数据量较少。 |
智慧园区 |
应用子系统多、设备传感器种类多、无统一的通信协议标准,上报的数据无统一格式。设备大部分无IP通信能力,需要通过网关接入。可通过有线网络接入。 |
应用独立子系统多,格式不统一,数据孤岛多,需要一个统一平台管理。设备不具备IP通信能力,硬件资源有限,通常通过网关转发数据,因此主要关注网关的通信能力。 |
车联网 |
设备电量充足,需要实时对车辆数据进行分析等,因此需要接入网络实时性高,数据传输速率高等。 |
主要关注接入网络选型,要选传输速率较高的无线网络接入。 |
2. 根据业务对于数据及成本要求,确认设备支持的网络是否能够满足业务需求。
业务应用 |
推荐的接入网络 |
网络特点 |
智慧家庭、智慧楼宇等 |
以太网 |
传输速率可达到10Gbit/s、随时在线、成本高。 |
车联网、视频监控等 |
4G/5G/LTE-v |
传输速率>10Mbit/s、功耗高、成本高。 |
电子广告、无线ATM、梯联网等 |
eMTC、 GPRS |
传输速率<1Mbit/s、功耗较低、成本较低。 |
远程抄表、智能停车等 |
NB-IoT、LoRa |
传输速率<100Kbit/s、功耗低、成本低、穿透力强、信号覆盖好。 |
3. 确认设备是否集成了物联网协议,以便保证设备可以连接到IoT平台,利用IoT平台进行设备管理。华为IoT平台目前支持设备采用以下协议接入。
通信协议 | 协议描述 | 应用场景 |
LWM2M | LWM2M是开发移动联盟OMA定义的用于设备管理的应用层通讯协议,主要使用在资源受限的嵌入式设备上。 | NB-IoT设备接入平台,业务实时性要求不高,低功耗、信号广覆盖场景。 |
CoAP | CoAP是资源受限设备和受限网络专用的Web传输协议,专为机器对机器的应用而设计。CoAP提供请求/响应交互模型,支持内置的服务和资源发现。需要底层实现UDP协议。 | NB-IoT设备接入平台,业务实时性要求不高,低功耗、信号广覆盖场景。 |
MQTT | MQTT是一种物联网连接协议,提供非常轻量级的发布/订阅消息传输方式,用于在低带宽、不可靠的网络的设备管理。该协议构建于TCP/IP协议上。 | 对设备的可靠性和实时性要求高,适合长连接的场景,如智能路灯等。 |
4. 根据前面步骤,总结设备的特征,选择与业务相匹配的设备。例如针对智能抄表行业,要求电表通信模块具有覆盖广、穿透力强、耗电量小、成本低特点,因此接入网络选择NB-IoT网络,设备采用NB-IoT模组,模组集成了LWM2M协议,可以保证设备接入华为IoT平台。
【设备改造】
设备如果不具备接入华为IoT平台能力,需要对设备进行改造,改造方法跟设备厂商进行设备集成方法一样,详见我是设备厂商介绍。
了解物联网设备集成流程,请访问IoT设备接入指引。
作者:我是风儿你是沙
HDC.Cloud 华为开发者大会2020 即将于2020年2月11日-12日在深圳举办,是一线开发者学习实践鲲鹏通用计算、昇腾AI计算、数据库、区块链、云原生、5G等ICT开放能力的最佳舞台。