最近要做一个物联网 IoT 平台,大概了解下物联网相关的知识,大部分知识为总结《图解物联网》的内容;
1.物联网的概念
物联网(Internet of Things,IoT)指的就是物(电器、汽车、手环...)之间通过连接互联网来共享信息并产生有用的信息,且无需人为管理就能运行;
实现物联网技术包括设备、传感器、网络、物联网服务、数据分析;
1.1 设备
设备即上面提到的'物',装有传感器,并与网络相连接;
设备主要的作用包括两种:感测和反馈
- 感测:搜集设备本身的状态和周边环境的状态并通知系统,如感知温湿度等;
- 反馈:接收从系统发来的通知,显示信息或执行制定操作,如收到指令开灯;
1.2 传感器
设备就是通过传感器来收集自身和环境的状态的,传感器负责将物理现象用电子信号的形式输出,如温湿度转为电子信号;
1.3 网络
物联网使用的网络主要包括两种:设备与设备连接的网络、设备与物联网服务连接的网络;
1.3.1 设备与设备连接的网络
通过能连接互联网的设备连接不能连接互联网的设备,从而实现不能连接互联网的设备连接互联网,如手机将手环的数据发送到互联网;
实现这种连接的主要有两种网络标准:蓝牙与 ZigBee;
- 蓝牙主要实现设备间一对一、一对多连接,经典蓝牙功耗高、传输速率快,低功耗蓝牙功耗低、传输速率慢,主要应用在音频传输、文件传输、外设连接、智能家居等场景;
- ZigBee主要实现设备间一对多、多对多的连接,具有极低功耗、传输速率极低的特点,适用于智能家居、工业自动化、农业物联网、医疗保健等场景;
特性 | 蓝牙 (Bluetooth) | ZigBee |
---|---|---|
标准 | IEEE 802.15.1 | IEEE 802.15.4 |
主要用途 | 短距离文件/音频传输、外设连接、个人设备 | 大规模传感器网络、智能家居 |
网络拓扑 | 点对点、星形 (BLE 有 Mesh) | Mesh (网状)、星形、树形 |
功耗 | 经典蓝牙较高,BLE 极低 | 极低 |
传输速率 | 较高 (经典蓝牙),较低 (BLE) | 极低 (针对小数据包优化) |
设备数量 | 相对有限(主设备连接少量从设备),Mesh可多 | 可支持大量设备 (数千个节点) |
成本 | 芯片成本较低,普及率高 | 芯片成本低,但生态系统搭建可能需要网关 |
生态 | 手机、电脑普遍支持,连接方便 | 需要专用网关(Hub)连接到互联网或手机 |
1.3.2 设备与物联网服务连接的网络
设备连接到物联网IoT服务会用到互联网线路,也就是得能够联网,然后在传输层协议(如TCP)的基础上使用应用层协议来进行具体的数据传输,如MQTT、HTTP、WebSocket等;
1.4 物联网服务
物联网服务主要用来与设备交换数据以及处理和保存数据,也就是把收到的设备数据保存到数据库,并对采集的数据进行分析,还有向设备发送指令和信息;
1.4.1 数据交换
设备与物联网服务之间的数据传输主要分为同步传输和异步传输:
- 同步传输:请求-响应模型,设备发送请求后必须等待服务器的响应才能进行下一步操作,服务器无法主动向设备发送消息,这种方式下物联网服务不需要预先知道设备的IP地址,但效率较低;
- 异步传输:事件驱动或发布/订阅模型,数据发送方发送数据后无需等待接收方响应,服务器可以主动向设备发送消息,物联网服务需要预先知道设备的IP地址(实践中往往通过长连接来规避IP地址的要求,设备会主动与物联网服务建立维持一个基于TCP的MQTT或WebSocket长连接),这种方式效率高、低功耗、支持大规模设备连接,但实现相对复杂;
1.4.2 处理和保存数据
物联网服务将接收到的结构化数据存到数据库,非结构化数据(图像、音频、视频等)处理后存储,然后根据设备状态数据、历史数据等的分析实现对设备的远程控制或自动化联动;
1.5 数据分析
数据分析常用的有两种方法:统计分析、机器学习;
- 统计分析使用数学通过收集的数据来描述其特征、分布规律,并进行推断和建模,从而明确事物间的联系性,对总体进行合理判断;
- 机器学习是让计算机通过算法从数据中自动学习模式和规律,通过构建模型来分析数据之间的联系,并利用这些模型对未知数据进行预测、分类、聚类或做出决策;