zoukankan      html  css  js  c++  java
  • 【我的物联网成长记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集成:

    Agent Lite SDK集成开发指导(C-Linux)

    Agent Lite SDK集成开发指导(Java)

    Agent Lite SDK集成开发指导(Android)

    − 当设备为轻量型嵌入式设备(硬件满足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集成:

    Agent Lite SDK集成开发指导(C-Linux)

    Agent Lite SDK集成开发指导(Java)

    Agent Lite SDK集成开发指导(Android)

    三、我是设备用户

    作为设备用户,您既是设备的购买者,又可能是设备的实际管理者,通常您需要考虑两件事:

    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设备接入指引

    作者:我是风儿你是沙

    往期文章精选

    如果让你手写个栈和队列,你还会写吗?

    挑战10个最难的Java面试题(附答案)【上】

    javascript基础修炼(13)——记一道有趣的JS脑洞练习题

    【我的物联网成长记3】如何开发物联网应用?

    【HC资料合集】2019华为全联接大会主题资料一站式汇总,免费下载!

  • 相关阅读:
    今天博客开通第一天,以此纪念!
    基于opencv的车牌识别系统
    【C和指针】笔记1
    【局域网聊天客户端篇】基于socket与Qt
    对Qt下对话服务器客户端的总结(MyTcpServer与MyTcpClient)
    linux 线程编程详解
    【linux】安装samba服务
    linux(ubuntu)获取命令源码方式
    win7下用SSH连接linux虚拟机
    Linux下deb包安装工具(附带安装搜狗输入法)
  • 原文地址:https://www.cnblogs.com/2020-zhy-jzoj/p/13165429.html
Copyright © 2011-2022 走看看