物联网复习___2025-04-30
物联网复习笔记 powered by zhyDaDa
倒数第二次课的复习课 + 最后一次课的录音转写
目录
考点概述
第一二章
智能物联网(总架构) P84 d
3.3.2 无线定位 P143
- p146
- p147
- p148 算坐标公式 极大似然方程 (要素3-3-17: 两个必要获得的信息: 距离(信标到目标) 和 信标自己的位置, 对应两个矩阵 $A$ 和 $b$) *P152两个图
测距原理必考 P144 3-3-16 原理图
第三章
重中之重
四种绑定方式(原理, 但是不需要代码)
P125
3个主观题
- 第一题: 无线定位和绑定
- 两个设计题:
- 智慧医疗 p206 *套物联网的架构
- 智慧农业/家居/???
采分点
- 协议栈
- 智能分析层
- 每一层之间的接口交互
- 物理层模块(感知压缩/噪声强的时候使用 扩频技术 “带宽换信噪比”, 为了抗干扰)
考试题型与要求
- 客观题: 单选、多选、判断、填空,涉及上述各知识点。
- 主观题 (通常三道): 第一题: 概念题(简答题形式)。例如,无线定位或绑定的基本概念。 后两题: 设计题。 设计题方向一:智慧医疗(可参考教材第206页的简单案例)。会给定特定场景,要求基于物联网的整体架构(如何编辑架构、各层功能等)进行设计。 设计题方向二:智慧农业、智能交通、智能物流或智能家居等**。 设计题答题思路: 围绕协议栈架构: 清晰阐述物理层、MAC层、网络层、应用层(或结合AI的智能分析层)的功能。 接口交互: 若能说明各层之间的接口如何交互则更佳。 功能模块: 具体阐述各功能模块。 结合理论: 可结合物理层知识,如感知压缩、香农定理(在强噪声下,通过扩(展频谱)带宽换取信道容量,以增强抗干扰能力,如扩频调制与解调技术)。
一、物联网基础
物联网基本特征 (1.2)
必须掌握什么是物联网及其基本特征。
定义: 物联网是通过传感器、RFID(射频识别技术)等技术,将物体与互联网连接,实现智能化识别、定位、跟踪、监控和管理的网络。
物联网就是物物相连的互联网, 含义有二:
- 物联网的核心和基础仍然是互联网, 是在互联网的基础上延伸和扩展的网络
- 其用户端延伸和扩展到了任何物品与物品之间, 进行信息交换和通信.
物联网的基本特征:
- 全面感知: 广泛应用各种感知技术
- 可靠传输: 通过各种有线和无线网络与互联网融合, 将物体信息实时准确地传输出去
- 智能处理: 从多样性信息中分析/加工/处理有意义的数据, 以实施智能控制
支撑技术 (1.3)
- 路由技术
两个方面的功能:
- 寻找源节点和目标节点之间的 优化路径
- 将数据分组沿着优化路径 正确转发
- 节能机制
尽可能延长网络的生命周期
- 无线媒体接入技术
Media Access Control = MAC 核心功能: 控制信号接入。作为开放式互联系统模型(OSI模型)自下而上的第二层(物理层之上),MAC层负责管理物联网设备如何接入信道、如何维持连接以及如何进行控制。
MAC协议主要用来控制节点的以下几个方面的性能。
- 能量有限性。需要MAC协议控制节点在进行信息采集和传输的过程中节省能量。
- 可扩展性。要求MAC协议控制节点能够适应拓扑或信道环境的动态变化。
- 网络效率。新型的MAC协议需要满足各种应用的性能要求。
在设计MAC协议时,主要考虑以下几个方面的问题。
- 空闲监听
- 冲突(碰撞)
- 控制开销
- 串扰(串音)
根据分配信道资源策略的不同,MAC协议可分为以下三类。
- 固定分配MAC协议:TRAMA协议、TDMA-W协议、基于分簇网络的MAC协议。
- 随机竞争MAC协议:S-MAC协议、T-MAC协议、B-MAC协议、WiseMAC协议。
- 混合MAC协议:Z-MAC协议。
考核点: 监听机制及后续状态。根据网络流量调整时隙大小和活跃期长度等, 主要为了节能在空闲监听时降低功效.
- 信息融合技术
- 网络抗毁坏技术
1.博弈论 博弈论将决策者之间的相互作用公式化,实现了使用者的利益最大化或风险最小化,其本质是一种最优化策略。 核心思想: 在物联网中,各节点众多,均期望自身利益最大化。博弈论旨在寻求一种均衡,使网络整体利益最大化,这是物联网的关键思想之一。 四个要素:
- 局中人
- 策略
- 得失
- 结果
2.人工神经网络 人工神经网络是一种模拟人脑的神经网络。人工神经网络对网络抗毁性能的提升主要在于通过对多个网络进行训练学习,然后得到最符合研究者要求的抗毁性指标权重,从而构建符合要求的网络。 3.冗余技术 冗余技术又称为储备技术,是指当一台设备或某个部件出现故障时,另一台设备或部件能主动介入并承担其相应工作,以此来缩短系统的故障时间。
- 中间件技术
功能: 屏蔽操作系统和网络协议的差异, 提供多种通信机制, 支持物联网系统的有效开发和稳固运行.
特点
- 独立于架构
- 数据流
- 处理流
- 标准化
人工智能关键技术 (1.4 - 重点)
- 云计算有哪几个要素?
- 深度学习的架构是什么?
- 普适计算的思想是什么?
云计算和雾计算
定义: 通过网络提供按需计算资源的模式, 用户可以根据需求获取 计算/存储/网络资源
服务类型:
- 基础设施即服务
- 平台即服务
- 软件即服务
云计算: 高效率, 缺点: 高时延, 高能耗 雾计算: 去中心化, 特征:
- 提供的资源少于云计算
- 以分布式的方式部署, 更接近用户
- 强调数量
- 安全性和隐私性得到提升
深度学习的架构
深度学习: 通过多层神经网络模拟人脑的学习过程, 处理复杂数据
典型模型:
- 卷积神经网络
- 循环神经网络
- 生成对抗网络
基本架构:
- 输入层: 接收数据
- 隐藏层:
- 卷积层: 提取特征
- 池化层: 降维
- 循环层: 处理序列数据
- 输出层: 生成结果
普适计算
思想: 人们能够在任何时间, 任何地点以任何方式进行信息的获取与处理
“无处不在的计算”, 即设备能够自主感知环境并计算, 无需人为干预
特性:
- 普适性
- 透明性
- 动态性
- 自适应性
- 永恒性
大语言模型 (LLM)
定义: 大语言模型是一种旨在理解和生成自然语言的深度学习模型, 通常包含数百亿或更多参数
应用:
- 智能设备交互: 通过自然语言与物联网设备交互
- 数据分析与决策: 处理物联网生成的海量数据, 提供智能分析与决策支持
- 自动化运维: 通过语言模型实现物联网设备的自动化管理与故障诊断
影响/前景:
- 提升物联网的只能话水平, 增强用户体验
- 推动物联网与人工智能的深度融合, 拓宽应用场景
- 引发对数据隐私, 安全性和伦理问题的关注
大语言模型 (LM): (参考教材第45页,此为新增内容)
概念: 如当前热门的GPT等,其本质是大语言模型。
结合应用: 思考大语言模型如何与物联网结合及其应用前景。例如,在云端部署大语言模型对特定信息(如“义工结合”的信息)进行问答和策略生成。
应用思路: 即使不考具体模型构建,也需理解其应用价值和思路。例如,在大学生创新创业项目(“大创”)中使用大语言模型生成病例。
二、协议标准
ZigBee 协议栈
ZigBee体系的协议栈定义了4层模块:
- PHY: 物理层
- MAC: 媒体访问控制层
- NWK: 网络层
- APL: 应用层
此外还有:
- APS: 应用支持子层
- SAP: 服务访问点
每个服务访问点包含一对
PD
和PM
接口, 其中:
PD
接口用于数据传输PM
接口用于管理和控制PLME = PHY Level Management Entity物理层管理实体
Z-stack 实验代码
代码采用 操作系统抽象层 (OSAL = Operating System Abstraction Layer)
两个重点关注的函数:
- 初始化系统函数:
osal_init_system()
- 运行操作函数:
osal_start_system()
osal_init_system()
包含6个初始化函数, 其中 osalInitTasks()
实现任务的初始化
Z-Stack的任务运行过程 依据事件形式进行处理
- 根据task来分配event, 并放入
tasksEvents
中 - 调用各功能 被分配的 任务初始化函数
- 每执行完一个函数,
taskID
都会加一, 其实质是给每个函数分配一个ID - 各个task相关功能实现被分配到自身特定的
taskID
- 代码最后调用
SampleApp_Init(taskID)
函数是与最终应用(Application)操作相关的被创建函数, 可视为应用的开始
osal_start_system()
- 任务事件数组
tasksEvents
- 循环遍历找到优先级最高的任务
osal_run_system
提取待处理任务中的事件
Z-Stack 协议栈工作流程
graph TD
A([ 开始 ])-->B[初始化各模块]
B-->C[运行系统]
C-->D{是否有任务执行?}
D-->|N| C
D-->|Y| E[执行任务]
E-->C
E-->F([ 结束 ])
三、实验
绑定控制机制 [必考]
定义: 绑定机制允许一个应用服务在未知目标地址的情况下, 向对方的应用服务发送数据包.
四种绑定方式
绑定方式 | 过程说明 |
---|---|
Match 方式 | 该建立方式无需协调器设备存在, 可采用按键机制实现 |
ZDO 终端设备绑定请求 | 两个终端通知协调器, 它们之间想建立绑定记录 |
协调器应用层请求 | 协调器应用层建立和管理一个绑定表 |
手工管理绑定表 | 通过应用程序调用来实现手工绑定表管理 |
绑定的流程
flowchart TB
subgraph A ["终端1(开关)"]
direction TB
A1["serialAPP_Init()函数中
ZDO_RegisterForZDOMsg注册
End_Device_Bind_rsp"]
A2[发送绑定请求]
A3[ZDO_CB_MSG:
SerialApp_ProcessZDOMsgs]
A4["End_Device_Bind_rsp
HalLedSet(HAL_LED_4,
HAL_LED_MODE_FLASH)"]
A1-->A2-->A3-->A4
end
subgraph B ["协调器(总控)"]
direction TB
B1["ZDApp_Init()函数中
ZDApp_RegisterCBs注册
End_Device_Bind_rsp"]
B2["AF_INCOMING_MSG_CMD
ZDP_IncomingData()"]
B3["发送绑定请求到ZDO
ZDO_SendMsgCBs()"]
B4["ZDO_CB_MSG:
ZDApp_ProcessMsgCBs()"]
B5["End_Device_Bind_req解析
ZDO_ParseEndDeviceBindReq()"]
B6["发送绑定请求响应
ZDO_MatchEndDeviceBind"]
B7{匹配成功?}
B8["发送绑定响应给两个终端
ZDMatchSendState"]
B9["ZDP_EndDeviceBindRsp"]
B1-->B2-->B3-->B4-->B5-->B6-->B7
B7-->|Y| B8
B7-->|N| B9
end
subgraph C ["终端2(灯泡)"]
direction TB
C1["serialAPP_Init()函数中
ZDO_RegisterForZDOMsg注册
End_Device_Bind_rsp"]
C2["发送绑定请求
ZDP_EndDeviceBindReq()"]
C3[ZDO_CB_MSG:
SerialApp_ProcessZDOMsgs]
C4["End_Device_Bind_rsp
HalLedSet(HAL_LED_4,
HAL_LED_MODE_FLASH)"]
C1-->C2
C3-->C4
end
A2 --> B2
B9 --> A3
C2 --> B2
B9 --> C3
A ~~~ B ~~~ C
%%{init: {'theme':'forest'}}%%
flowchart TB
subgraph A ["协调器逻辑"]
direction TB
A1{"`**第一次**收到一个设备的绑定请求`"?}
A2["`存储**第一个**设备的信息`"]
A3{"`**第二次**收到另一个设备的绑定请求`"?}
A4["`存储**第二个**设备的信息`"]
A5{"`**匹配**这两个设备
是否可以绑定?`"}
A6[绑定这两个设备]
A7([绑定函数结束])
A1-->|Y| A2
A1-->|N| A3
A2-->A3
A3-->|Y| A4
A3-->|N| A7
A4-->A5
A5-->|Y| A6 --> A7
A5-->|N| A7
A7-->A2
end
subgraph B ["绑定逻辑"]
direction TB
B1{按键KEY6被按下?}
B2["`向协调器发送绑定请求`"]
B3([按键函数结束])
B1-->|Y| B2
B1-->|N| B3
B2-->B3
end
subgraph C ["控制逻辑"]
direction TB
C1{按键KEY7按下?}
C2["`向绑定设备发送LED控制信息`"]
C3{"按键KEY6发出的绑定请求是否绑定成功?"}
C4["发出的LED控制信息来控制绑定设备的LED状态"]
C5["发出的LED控制信息的目的地址不明确, 发送无效"]
C6([按键函数结束])
C1-->|Y| C2-->C3
C1-->|N| C6
C3-->|Y| C4
C3-->|N| C5
C4-->C6
C5-->C6
end
X([开始])-->Y[协调器启动]
Y-->A1
Y-->B1
Y-->C1
A1~~~B1~~~C1
体现的思想
整个过程体现了服务原语(Request, Confirm, Indication, Response)的思想,通过握手方式实现绑定。
- Request: 发送绑定请求
- Confirm: 绑定请求的确认
- Indication: 绑定请求的指示
- Response: 绑定请求的响应
无线定位 (3.3.2 - 重点)
基于 ZigBee 的无线定位技术主要分为基于测距(Range-based)和非测距(Range-free)的两类定位技术
非测距方法精度低且复杂度高, 不考虑
基于测距的无线定位主要分为两个阶段: 测距和位置计算阶段。
四种经典测距方法:
- 基于接收信号强度的测量方法
RSSI = Received Signal Strength Indicator - 基于到达间的测量方法
TOA = Time Of Arrival - 其于到达时间差的测量方法
TDOA = Time Difference Of Arrival - 基于到达角度的测量方法
AOA = Angle Of Arrival
实现定位的经典算法:
- 三边定位算法
- 三角测量法
- 多边测量极大似然估计法
基于测距的无线定位原理框图
graph LR
A[无线信号]
B[记录测距度量值]
C["`测距度量值转换为<br>距离*d* 或方位*θ*`"]
D[定位算法]
E[定位结果及应用]
A==>B
B==>|测距度量值| C
C==>|距离或方位| D
D==>|位置坐标| E
每年必考; 设计题要写清楚过程和框图
测距方法详解
TOA
根据传播时间来计算节点间的距离
精度较高, 但是对 响应时间 和 处理时延 要求较高, 要求节点间保持 精确的时间同步
TDOA
同时发射超声波和无线电波, 通过接受的时间差推算
精度可以达到厘米级, 但受到超声波传播距离的限制, 网络布置的时候节点开销较大
RSSI
通过射频信号的强度来估计距离, 接收端测量接收功率计算传播损耗
测距公式:
$$ RSSI = P_L(d) = A - 10n \lg(d) \
d = 10^{\frac{A - RSSI}{10n}} $$
考虑到不稳定因素, 工程上采用统计均值模型或高斯模型作为处理RSSI数据的校正模型
- 统计均值模型: 通过多次采样取平均值
采样数量需要考虑到 实时性 和 准确性 - 高斯模型: 通过高斯模型选取高概率发生区的RSSI值, 取其几何均值
适用于消除 小概率短暂 的扰动, 对于 干扰较长时间存在 的室内定位情况效果下降
定位算法详解
三边定位算法
基于RSSI, 画三个圆, 交点即为目标位置
距离处理: 得到的$k$个RSSI做均值, 得到$\overline{RSSI}$, 代入公式 $RSSI = -42 - 20\lg{d_i}$ 计算得出距离$d$
计算方程 $$ \begin{cases} \begin{aligned} (x-x_1)^2 + (y - y_1)^2 &= d_1^2 \ (x-x_2)^2 + (y - y_2)^2 &= d_2^2 \ (x-x_3)^2 + (y - y_3)^2 &= d_3^2 \end{aligned} \end{cases} \ \begin{bmatrix} x \ y \end{bmatrix} = \begin{bmatrix} 2(x_1 - x_3) & 2(y_1 - y_3) \ 2(x_2 - x_3) & 2(y_2 - y_3) \end{bmatrix}^{-1} \begin{bmatrix} x_1^2 - x_3^2 + y_1^2 - y_3^2 + d_3^2 - d_1^2 \ x_2^2 - x_3^2 + y_2^2 - y_3^2 + d_3^2 - d_2^2 \end{bmatrix} $$
多边测量极大似然估计法定位算法
考虑到三个圆因为误差常常无法交于一点, 采用极大似然估计法, 以提高精度 距离处理同上, RSSI转换为d, 而后代入方程组 $$ \begin{cases} \begin{aligned} (x-x_1)^2 + (y - y_1)^2 &= d_1^2 \ (x-x_2)^2 + (y - y_2)^2 &= d_2^2 \ \vdots \ (x-x_n)^2 + (y - y_n)^2 &= d_n^2 \end{aligned} \end{cases} $$
而后构造矩阵: $$ A = \begin{bmatrix} 2(x_1 - x_n) & 2(y_1 - y_n) \ \vdots & \vdots \ 2(x_{n-1} - x_n) & 2(y_{n-1} - y_n) \end{bmatrix} \ \quad \ b = \begin{bmatrix} x_1^2 - x_n^2 + y_1^2 - y_n^2 + d_n^2 - d_1^2 \ \vdots \ x_{n-1}^2 - x_n^2 + y_{n-1}^2 - y_n^2 + d_n^2 - d_{n-1}^2 \end{bmatrix} $$
进而, 采用线性方程 $AX = b$ 求解 $$ \hat{X} = (A^TA)^{-1}A^Tb $$ 得到待定位节点的坐标 $X = \begin{bmatrix} x \ y \end{bmatrix}$
定位流程框图
省去代码部分, 只保留中文解释 两张图就换了个算法我说白了…
%%{
init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#CFB191',
'primaryTextColor': '#FBFCFC',
'primaryBorderColor': '#777371',
'lineColor': '#91AFCB',
'secondaryColor': '#91AFCB',
'tertiaryColor': '#DAE5EE',
'background': '#DAE5EE'
},
'flowchart': {
'subGraphTitleMargin':{
'top': 10,
'bottom': 20
},
'curve': 'linear',
'width': '100%',
'wrap': false,
'diagramPadding': 5,
'useMaxWidth': true
}
}
}%%
graph LR
subgraph X ["`基于三边估计的<br>盲节点定位流程`"]
A1[开发平台初始化]-->B1{S1键是否按下}-->|N| B1
B1-->|Y| BB1[选择信道]--> C1[选择通信模式为接收机]
C1-->D1[选择增益]
D1-->E1{应用层是否准备好取走数据}-->|N| E1
E1-->|Y| F1[开始接收数据包]
F1-->G1[统计均值RSSI滤波]
G1-->H1[用RSSI计算信标节点和未知节点的距离]
H1-->|" $$\quad RSSI = -42 - 20\lg{d_i} \quad$$ "| I1["`用**三边定位算法**计算盲节点坐标`"]
I1-->J1[串口调试助手显示盲节点坐标]
end
subgraph Y ["`基于极大似然估计的<br>盲节点定位流程`"]
A2[开发平台初始化]-->B2{S1键是否按下}-->|N| B2
B2-->|Y| BB2[选择信道]-->C2[选择通信模式为接收机]
C2-->D2[选择增益]
D2-->E2{应用层是否准备好取走数据}-->|N| E2
E2-->|Y| F2[开始接收数据包]
F2-->G2[RSSI统计均值滤波, 提高精度]
G2-->H2[用RSSI计算信标节点和未知节点的距离]
H2-->|" $$\quad RSSI = -42 - 20\lg{d_i} \quad$$ "| I2["`用**极大似然估计算法**计算盲节点坐标`"]
I2-->J2[串口调试助手显示盲节点坐标]
end
X~~~Y
考题
无线定位技术可应用于智能停车(获取车辆位置、规划路径)、智能物流等场景。一个智能停车场方案会涉及定位算法、路径规划、车牌识别、云端资源分配等。
四、实际案例
智能医疗
对人的智能化管理体现在使用可穿戴设备( 传感器 )对人的生理状态进行监测
除此之外, 还能通过 RFID 技术对医疗设备、物品进行监控与管理,实现医疗设备、物品可视化,主要表现为数字化医院
体系结构
包括感知层、网络层、应用层
%%{init: {'theme':'forest'}}%%
graph LR
subgraph A ["感知层"]
direction TB
A1([视频监控模块])
B1([传感器])
C1([定位模块])
Z1([...])
A1~~~B1~~~C1~~~Z1
end
subgraph B ["网络层"]
direction TB
A2([互联网])
B2([无线网])
C2([蜂窝网])
Z2([...])
A2~~~B2~~~C2~~~Z2
end
subgraph C ["应用层"]
direction TB
A3([业务管理系统])
B3([电子病历系统])
C3([临床应用系统])
D3([慢性疾病管理系统])
E3([区域医疗信息交换系统])
F3([临床支持决策系统])
G3([公共健康卫生系统])
Z3([...])
A3~~~B3~~~C3~~~D3~~~E3~~~F3~~~G3~~~Z3
end
A==>B==>C
基于 RFID 物联网的档案管理系统
思路
- 需求/技术分析
- 模块设计
- 协议栈架构(每一层之间如何接口交互)
- 应用层功能模块实现流程
关键技术
可以使用 RFID (= Radio Frequency Identification, 射频识别) 技术, 结合物联网技术和档案管理功能, 来实现综合系统
- RFID技术: 通过在实体上贴有RFID标签, 系统可以实现对档案位置/数量/状态等信息的实时监控和记录. 此外RFID读写器可以同时识别多个RFID标签, 提高效率.
- 物联网技术: 通过将 RFID标签 / 传感器 / 网络 等物理设备连接起来, 可以实现信息的智能化 识别 / 定位 / 跟踪 / 监控 / 管理, 从而实现对档案的全生命周期的跟踪和管理, 包括: 入库 / 出库 / 借阅 / 归还 等各个环节
- 档案管理软件: 分析采集查找统计打印
- 智能硬件技术: 天线/门禁…
- 数据存储技术: 数据库/云存储…
说白了就是:
- 想一个核心技术
- 加物联网
- 加上其他废话技术(硬件/软件/数据存储…)
- 说说怎么用: 事无巨细, 且只要抛出概念
- 说说好处: 提高效率/降低成本/节省人力/实时监控/数据分析…
功能模块架构
%%{
init: {
'theme': 'base',
'themeVariables': {
'primaryColor': '#CFB191',
'primaryTextColor': '#FBFCFC',
'primaryBorderColor': '#777371',
'lineColor': '#91AFCB',
'secondaryColor': '#91AFCB',
'tertiaryColor': '#DAE5EE',
'background': '#DAE5EE',
'curve': 'step'
},
'flowchart': {
'subGraphTitleMargin':{
'top': 10,
'bottom': 20
},
'curve': 'linear',
'width': '100%',
'wrap': false,
'diagramPadding': 5,
'useMaxWidth': true
}
}
}%%
graph TB
subgraph X [" "]
direction LR
A["查询管理子系统"]
B[("中心数据库")]
C1("`档案自动<br>识别模块`")
C2("`储位自动<br>识别模块`")
D{是否匹配?}
subgraph X1 [" "]
direction LR
A-->|查询编目号|B-->|反馈|A
end
A-->C1-->D
C2-->D
D-->|N| B
end
subgraph Y [" "]
direction TB
E["接收储位指令"]
F["出库"]
G["读取档案信息"]
H["监控模块"]
I{"识别正确?"}
J1["出库完毕"]
J2["警报模块"]
E-->|储位指示灯亮起| F
F-->G
G-->|无线传回|H
H-->I
I-->|Y| J1
I-->|N| J2
end
D-->|Y 出库指令| E