logo资料库

基于树莓派的简单双机通信系统设计.doc

第1页 / 共24页
第2页 / 共24页
第3页 / 共24页
第4页 / 共24页
第5页 / 共24页
第6页 / 共24页
第7页 / 共24页
第8页 / 共24页
资料共24页,剩余部分请下载后查看
摘 要
1.1 即时通讯的历史
1.2 即时通讯的原理
1.3 实验内容
第2章 树莓派简介
2.1 树莓派主要功能
2.2 树莓派及其开发环境
树莓派Raspberry PI是一个采用ARM架构的开放式嵌入式系统,外形小巧,却具有强大的系统功能
2.3, 树莓派发展现状
第3章 树莓派和基础软件介绍
3.1 树莓派供电
3.2 树莓派基础配置
3.2.1 手动对SD存储卡进行写操作
3.3 基础软件介绍
3.3.1 Python语言介绍
嵌入式系统大型实验报告 题目:基于树莓派平台的聊天室软件设计和实现 作者姓名 杨泽铭、张乐乐、徐博文、 孙嘉懋、王东升 指导教师 杨海清 学科专业 通信 1501 培养类别 全日制本科 所在学院 信息工程学院 提交日期 2018 年 9 月 14 日
浙江工业大学本科课程实践 嵌入式系统大型实验报告 基于树莓派平台的聊天室软件设计和实现 作者姓名:杨泽铭、张乐乐、徐博文、 孙嘉懋、王东升 指导教师:杨海清 浙江工业大学信息工程学院 2018 年 9 月 II
浙江工业大学本科课程实践 基于树莓派的双机通信设计和实现 摘 要 针对当前聊天系统日益的发展完善,随着信息的高速发展,人们越来越倾向于 借助网络通过聊天工具进行交流。生活中已经离不开网络了,而与我们最密切相 关的网络工具就是即时通信软件,如人手一个账号的 QQ,微信,以及中国移动的飞 信等,大量的社交工具帮助着我们与朋友,与社会各地的人的交流。同时基于对于 聊天原理的一定的理解,我们这次决定用树莓派做一个简单的聊天系统。在完成 的过程中,我们运用了 python 进行编程完成聊天功能,并重新对 TCP/UDP 协议 有了更深的认识。 关键词:linux,嵌入式,树莓派,python,socket III
浙江工业大学本科课程实践 目 录 第 1 章 绪论..................................................................................................................1 1.1 即时通讯的历史...........................................................................................1 1.2 即时通讯的原理...........................................................................................2 1.3 实验内容.......................................................................................................2 第 2 章 树莓派简介......................................................................................................3 2.1 树莓派主要功能...........................................................................................3 2.2 树莓派及其开发环境.....................................................................................4 2.3 树莓派发展现状...........................................................................................7 第 3 章 树莓派和基础软件介绍..................................................................................9 3.1 树莓派供电.....................................................................................................9 3.2 树莓派基础配置...........................................................................................10 3.3 基础软件介绍...............................................................................................12 第 4 章 树莓派间通信系统的设计............................................................................14 4.1 树莓派间通信系统的总体框架.................................................................14 第 5 章 通过编程实现通信过程................................................................................15 5.1 树莓派的配置.............................................................................................15 5.2 编程语言的选择和编译过程.....................................................................16 5.3 程序编写及其实现过程.............................................................................17 第 6 章 结论与展望....................................................................................................18 6.1 结论.............................................................................................................18 6.2 展望.............................................................................................................18 参 考 文 献..........................................................................................................19 附 录..........................................................................................................................20 团队成员工作照片......................................................................................................22 IV
浙江工业大学本科课程实践 第 1 章 绪论 1.1 即时通讯的历史 即时通讯(Instant Messenger,简称 IM)软件可以说是目前我国上网用户使用 率最高的软件,无论是老牌的 ICQ,还是国内用户量第一的腾讯 QQ,以及微软 的 MSN Messenger 都是大众关注的焦点,它们能让你迅速地在网上找到你的朋 友或工作伙伴,可以实时交谈和互传信息。而且,现在不少 IM 软件还集成了数 据交换、语音聊天、网络会议、电子邮件的功能。 IM 软件的历史并不久远,但是它一诞生,就立即受到网民的喜爱,并风靡全球。 在它的发展史上,以色列人是功不可没的。正是四位以色列籍的年轻人,在 1996 年 7 月成立的 Mirabilis 公司,并于同年 11 月推出了全世界第一个即时通讯软件 ICQ,取意为“我在找你”——“I Seek You”,简称 ICQ 了。直到现在,ICQ 已经 推出了它的 2002a 版本,在全球即时通讯市场上占有非常重要的地位。 目前,国内最为流行的即时通讯软件是 OICQ(简称 QQ)。它以良好的中文界 面和不断增强的功能形成了一定的 QQ 网络文化。Messenger 虽出道较晚,但 依托微软的强大背景,实力也不可小视。作为 Windows XP 的一部分,Messenger 整合了操作系统的许多功能,如多种形式的聊天选择、多人的单窗口讨论式交流 以及充分的文件与桌面共享功能等。它的令人耳目一新的中文界面和注册方式, 连同它强大的功能,着实吸引了众多的眼球的注视,此外还有许多有特点的 IM 软件。 1
浙江工业大学本科课程实践 1.2 即时通讯的原理 我们经常听到 TCP/IP 和 UDP(用户数据报协议)这两个术语,它们都是建立在更 低层的 IP 协议上的两种通讯传输协议。前者是以数据流的形式,将传输数据经 分割、打包后,通过两台机器之间建立起的虚电路,进行连续的、双向的、严格 保证数据正确性的文件传输协议。而后者是以数据报的形式,对拆分后的数据的 先后到达顺序不做要求的文件传输协议。 QQ 就是使用 UDP 协议进行发送和接收“消息”的。当你的机器安装了 OICQ 以 后,实际上,你既是服务端(Server),又是客户端(Client)。当你登录 OICQ 时,你的 OICQ 作为 Client 连接到腾讯公司的主服务器上,当你“看谁在线”时, 你的 OICQ 又一次作为 Client 从 QQ Server 上读取在线网友名单。当你和你的 OICQ 伙伴进行聊天时,如果你和对方的连接比较稳定,你和他的聊天内容都是 以 UDP 的形式,在计算机之间传送。如果你和对方的连接不是很稳定,QQ 服 务器将为你们的聊天内容进行“中转”。其他的即时通信软件原理与此大同小异。 1、用户首先从 QQ 服务器上获取好友列表,以建立点对点的联系; 2、用户(Client1)和好友?Client2?之间采用 UDP 方式发送信息; 3、如果无法直接点对点联系,则用服务器中转的方式完成。 1.3 实验内容 这次实验内容是在用树莓派完成一个简单的双工的聊天通信,了解 python, 并能简单的运用编程,同时对基于 TCP/UDP 的 socket 编程有一定的了解。 2
浙江工业大学本科课程实践 第 2 章 树莓派简介 2.1 树莓派主要功能 为提升大规模网络的整体运行性能,对网络的运行质量需要进行有效的测 量,可以使用大量的分布式探针来监测网络各个节点的数据。主流的网络测量标 准分为主动式和被动式测量。为了监测大规模网络的性能,单点测量所关注的数 据远远不够,往往需要在网络的关键节点处部署探针进行多点测量。树莓派功能 强大、设备小巧、可整合丰富的 Linux 类软件,可以方便的在节点作为探针发起 主动的 TCP\UDP 网络性能测试。使用树莓派网络探针可以测量内容包括吞吐 量、延迟、丢包率,并作网络可靠性、稳定性、 可达性等方面的分析,保障网 络服务质量。树莓派网络探针的网络性能测量指标主要关注如下内容: (1)可用性(Availability) 通过采用 ICMP 协议发送测试包测试样本测试点是否可达,根据 ICMP 测试 的回显数据分析,从而监测网络的可用性。通过 ICMP 测试时,可以根据需要发 送包的数量和包的大小。 (2)网络时延(Network Delay) 监测端到端的网络时延是监测网络质量的一个重要指标,可以综合监测数据 包的正向时延、反向时延、往返时延来分析评估。 (3)丢包率(Packet Loss Rate) 网络丢包率是数据包丢失部分与所传数据包总数的比值。正常传输时网络丢 包率应该控制在一定范围内。丢包率与数据包长度以及包发送频率相关。通常情 况下,千兆网络丢包率应小于万分之五;百兆网络丢包率应小于万分之一。 (4)网络吞吐量(Network Throughput) 网络吞吐量是指在某个时刻,在网络中的端到端之间,实际可用的有效带宽。网 络吞吐量非常依赖于当前的网络负载情况,必须综合多个情况的综合吞吐量测 试,才能测量出相对准确的网络吞吐量。 3
浙江工业大学本科课程实践 (5)网络抖动(Jitter) 网络抖动用于描述包在网络中的传输延时的变化,抖动越小,说明网络质量 越稳定越好。抖动是评价一个网络性能好坏的较为重要的因素。 为了综合的测得网络整体的性能指标需要,需要采用易于部署的测试设备分 布在网络的各个节点进行测量,从而整体的监测全网数据,树莓派是成熟的嵌入 式 ARM 开发平台,适合承担这个任务。 2.2 树莓派及其开发环境 树莓派 Raspberry PI 是一个采用 ARM 架构的开放式嵌入式系统,外形小巧, 却具有强大的系统功能和接口资源。它是以 ARM11 处理器为核心的单板计算机, 拥有 256MB、 512MB 甚至 1G 的内存,具有 USB 接口、快速以太网接口、SD 插槽、HDMI 输出接口。树莓派小巧玲珑,能提供 1080p 全高清影像输出。在 搭载基于 ARM 的 Debian 和 Arch 等 Linux 的发行版后,便可使用大量现有的软 件库,使用大量的开源软件,也便于实行开发扩展。 树莓派支持多种语言进行应用开发,包括 C 语言和 Python 脚本等。树莓派预装 了 Python 运行环境,由于 Python 语言的简单易用,使得 Python 开发在树莓派 上非常流行。Python 是一门解释型语言,这意味着代码运行前不需要编译,即 程序直接执行而不需要编译为机器语言,Python 用在树莓派上进行编程开发就 非常方便。Python 语言发展多年,有着成熟而广泛的开发者社区,使得树莓派 上的 Python 开发者具备了强大的社区支持。 2.3, 树莓派发展现状 2008 年,4 位创始人一起创立了树莓派基金会,3 年后,该基金会成为第一 个大规模生产树莓派的生产线。一年内,基金会卖出了 100 多万台设备。基金会 成员多次表示他们对这种爆炸式的热情感到十分震惊。最初的目的仅仅是推出一 种廉价的、可编程的设备,使教育工作者和学生获益,显然现在这个目的已经达 成了。不仅如此,现在的成果比最初设想的要大得多。很明显,他们并不是唯一 希望拥有廉价可编程设备的一类人,世界各地的爱好者,连同大公司 element14、 4
分享到:
收藏