IoT--(四)物联⽹系统架构介绍物联⽹系统框架介绍 21世纪,什么最重要?数据。 有了⼤量的物联⽹设备数据后, 针对数据,⼈类可以去挖掘⾥⾯的规律,挖掘⾥⾯的商业价值,对设备未来的状态进⾏预测等等。 对于物联⽹数据应⽤,分⼏个层次来讲
1. 基础应⽤:监控
通过物联⽹收集到设备数据后, 如果设备数据状态超过预设的状态则⾃动第⼀时间报警,管理员第⼀时间开展处理,可以通过远程操作,下达命令。把问题解决在萌芽状态。 2.进阶应⽤: 报表统计
通过统计⽅法, 对设备的历史运⾏数据进⾏统计分析。可以按不同维度分析出不同报告。然后以图表或者⼤屏⽅式展现在管理员⾯前。 管理员可以快速直观的了解到整个物联⽹设备运⾏状况。
3.⾼级应⽤: 数据挖掘/机器学习
这部分需要从数据⾥⾯挖掘出有价值的东西出来。⽐如通过⼀段时间时间设备数据的连续跟踪分析并结合⼈类过往的设备运维经验,通过机器学习⽅式预测设备发⽣故障概率,以及发⽣故障后可能的引起原因,并给出维修⽅案。刚才举的例⼦,是物联⽹⾼级应⽤⾥⾯的冰⼭⼀⾓。 通过引⼊现在⽕热的
AI技术。 物联⽹就能变成智能物联⽹了。 也许在不久的将来, ⼈与设备可以⾃由对话,设备与设备之间也能够对话并⾃动做出最优决策。
综合所述,物联⽹的价值在于提⾼⽣产效率,管理效率,极⼤促进社会⽣产⼒的提⾼。
如何搭建起⼀个物联⽹系统框架呢?它的技术架构⼜是怎么样呢?
物联⽹终端设备软件系统架构
常见系统框架的总结下来主要存在如下2种: 带RTOS的(处理复杂的业务场景,场景⾥⾯通过需要多个事务并⾏协同完成⼯作)和不带RTOS的(通常处理的业务场景较单⼀)
不带RTOS设备终端系统框架:
不带RTOS设备终端系统框架:
带RTOS设备终端系统框架:
带RTOS设备终端系统框架:
RTOS是什么? 实时多任务操作系统,有了它,在终端设备⾥⾯可以并⾏运⾏多个任务。每个任务负
责⼀个事务。通过并⾏化运⾏,响应实时性及效率就得到提升。RTOS实时操作内核⼀般包含的重要组件如下:
1. 任务调度
2. 任务间同步与通信
3. 内存分配
4. 中断管理
6. 时间管理
7. 设备驱动
1
2
知识竞赛系统3
4
5
6
7
1
2
3
4
5
6
7
以任务调度组件举例:
在嵌⼊式操作系统中,任务是CPU上最⼩运⾏单元。通常⼀个稍微复杂点IOT APP是由多个任务协同完成。⽐如有的任务负责处理⽤户事件输⼊以及UI显⽰,有的任务负责处理数据通信,有的任务负责业务逻辑处理。
既然⼀个系统中有多个任务在跑,⽽CPU资源确是单⼀的,这样导致每个时刻只能由⼀个任务在CPU上跑。 因此为了每个任务都能够在CPU上有运⾏机会,就涉及到了任务调度概念。 任务调度需要按照⼀定的规则来,那⼀般是按照哪些规则来的? 我们常见的调度⽅式有3种: ⼀个基于优先级调度的, ⼀个是基于时间⽚调度的, ⼀个是把优先级和时间⽚结合在⼀起调度。
智能小车
以优先级调度举例,在定义任务的时候,给每个任务分配⼀个优先级,在运⾏的时候,⾼优先级的任务都会优先被运⾏。 直到没有⾼优先级任务后,低优先级任务才会被运⾏。 假如低优先级任务获得CPU资源后,这是如果有⾼优先级任务就绪怎么办呢? 两种处理⽅式:1. 继续运⾏ 2. 抢占式。 ⾼优先级抢占CPU资源进⼊运⾏状态。
其他组件就不⼀⼀列举了。
物联⽹云平台系统架构
物联⽹云平台系统架构主要包含四⼤组件:
光纤切割刀片
设备接⼊tmal
设备管理
规则引擎
铝钉机
安全认证及权限管理
设备接⼊
设备接⼊主要都⼲些什么呢?
1.包含多种设备接⼊协议,最主流的是MQTT协议。有些云计算⼚商也在MQTT协议上精简协议变成独有的接⼊协议。
2.并发连接管理,维持可能是数⼗亿设备的长连接管理。
如果应对数⼗亿的设备连接管理? ⽬前开放出来的MQTT代理服务器⼤都是单机版,最多也就是并发连接⼗⼏万设备。因此如果要管理数⼗亿的连接,需要⽤到负载均衡,⽤到分布式架构。在云平台需要部署分布式MQTT代理服务器。
设备管理
⼀般以树形结构的⽅式管理设备,包含设备创建管理以及设备状态管理等等。根节点以产品开始, 然后是设备组,再到具体设备。
主要包含如下管理:
产品注册及管理
产品下⾯的设备增删改查管理沼气储存
设备消息发布
OTA设备升级管理等
规则引擎
物联⽹云平台通常是基于现有云计算平台搭建的。 ⼀个物联⽹成熟业务除了⽤到物联⽹云平台提供功能外,⼀般还需要⽤到云计算平台提供功能,⽐如云主机,云数据库等。⽤户可以在云主机上搭建web ⾏业应⽤服务。
规则引擎主要作⽤是把物联⽹平台数据通过过滤转发到其他云计算产品上。
⽐如可以把设备上报的数据转发到table store数据库产品⾥。
规则引擎⼀般使⽤⽅式:类SQL语⾔,通过编写SQL语⾔,⽤户可以过滤数据、处理数据,并把数据发到其他云计算产品,或者其他云计算服务。
安全认证及权限管理
物联⽹云平台为每个设备颁发唯⼀的证书,需要证书通过后才能允许设备接⼊到云平台。云平台最⼩授权粒度⼀般是做到设备级。我们所说的证书⼀般分为2种:⼀种是产品级证书,⼀种是设备级证书。 产品级证书拥有最⼤的权限,可以对产品下所有的设备进⾏操作。 设备级证书,只能对⾃⼰所属的设备进⾏操作,⽆法对其他设备进⾏操作。
因此每个接⼊云平台的设备都在本地存储⼀个证书(其实存在形式是⼀个KEY,有多个字符串构成)。每次与云端建⽴连接时,都要把证书带上。以便云端安全组件核查通过。
云计算产品
⼤数据计算产品, 云基础服务(⾼性能服务器,云数据库,云⽹络)等
物联⽹应⽤
智慧城市, 智慧农业,⼯业4.0等
下⾯⼀张是来⾃百度物联⽹平台架构:
下⾯⼀张是来⾃百度物联⽹平台架构:
突出展⽰了物联⽹设备, 物联⽹云平台, 云计算平台是如何协同⼯作的,有较⼤的参考价值。