iot平台的构成_IOT系统闭环架构

通信网络

624人已加入

描述

  iot平台的构成

  IoT平台是基于互联网,通过现有的通讯技术来建构的,而不依赖于特定的硬件模块,用户可以基于自身的设备技术架构,最终接入物联网。

  它主要是连接硬件、处理不同的通讯协议、为设备和用户提供安全和身份验证、收集数据并进行可视化地分析,以及与其他Web服务进行集成。

  一个完整的IoT平台包括应用使能平台、设备管理平台、连接管理平台、IoT终端代理四部分,其他的功能模块都是基于这四大功能模块进行延伸的。下面是关于核心功能模块的具体内容:

  应用使能平台(Application Enablement Platform,AEP),核心能力为业务编排、大数据分析、行业套件、API管理,主流阵营为Thingworx、Cumulocity IoT等;

  设备管理平台(Device Management Platform,DMP),核心能力为设备鉴权、数据采集、物联网协议适配、订阅通知;非核心能力为固件升级、告警管理,主流阵营为Bosch BSI、DiGi、Nokia Impact、Sierra Wireless等; 其运作模式有两种,分别是平台服务提供方式以集成为主,以及提供完整的端到端解决方案。前者,一般设备管理平台 DMP 集成在整套端到端 M2M 设备管理解决方案中,不单独提供。只有少量单独提供设备管理云端服务的厂商,每台设备每个月收取一定运营管理费用;而后者,主流DMP平台运营公司同时提供物联网连接设备、传感产品和管理云平台服务,使其能同时提供完整的端到端解决方案。

  连接管理平台(Connectivity Management Platform,CMP),核心能力为使得SIM卡接入运营商网络,实现运营商计费系统对接;主流阵营为思科Jasper、爱立信DCP、沃达丰GDSP等;

  IoT终端代理(IoT Agent),核心能力为使得预集成设备快速接入平台,实现近场控制和边缘计算。

  IOT系统闭环架构

  抛砖引玉:未来某一个周末下午2点,阳光明媚,从窗外照进来,微风拂面,我在客厅的沙发悠闲的躺下,叫唤:“小沙小沙,给我播放一首催眠的纯音乐,再给我的后背按摩,10分钟就好了”。沙发便照做了,除了按我说的做,它还通过接触我的皮肤分析我身体的健康状况,然后把信息告诉家里的空调,空调自动调节我最适合的湿度和温度。当我小睡一会,3点多醒来的时候,想冲个凉,于是告诉沙发,帮我加热水,当然沙发通过接触我的头发,分析发质,推荐我要用哪一种洗发水。冲完凉后我又想出门,于是又拜托家里的机器人佣人,帮我叫车… 整个生活,都很方便。

  上述我所说的还没普及,但是已经有企业在做了。这种万物联网、万物智能的系统称为IOT(Internet of things),也可以叫物联网(包括智联网),现在随处可见的ofo小黄车也是一种IOT模式。那么,一个IOT系统的完全闭环是如何实现的呢?

  其实实现原理不难,无非是硬件产品+软件控制+云端3部分组成,所谓闭环,就是说它们可以构成一个环,实现完整的生产产品链。这3部分的关系图如下所示:

  上图揭示了两种IOT方式,一种是云端-硬件关方式,一种是云端-软件-硬件方式,现在常见的共享单车,属于云端-软件-硬件方式,软件部分便是app。那么,这3部分的具体细节是怎样的?作为一个后端的开发人员,我负责的自然是云端部分。云端也是IOT中心脏/大脑级别的角色,为了撑起一个IOT的调度,云端该如何设计?

  这两个问题我没办法给出标准答案,因为我也在摸索中。在这里我给出一个云端的解决方案。至于硬件或者软件控制系统,对云端而言都是给出一个接口。云端的设计原理图如下:

  基于上图的架构,每个部分的作用如下:

  文件系统

  1 存储第三方的资料信息,比如做一个智能机器人的产品,机器人的资料要实现收集,以便处理各种行为,给出指令

  2 存储用户行为系统,注意在图中,有一条黑色实线,由硬件/软件指向文件存储,这部分是为用户行为分析设计的。传统的用户行为分析(例如友盟、阿里dataV)采用实时像服务器发送行为消息(埋点)的模式。可是我穷,买不起一个线上的服务器专门用于处理用户数据,因为这种服务器的配置要很高,成本太高!于是,我便将用户一天/一周/一个月的数据存储在本地,然后每隔一段时间直接上传到文件存储,文件存储可以是第三方的存储。然后我再用自己的电脑,在下班或者夜晚从文件存储下载数据到本地,跑大数据系统分析。具体的细节在大数据系统中会介绍。

  数据库

  1 mysql集群,存储逻辑数据,提供给各个系统使用。

  2 数据库的设计要结合终端,尤其是硬件,例如,一个无人机产品,要把它表示出来,数据库的设计就得接近产品本身,其中的字段就包括:芯片(内存、cpu、电阻、电容)、外形、公模等等各个参数和指标,所以在设计数据库的时候要多跟硬件部门取经。

  大数据系统

  1 统计终端行为规律,IOT的服务对象是终端,所以对终端设备的统计和分析很有必要,统计使用数量,用户在全球的分布规律等等,以智能家居为例,如果可以统计出用户的使用习惯,空调的哪一个温度最多人使用,沙发的哪个位置最多人坐,用户的作息时间、健康状况等等,这些都有助于产品的设计,给运营、给为下一个版本的设计指明方向,还能顺便推荐其他关联产品等等。

  2 发掘潜在的功能需求

  3 给企业反馈,当一个企业接入一个IOT系统,自然希望看到真实的效果

  4 关于我的设计,采用非实时的方式,在管理上很方便,我很明确自己想要哪些数据,不必全部分析。数据的组成要与终端的实际功能相结合,将终端的每个事件定义好,加上时间和gps,发送到文件存储系统,而区分不同的终端,只需要在文件上指明即可,这样做可以减少传输字数。这样统计出来的数据总会比现在要少一天/一周/一个月时间,但是成本大大降低了,因为它不需要一个线上的服务器,只需要一台本地电脑就好,我可以白天用自己的电脑工作,夜晚跑数据分析,0成本!!!

  业务系统

  1 这要结合具体业务,如果是面对硬件终端的,给终端发送指令、处理终端的指定,如果是软件控制的,就提供接口。

  2 业务系统里面可不仅仅是业务这么简单,还包括nginx、缓存、数据层这样的应用,只是说它是直接面对终端、处理业务的。

  后台管理系统

  1 主要开放给企业用户,定像定制策略、管理终端、查看自己产品的用户行为规律,比如一个硬件终端各个指令对应什么功能,推荐其他产品、投放广告等等,这些由后台管理系统指定

  安全系统

  1 分为两部分,常规部分是传统的网络安全,获取用户token、数据过滤、加密等,主要应用在对后台管理系统和业务接口的传输上。

  2 但是,对于直接面对硬件终端来说,指令的传输安全是特殊的,这个主要借鉴阿里IOT的ID^2 安全模型,就像智能家居,虽然看起来整个家居系统是统一的,其实它们的工作都是独立的,完全由云端控制,云端把它们连在一起,但是终端本身并不是联合的,所以每个终端是独立接收指令+传输加密。沙发将用户的身体信息发送给云端,云端处理,计算出空调应该调节的温度和湿度,将这个指令发送给空调,空调才会做出调整。

  终端(硬件、软件)

  1 如果是硬件直接连接云端,那么硬件就要提供联网模块

  2 如果是走硬件-软件-云端,软件(一般是app)与硬件的连接部分,以wifi、或者蓝牙为载体,协议也要先定义好

  上面列举的结构看起来好像挺简单的,可是一旦做起来,才知道好多要考虑的,比如硬件的声音控制,要做到区分不同人的声音,就要做声波过滤,说来惭愧,声波过滤用到的知识是《模拟电子电路》里面的,碰巧这是我大学挂的第一科, 大数据系统数据的提取要经过层层统计,设置一级数据、二级数据、三级数据,提取的依据是什么?怎么提取?,还有日志管理,报警系统,故障容错…一言难尽,总之,我也是在这条路上勤勤恳恳劳动的一只蚂蚁,共勉!

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分