物联网传输课程设计
任务书
课程设计任务书 | ||
设计名称 | 物联网系统构建与传输实现 | |
设计任务主要设计参数 | 任务1:基于Cisco Packet Tracer 8.0 以上仿真软件,完成楼宇智能家庭物联网系统规划,需求分析和设计,组网,连接测试,用户注册,感知设备设置和操控,周边环境数据和流量分析。 任务2:基于Cisco Packet Tracer 8.0 以上仿真软件,远程控制物联网系统规划,需求分析和设计,组网,连接测试,用户注册,单片机和单板机编程,感知设备设置和操控,环境数据和无线网络分析。 主要设计参数:联网系统拓扑结构、IP地址、协议配置、环境数据、感知智能设备、单片机和单板机。时间:2023.6.19-2023.6.30 | |
设计内容设计要求 | 设计内容:2个物联网系统,楼宇智能家庭物联网系统和远程控制物联网系统,内容包括: 1.物联网系统设计 2.拓扑结 3.测试结果和周边环境数据监测 4.物联物传输流量分析 5.优化和改进设备功能的措施 6.优化和改进网络传输的措施 设计分组:要求学生采用项目小组的形式,每组不得超过5人,按照课程设计指导书中的步骤和要求进行设计与实现。 |
设计1:楼宇智能家庭物联网系统
1.1 物联网系统设计描述
- 整个4层8户使用一个服务器,首先配置服务器的静态网关地址,然后通过交换机与各个家庭的家庭网关连接,将每个家庭网关的LAN设置不同的IP地址,家庭内部的IOT设备通过SSID识别并连接自家WIFI,动态获取的地址与家庭网关相同,这里可以通过远程服务器或者家庭网关来实现IOT Server,我选择了家庭网关来实现,家庭里的电脑可以通过登录直接进入控制界面,不用每个IOT设备都远程登陆,简便了过程,手机也可也用过外面的接入点接入对应IP地址的网络来控制相应家庭的设备。
1.2 拓扑结构
1.3 测试结果和周边环境数据监测
-
利用Ping命令测试感知节点到服务器的连通性,报告测试结果。
图1-2 ping命令测试结果 -
完成感知节点到服务器连接访问测试,报告测试结果
图1-3 感知节点到服务器连接测试结果 -
完成控制手机通过WIFI到服务器,远程设置和监控智能设备
图1-4 手机到服务器远程监测智能设备结果 -
完成控制电脑通过注册服务器,远程设置和监控智能设备
图1-5 电脑通过服务器远程监测智能设备结果1
- 完成物联网周边环境数据变化监测(仿真软件本身包含此功能),报告结果
图1-7 周边环境数据变化监测
1.4 物联物传输流量分析
1.4.1 具体分析
传输过程流量捕获,并针对1条TCP会话,进行TCP传输分析,找出TCP连接建立和连接释放报文,确定TCP连接的两个端点,分析传输过程;报告所有内容。
- HTTP客户端PC0建立与服务器(设备6)端的连接
- 设备(PC0)尝试创建一个到(192.168.0.1, 端口80)的TCP连接,设备设置连接状态为SYN_SENT。Sent 报文段信息: 序号 0,ACK号 0,数据长度 24。
- 服务器(设备6)收到这个同步请求数据包后,会对客户端进行一个同步确认
设备6在服务器端口80上接收到一个TCP SYN报文段,Received 报文段信息: 序号 0,ACK号 0,数据长度 24。连接请求被接受,设备设置连接状态为SYN_RECEIVED。
设备发送一个TCP SYN+ACK报文段。Sent 报文段信息: 序号 0,ACK号 1,数据长度 24。目的IP地址与源IP地址在同一子网。设备把下一跳设置为目的IP地址。
可以看出服务器(设备6)回复的帧里面,确认号是客户端的初始序列号+1; - 客户端PC0收到这个同步确认数据包后,再对服务器进行一个确认。
该数据包中,序列号是上一个同步请求数据包中的确认号值,确认号是服务器的初始序列号+1。
设备在与(IP地址192.168.0.1, 端口80)的连接上接收到一个TCP SYN+ACK报文段, Received 报文段信息: 序号 0,ACK号 1,数据长度 24。TCP连接成功,设备设置连接状态为ESTABLISHED,设备发送一个TCP ACK报文段。Sent 报文段信息: 序号 1,ACK号 1,数据长度 20。 - 数据发送过程中
(1)HTTP客户端给服务器发送一个HTTP请求。
Sent 报文段信息: 序号 1,ACK号 1,数据长度 100。
(2)服务器发回一个HTTP响应给客户端
设备在与(IP地址192.168.0.2, 端口1030)的连接上接收到一个TCP PUSH+ACK报文段。Received 报文段信息: 序号 1,ACK号 1,数据长度 100。服务器接收到一个HTTP请求。服务器发回一个HTTP响应给客户端,Sent 报文段信息: 序号 1,ACK号 101,数据长度 556。
(3)服务器向PC0发送HTTP
Sent 报文段信息: 序号 557,ACK号 101,数据长度 556。服务器发送数据报文段信息: 序号 557,ACK号 101,数据长度 556,服务器又一个报文段信息: 序号 1113,ACK号 101,数据长度 49 - 连接释放过程
客户端关闭于服务器的连接,序号 101,ACK号 1162,数据长度 20。服务器设置连接状态为CLOSE_WAIT,LAST_ACK,连接释放,设备发送一个TCP FIN+ACK报文段, 序号 1162,ACK号 102,数据长度 20 ,客户端设置连接状态为CLOSING。Sent 报文段信息: 序号 102,ACK号 1162,数据长度 20
图1-8 TCP报文段
1.4.2 总结
- TCP建立连接
客户端向服务器发送一个同步数据包请求建立连接,该数据包中,随机产生一个初始序列号和一个为0的确认号。服务器收到这个同步请求数据包后,会对客户端进行一个同步确认。这个数据包中,序列号(ISN)由服务器随机产生,确认号是客户端的初始序列号+1;
客户端收到这个同步确认数据包后,再对服务器进行一个确认。该数据包中,序列号是上一个同步请求数据包中的确认号值,确认号是服务器的初始序列号+1。
图1-9 三次握手图例 - TCP传输数据
发送数据 :服务器向客户端发送一个带有数据的数据包,该数据包中的序列号和确认号与建立连接第三步的数据包中的序列号和确认号相同; 确认收到 :客户端收到该数据包,向服务器发送一个确认数据包,该数据包中,序列号是为上一个数据包中的确认号值,而确认号为服务器发送的上一个数据包中的序列号+所该数据包中所带数据的大小。 - TCP关闭连接
服务器完成它的数据发送任务后,会主动向客户端发送一个终止数据包,以关闭在这个方向上的TCP连接。该数据包中,序列号为客户端发送的上一个数据包中的确认号值,而确认号为服务器发送的上一个数据包中的序列号+该数据包所带的数据的大小;
客户端收到服务器发送的终止数据包后,将对服务器发送确认信息,以关闭该方向上的TCP连接。这时的数据包中,序列号为第1步中的确认号值,而确认号为第1步的数据包中的序列号+1;
同理,客户端完成它的数据发送任务后,就也会向服务器发送一个终止数据包,以关闭在这个方向上的TCP连接,该数据包中,序列号为服务器发送的上一个数据包中的确认号值,而确认号为客户端发送的上一个数据包中的序列号+该数据包所带数据的大小;
服务器收到客户端发送的终止数据包后,将对客户端发送确认信息,以关闭该方向上的TCP连接。这时在数据包中,序列号为第3步中的确认号值,而确认号为第3步数据包中的序列号+1;
1.4.3 流量分析
报文序号 | 源IP | 目的IP | 源端口 | 目的端口 | 报文类型 | 备注(可选)应用数据 |
---|---|---|---|---|---|---|
0 | 192.168.25.104 | 192.168.0.1 | 1030 | 80 | 同步帧 | 客户端发送一个TCP SYN报文段。Sent 报文段信息: 序号 0,ACK号 0,数据长度 24。 |
0 | 192.168.0.1 | 192.168.0.2 | 80 | 1030 | 确认帧 | 服务器发送一个TCP SYN+ACK报文段。Sent 报文段信息: 序号 0,ACK号 1,数据长度 24。 |
1 | 192.168.25.104 | 192.168.0.1 | 1030 | 80 | 确认帧 | TCP连接成功, 设备发送一个TCP ACK报文段,Sent 报文段信息: 序号 1,ACK号 1,数据长度 20。 |
1 | 192.168.25.104 | 192.168.0.1 | 1030 | 80 | HTTP | 客户端 报文段信息: 序号 1,ACK号 1,数据长度 100 |
1 | 192.168.0.1 | 192.168.0.2 | 80 | 1030 | HTTP | 服务器发回一个HTTP响应给客户端序号 1,ACK号 101,数据长度 556 |
557 | 192.168.0.1 | 192.168.0.2 | 80 | 1030 | HTTP | 服务器发送数据报文段信息: 序号 557,ACK号 101,数据长度 556 |
1113 | 192.168.0.1 | 192.168.0.2 | 80 | 1030 | HTTP | 服务器报文段信息: 序号 1113,ACK号 101,数据长度 49 |
101 | 192.168.25.104 | 192.168.0.1 | 1030 | 80 | 结束帧 | 客户端关闭于服务器的连接,序号 101,ACK号 1162,数据长度 20。 |
1162 | 192.168.0.1 | 192.168.0.2 | 80 | 1030 | 结束帧 | 服务器设置连接状态为CLOSE_WAIT,LAST_ACK,连接释放,设备发送一个TCP FIN+ACK报文段, 序号 1162,ACK号 102,数据长度 20 |
102 | 192.168.25.104 | 192.168.0.1 | 1030 | 80 | 结束确认帧 | 客户端设置连接状态为CLOSING。Sent 报文段信息: 序号 102,ACK号 1162,数据长度 20 |
1.5 优化和改进感知设备功能的措施
- 101是智能温度控制示例,采用空调、暖炉、温度监测器、湿度监测器、加湿器、风扇、窗户以及一台电脑,主要功能是智能检测温湿度,启动相关家电完成温湿度的调节。
- 201是CO检测示例,采用空调、温度监测器、、窗户一氧化碳监测器、报警器、风扇、门、暖炉以及一台电脑,主要功能是监测一氧化碳浓度,通过一氧化碳检测器检测一氧化碳浓度,根据浓度做出判断,打开风扇和门窗通风并通过警报器发出警报。
- 301水位控制示例,采用空调、家庭音箱、门、水位监测器、排水管、温度监控器以及一台电脑,主要功能是智能检测水位,控制排水。通过水位监测器传回水位,判断水位并打开排水管。
- 401门禁告警和监控示例,采用加湿器、温度监控器、空调、风扇、摄像头、门、警报器、窗户以及一台电脑,主要功能是检测门是否已锁以及家庭监控,如果在门在关闭状态下没锁则会报警,住户还可通过监控随时观察家庭状况。
- 可以将上述示例的功能进行组合,做一个更加全面的智能家庭。
- 102、202、302、402等是一些简单常规的智能家庭示例。
1.6 优化和改进网络传输性能的措施
- IOT设备采用无线连接的方式接入家庭网关,改进了传输方式,每层使用一个交换机,交换机采用堆叠方式,堆叠是指将一台以上的交换机组合起来共同工作,以便在有限的空间内提供尽可能多的端口采用堆叠方式的优势:
1.高密度端口 - 不同品牌的交换机支持堆叠的层数有所不同,一般情况下,最少可堆叠2层,而最多可堆叠至8层,因此,可在一个狭小的空间内为密集的计算机网络提供上百个端口。
2.高速传输 - 由于叠堆中所有的计算机都连接至同一高速背板模块,位于不同交换机端口的计算机之间的通信不再需要层层转发,减少了交换机之间的转发延迟,避免了端口冲突,所有端口的计算机间均可以线速进行交换,提高了不同交换机间计算机的通讯速率。
3.便于管理 - 一个叠堆的若干台交换机可视为一台交换机进行管理,只需赋予其1个IP地址,即可通过该IP地址对所有的交换机进行管理,从而大大减少了管理的强度和难度,极大地节约了管理成本。
设计2:小车远程控制的物联网系统
2.1 物联网系统设计描述
- 整个小车远程控制的物联网系统使用一个服务器,首先配置服务器的静态网关地址,然后通过交换机与网关连接,将网关的LAN设置IP地址,IOT设备通过SSID识别并连接WIFI,动态获取的地址与网关相同,SBC一般被认为工作在应用层,对具体的应用协议(包括会话信令协议、媒体传输协议等)进行处理。MCU能够用软件控制来取代复杂的电子线路控制系统,实现智能化以及轻量化控制。
2.1.1 创建设备
- 从components中Boards设备子类中分别选择MCU Boards和SBC Boards,从组件中传感器设备子类选择四个按钮,单击工作区空白位置创建设备,修改按钮显示合适的名称(如:Up、Down、Left、Right);从Network Devices中选择路由器和交换机,从End Devices中选择服务器,打开其服务;从End Devices中Smart City子类中选择Old Car。
2.1.2 连接设备
- 四个按钮分别与MCU数字接口相连。MCU与SBC用USB口相连。SBC上安装网络模块。在注册服务器上注册新用户并设置与注册服务器相连通。连接中控系统如下图。
图2-1 小车连接中控系统
2.1.3 远程控制设备
- 在注册服务器“Conditions”页面上添加以下条件,如图所示可以通过远程服务器对智能设备进行操控:
图2-2 设置操控条件
2.2 拓扑结构
- 该系统的拓扑结构如下图所示,单片机与四个控制按钮和单板机连接,单板机与家庭网关无线连接,家庭网关通过交换机与服务器连接并发出无线网络与受控小车无线连接。
图2-3 远程控制小车移动设备拓扑图
2.3 测试结果和周边环境数据监测
- 点击相应按钮,小车会向指定方向移动20个单位长度,通过家庭网关进行无线连接与控制。小车可以正常移动。
- 通过在网络中进行ping操作,测试出的网络时延如图2-5所示,取其平均值,可近似认为网络时延为15.5s。
图2-4 网络时延测试图(ping)
2.4 无线局域网传输流量分析
2.4.1 802.11帧分析表
序号 | MAC地址1 | MAC地址2 | MAC地址3 | 帧传输方向 | 帧类型 | 备注(可选)应用数据 |
---|---|---|---|---|---|---|
1 | 0090.2B48.C632 | 00D0.FF09.2706 | 00D0.BCC5.6718 | 从网关到SBC | 数据帧 | 无 |
2 | 0090.2B48.C632 | 00D0.FF09.2706 | 00D0.BCC5.6718 | 从网关到SBC | 数据帧 | 无 |
3 | 0090.2B48.C632 | 00D0.FF09.2706 | 00D0.BCC5.6718 | 从网关到SBC | 数据帧 | 无 |
4 | 00D0.FF09.2706 | 0050.0FEE.81D8 | 00D0.BCC5.6718 | 从小车到网关 | 数据帧 | 无 |
5 | 00D0.BCC5.6718 | 00D0.FF09.2706 | 0090.2B48.C632 | 从网关到服务器 | 数据帧 | 无 |
注:各设备MAC地址如下
SBC : 0090.2B48.C632
Home : 00D0.FF09.2706
Server : 00D0.BCC5.6718
Car : 0050.0FEE.81D8
2.4.2 模拟模式所捕获流量分析
1、流量总体分析
(1)Server立即接连发出两个数据报
(2)第一个发送给小车
(3)第二个发送给SBC单元
(4)小车向Server发送帧
(5)SBC单元向Server发送帧
- 对某一时刻的具体分析
- 以1.894s时的SBC0 数据帧为例:
(1)设备在连接到端口 10.1.1.1 时收到 TCP 推送+ACK 段 31000。
(2)接收段信息:序列号3961,ACK号415,数据长度45。
(3)TCP段具有预期的对等序列号
(4)TCP处理有效负载数据
(5)TCP重新组装所有数据段并传递到上层
2.5 优化和改进网络传输方式的措施
2.5.1 家庭网关的使用
- 该系统在连接小车时采用了通过网关无线连接到小车的方式,可以更加快捷的实现对小车的控制,优化了网络的整体拓扑。可以提升网络的传输结构。
2.5.2 使用负载均衡
- 线路转换机5与0故障时,会使用备份电路,整个网络还是通的,平时则会使用转换机2,解决单点链路故障,实现了负载均衡。