串口通信实验报告.docx
《串口通信实验报告.docx》由会员分享,可在线阅读,更多相关《串口通信实验报告.docx(9页珍藏版)》请在冰豆网上搜索。
![串口通信实验报告.docx](https://file1.bdocx.com/fileroot1/2023-1/26/59a257bc-9700-4ccc-aff7-2fd6232af6e7/59a257bc-9700-4ccc-aff7-2fd6232af6e71.gif)
串口通信实验报告
华南农业大学
实验报告
-----------------------------------------目录-----------------------------------------
1、实验一任务和目的-1-
2、实验一准备-1-
3、实验一步骤-1-
4、实验一分析与总结-1-
(1)、分析-1-
(2)、总结-3-
5、实验二任务和目的-3-
6、实验二准备-3-
7、实验二步骤-3-
8、实验二分析与总结-4-
(1)ARP协议-4-
(2)TCP协议分析-5-
(4)ACMD协议分析-8-
(4)总结-9-
1、实验一任务和目的
了解串行通信的背景知识后,通过三线制制作一条串口通信线(PC-PC),并编程实现两台PC间通过RS-232C通信。
要求两台PC机能进行实时的字符通信,并了解工业自动化控制中的基本通信方式。
2、实验一准备
1、检查PC是否具有串行通信接口,并按其针脚类准备一条串口通信线缆。
2、在windows中,使用python进行串口编程需要安装一个Serial模块pyserial
3、实验一步骤
1、查找有关串口通信的书籍以及在网上查找相应地串口通信代码。
2、用python语言编写串口程序
3、用相应的串口通信线缆连接两台PC,进行实时字符通信,测试不同参数是否对通信有影响
4、实验一分析与总结
(1)、分析
创建Serial对象之后,可以直接使用write()和read()函数实现发送和接受,将它们写进线程中,实现实时发送接受。
1、发送函数
图1
2、接收函数
图2
3、主函数
图3
4、程序运行界面
图4和图5分别为两台计算机上的运行界面,能够实现实时的收发信息。
图4
图5
(2)、总结
本次实验是我第一次实现两台计算机之间的通信,并且也是用python写的第一个能实际应用的程序。
作为Python的初学者,这次实验让我的编程能力有了明显提升。
并且在查阅串口通信的相关资料的同时也对VB,C++等语言有一定的了解,我想这对接下来对编程的进一步学习是很有帮助的。
5、实验二任务和目的
本实验是以Windows操作系统为平台,安装并设置不同参数运行WireShark对网络上主机所使用的协议进行捕获分析,并得出分析结果,进一步了解常用协议的工作原理,并能利用工具对网络进行有效管理。
任务要求如下:
对局域网或互联网上ARP、IP和TCP协议进行分析,并生成分析报告。
6、实验二准备
运行Windows操作系统的计算机若干,同时将计算机连接到局域网或因特网上。
7、实验二步骤
下载Wireshark工具,熟悉主要功能和操作。
捕获根据实验任务进行捕获和协议分析。
8、实验二分析与总结
(1)ARP协议
主机IP:
192.168.123.1询问主机IP:
192.168.10.254的MAC地址
硬件类型:
Ethernet
协议类型:
ip协议
硬件长度:
6
协议长度:
4
操作代码:
询问
发送源ip:
192.168.123.1
发送源mac地址:
cc:
81:
da:
ea:
f9
目的主机ip地址:
192.168.123.78
目的主机mac地址:
00:
00:
00:
00:
00:
00
图6
图7
图8
(2)TCP协议分析
图9三次握手
通过三次握手建立连接
图10第一次握手
第一次握手,客户端192.168.113.69发送一个TCP给服务端192.168.113.253
SrcPort:
49227
DstPort:
49583
Seq:
0
Len:
0
图11第二次握手
第二次握手,服务器发回确认包
图12第三次握手
第三次握手,客户端发送确认包
图13四次放手
通过四次放手断开连接
图14第一次放手
图15第二次放手
图16第三次放手
图17第四次放手
(4)ACMD协议分析
图18ping_cmd
通过命令ping主机IP
图19icmp
通过过滤查找ICMP找到一对应答请求包
图20request
打开request包,观察其内容
图21relay
打开reply包,观察其内容
(4)总结
通过这次实验,亲身感受了TCP/IP协议是如何运行的,进一本了解常用协议的工作原理,并能利用工具对网络进行有效管理。