物联网基础

物联网的发展过程




Internet of Information

Internet of People

Internet of Things


泛在计算

  泛在计算的世界是一个所有的“物”都内置计算机中,随时可以得到计算机帮助的世界。
  机器对机器的通信是不经人为控制的,机器和机器之间的通信,物联网则含有给信息接收者提供服务的含义,它比机器对机器的通信概念范围更广。

物联网的组成

设备

  物联网中的设备指装有传感器,并能与互联网连接以实现与物联网服务交互的设备。其作用为感测和反馈。

  • 感测:感测指设备搜集本身状态和周围环境状态并通知物联网系统。
  • 反馈:反馈指设备接收从物联网系统发来的通知,并显示其信息或执行指定操作。
物联网设备的结构


电子信号

电子信号

网络

输入设备

微控制器主板

输出设备


  微控制器是一块控制器IC(集成电路)芯片,它能够编写程序,并根据描述的处理读取端子状态,或者向连接的电路输出特定信号。微控制器由内存,CPU及外围电路组成。

开发硬件的步骤
  1. 把微控制器主板嵌入到自制电路中
  2. 在PC上编写用于微控制器的程序
  3. 从PC端把程序写入微控制器
  4. 确认运行情况
微控制器的选择标准
  • 产品规格 接口,内存,耗电量
  • 成本
  • 尺寸
  • 开发环境 易于连接电脑
  • 信息的可获得性 文档获得途径与社区活跃度
连接多种多样的设备
  • 分层化数据处理:在移交主处理器时指定格式,并在上一轮处理中把接收到的数据换成规定的数据格式。
设备安全性(风险分析、多层防御)
  • 信任传递:接通机器电源后对机器进行确认,确认机器是否按照设想中的状态运行
  • 可以允许已通过认证的网关设备进行连接,对超过一定通行量的网关进行通信限制
  • 使用SSL,IPsec

传感器

  传感器的作用是把物理现象用电子信号形式输出。


数据

数据

传感器

传感器节点

网关


  传感器机制

  • 利用物理特性的传感器
  • 利用几何变异的传感器

  传感器的利用过程


物理变化

电子信号

信号放大


测量对象

传感器

放大电路

转换模拟/数字信号

数值转换


  把模拟信号转换成数字信号

  • 采样:用某个频率来区分模拟输入信号,获取值
  • 量化:把采样后的值近似表现为离散值
  • 编码:把量化后的数值编码成二进制代码

  把数字信号转换成模拟信号

  • PWM脉冲宽度机制:通过高速切换输出高/低电压来实现近似输出模拟信号
  • 占空比 D = W / T 占空比越高,高电压时间也就越长,LED就会越明亮

  驱动利用过程




微控制器输出端口

驱动

设备


网络

网络的种类有:

  • 设备连接到其他设备的网络(传感器节点到网关的网络)(蓝牙)
  • 设备连接到物联网服务的网络(5G)

物联网服务

物联网服务的作用
  • 从设备接收数据及发送数据给设备
  • 处理,分析,保存数据
物联网服务结构
  • 前端部分
  • 数据接收服务器:负责接收从设备或网关发送来的数据。
  • 数据发送服务器:负责向设备或网关发送数据并控制设备。
  • 处理部分
  • 负责分解数据,存储数据,分析数据,保存数据以及生成给设备的通知内容
  • 数据库
  • 负责存储数据
设备与物联网通信的方法
  • 同步传输:同步传输中设备请求服务,服务器收到设备的请求后向设备提供服务。服务器不能主动响应设备。
  • 异步传输:异步传输中服务器可以主动给设备发送信息,但需要知道设备的IP地址。
使用协议
  • HTTP协议

Get/Post请求

接收数据后立即返回响应,后续进行数据处理

HTTP响应

网关

服务器


  • WebSocket协议
  • WebSocket自身只提供服务器与客户端的数据交换,需要使用者另外决定在应用层使用的协议。使用WebSocket发送数据时,在设备建立与服务器的连接后就可以双向传输。
  • MQTT协议

客户端(发布者) MQTT中介(服务器) 订阅者(客户端) 建立连接,发布主题A 订阅主题A 推送主题A 客户端(发布者) MQTT中介(服务器) 订阅者(客户端)


   订阅者与MQTT中介总是连接

传输使用的数据格式
  • XML
  • JSON
  • MessagePack(可保留二进制数据)
处理和保存数据的方法
批处理

  批处理的特征:对保存的数据进行定期采集和处理。

  • Apache Hadoop:采用MapReduce机制的分布式处理框架,Apache Mahout为运行在Map Reduce上实现机器学习的库
  • Apache Spark:对内存上的RDD(弹性分布数据集)进行批处理,通过标志在处理前和处理后的RDD建立联系
流处理

  流处理的特征:将收到的数据依次进行处理。

  • Spark Streaming:通过对分割的数据执行小批量的批处理来达到流处理的效果。
  • Apache Storm
存储数据

  数据库的作用:保存并灵活运用数据,包括从保存的数据中找出与制定条件相符的数据,以及把各个数据库连接在一起,把它们作为一个数据取出。

数据库的种类和特征
  • 关系型数据库 Mysql
  • 键值存储 Redis
  • 文档型数据库 MongoDB
  • 数据库需要具备可扩展性、写入速度以及数据库模式的通用性。
数据分析方法

  分析目的:基于采集的“可视化“分析,基于统计分析和机器学习等高级分析技术的”发现“分析和”预测“分析。可视化分析指的是对积累的数据进行加工,根据需求通过采集和图表的形式把数据内容加工成人眼能看懂的形式。发现分析就是在可视化分析的基础上,再通过统计分析和机器学习等高级方法来发现数据的趋势、规律、结构等。预测分析即从过去积累的数据中找出数据固有的趋势和规律,以掌握今后可能发生的情况。采集分析就是把数据加工。
  数据分析的基础架构:采集,积累,加工,分析










数据采集

预处理

应用模型

操作

积累

构建模型

统计

可视化


  • 统计分析:统计分析是用数学手法通过搜集到大量数据来明确事物的联系性的方法。
  • 机器学习:计算机会按照程序决定的算法,机械性地学习所给数据之间的联系性。机器学习的算法可以分为“监督学习”和“非监督学习”,“监督学习”算法要学习“正确答案”与“不正确答案”之间存在的差异,“非监督学习”算法会学习数据的整体倾向,在整体倾向找出倾向不同的数据,将其判断为“异常值”。机器学习的分析方法有:
  • 聚类分析:基于样本具有的特征,把相似的样本分为多个组。
  • K-means算法:针对数据的分布来事先指定要把数据分为多少块,即分为多少个聚类,由此来机械性地生成数据块的一种算法。
  • 类别分类:用已明确想好了要分类的对象,基于过去的数据来分出对象组和非对象组的场合。
  • 维度压缩:对于大型数据中的大量数据,尽力留下其中的重要信息并压缩冗余信息,借此来缩小数据量的方法。
  • 回归分析:设某数据满足y=f(x),如果根据实际测量数据求出f(x)中的系数,那么给定新的x值就能预测其y值。
数据表示方法

信息

使用图表

体积/比率(比较数据多少)

柱形图

构成比(所占的比例)

饼图和堆叠条形图

相关性

散布图

趋势

折线图和柱形图

数据间存在的关系

网络图

如何应对数据的增多
  • 接收数据放在队列里返回响应,之后边接受边处理,需要再次访问才能得到处理结果。
  • 可以通过网关整合传感器数据并发送压缩过的数据来削减数据的发送量(只适合实时性较弱的系统)
物联网服务的系统开发









规划

假设

开发原型

验证假设

系统开发

应用维护


  物联网服务开发的重点:设备,架构,网络,安全性,应用和维修

网关

  网关是连接多台设备,并具有直接连接到互联网功能的机器和软件。











网关标准

接口

USB/D-SUB/Bluetooth/Zigbee

网络接口

WIFI/3G/LTE

硬件

CPU/内存

软件

LINUX

电源


  网关的作用有:连接设备功能,数据处理功能,向服务器发送数据功能。