IOT需求&方案分析

1.需求分析

IOT平台系统设计关键讨点:
  • 设备接入网络方案
  • 设备间的通信
  • 物联网数据的用途
  • 如何搭建起一个物联网系统框架?它的技术架构是怎样?
  • 物联网终端软件系统的架构如何?
  • 物联网云平台系统的架构如何?
  • 2.方案分析

    1)设备接入方式:

    只有设备接入到网络里面,才能算是物联网设备,这里涉及接入方式以及网络通信方式。
    设备接入方式目前有两种:
    直接接入:物联网终端设备本身具备联网能力直接接入网络,比如,在设备端加入NB-IOT通信模组,2G通信模组。
    网关接入:物联网终端设备本身不具备入网能力,需要在本地组网后,需要统一通过网关再接入网络。比如,终端设备通过zigbee无线组网,然后设备数据通过zigbee网关统一接入到网络里面。常用到本地无线组网技术有Zigbee,Lora,BLE,MESH,SUB-1GHZ等。
    在物联网设备里面,物联网网关是一个非常重要的角色。

    一个处在本地局域网与外部接入网络之间的智能设备。主要的功能是网络隔离,协议转化/适配以及数据网内外传输。

    一个典型的物联网网关架构如下:

    常用的通信网络主要存在两种方式:

    移动网络(主要户外设备用):移动网络2G/3G/4G/5G/NB-IOT等;

    宽带(主要户内设备用):WIFI,Ethernet

    2)设备接入云端的协议:

    物联网设备终端接入网络后,只是物联网应用的开始。设备接入网络后,设备与设备之间需要互相通信,设备与云端需要互相通信。 只有互通,物联网的价值才展现出来。 既然要互通,则需要一套物联网通信协议。只有遵循该套协议的设备相互间能够通信,能够交换数据。

    常用的物联网通信协议主要有如下协议:CCPMQTTCOAPHTTP等,他们有个共同点都是基于消息模型来实现的。设备与设备之间,设备与云端之间通过交换消息来实现通信,消息里面携带了通信数据。

    基于CCP接入(MOTT协议的精简版)

    协议本身具备安全算法,不亦乐乎TLS算法;协议大学更精简,包头,payload占用字节更少。例如header只有1个字节,协议支持多种通信模式,相对于MOTT,不仅支持Pub/Sub,还支持RPC/RRPC.

    基于MOTT接入

    被广泛用在嵌入式设备的消息传输上

    COAP

    COAP是一种软件协议,旨在用于非常简单的电子设备,让它们通过互联网交互通信。

    HTTP协议

    RESTAPI的方式连接IOT。设备可以通过POST方式实现PUB消息到某个TOPIC

    3)平台功能

    设备接入:安全接入,确保设备在云端的安全及合法性;快速接入

    设备授权

    数据收集

    监控:通过物联网收到到设备数据后,如果设备数据状态超过预设的状态则自动第一时间报警,管理员 第一时间开展处理,可以通过远程操作,下达命令,吧问题解决在萌芽状态。

    报表统计:通过统计方法,对设备的历史运行数据进行统计分析。可以按不同的维度分析出不同报告。然后以图表或者大屏方式展现在管理员勉强。管理员可以快速只管的了解到整个物联网设备部运行状况。

    数据挖掘/机器学习(故障预测):从数据里面挖掘出有价值的东西出来。比如通过设备数据的连续跟踪分析并接个人类过往的设备运维经验,通过机器学习方式预测设备发送故障概率,以及发生故障后可能的引起原因,并给出维修方案。

    4)参考架构

     

    规则引擎

    物联网云平台通常是基于现有云计算平台搭建的。一个物联网成熟业务出了用到物联网云平台提供功能外,一般还需要用到云计算平台提供功能,比如云主机,云数据库等。用户可以在云主机上搭建WEB行业应用服务。

    规则引擎主要作用是吧物联网平台数据通过过滤转发到其他云计算产品上。比如可以把设备上报的数据转发到table store数据库产品里。

    规则引擎一般使用方式:类SQL语言,通过编写SQL语言,用户可以过滤数据、处理数据,并吧数据发到其他云计算产品,或者其他云计算服务。

    Kafka

    Kafka是最初有Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景;比如基于hadoop的批处理系统、低延迟的实时系统、storm/Spark流式处理引擎,web/nginx日志、访问日志,消息服务等等,用scala语言编写Linkedin2010年贡献给了Apache基金会并成为顶级开源项目。

    Zookeeper

    Zookeeper是一个分布式的、开放源码的分布式应用程序协调服务,是GoogleChubby一个开源的实现,是HadoopHbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

    5)参考架构:

    百度接入IOT Hub

     

    阿里云物联网套件

     

    数据通道

    为设备和物联网应用程序提供发布和接受消息的安全通道。数据通道目前支持CCP协议和MQTT协议。用户可以基于CCP协议实现Pub/Sub异步通信,也可以使用远程调用(RPC)的通信模式实现设备端与云端的通信。

    用户也可以基于开源协议MQTT协议链接阿里云IOT,实现Pub/Sub异步通信。

    安全认证&权限策略

    为每个设备办法阿里云IOT的凭证,以来凭证才能链接阿里云IOT。提供设备级的授权粒度,任何设备必须经过授权才能对某个Topic发布订阅消息服务端也许要经过授权才能操作其他账号下的Topic.

    设备共享平台

    提供Topic跨账号的授权,帮助用户实现跨厂商的数据共享,进而实现更加丰富智能的场景。

    规则引擎

    为用户提供类SQL的规则引擎,帮助用户过滤数据、处理数据,并能够发送数据到阿里云其他服务,例如RDS,OTS,ONS等等,也能发送数据到其他Topic