linux大作业报告
重庆科技学院
《嵌入式LINUX应用与开发》大作业
专业班级:
学 号:
姓 名:
成 绩:
大作业1:远程灯光控制系统(单人独立完成)
功能需求:
本系统基于客户/服务器结构,TQ2440嵌入式开发板作为服务端,PC机为控制客户端。客户端在Linux下开发,客户端和服务端之间通过Socket通信。
(1)Socket网络传输结构:选用的网络传输协议、客户机IP、客户机进程端口号、服务器端IP和服务器端进程端口号。
(2)客服端与服务器建立连接后,客服端发送命令ON/OFF可远程控制嵌入式开发板上的多组LED灯的开关,服务端控制成功/失败后返回OK/Fail。
(3)客服端发送控制命令Check可以查询当前嵌入式开发板上的各组LED灯的状态。
(4)客服端可使用QT设计(扩展内容)
摘 要
嵌入式系统是和硬件的综合体,嵌入式系统是与应用紧密结合的,具有很强专用性,必须结合实际系统需求进行合理的裁减利用嵌入式Linux在电子行业的应用很广泛,学习嵌入式Linux显得非常重要。这次课程设计的主要目的是检验上学期学习Linux后的效果。通过基础题的代码编写,熟悉Linux C语言编程技巧。通过完成客户/服务器通信系统
关键字:嵌入式Linux TQ2440 Socket通信
目录
大作业1:远程灯光控制系统(单人独立完成)1
摘 要2
1.设计内容及要求4
1.1远程灯光控制系统的基本要求4
1.2需实现的主要功能4
2.需求分析5
2.1服务器端和客户端的数据传输方式5
2.2客户端功能设计5
2.3服务器端功能设计5
3总体设计6
3.1总体功能6
4.详细设计7
4.1功能分析和描述7
4.2客户端功能模块7
4.2.1连接服务器7
4.2.2发送消息功能8
4.3服务器端功能模块8
4.3.1接受和发送数据9
4.3.2调用LED接口驱动9
5.关键代码实现10
5.1客户端代码10
5.1.1创建套接字10
5.1.2连接服务器端10
5.1.3发送消息给服务器端11
5.2服务器端代码11
5.2.1创建套接字11
5.2.2绑定和监听函数11
5.2.3接收客户端请求及判断控制LED12
6.功能实现13
7总结14
8致谢15
9参考文献16
设计内容及要求
系统的基本要求
TQ2440嵌入式开发板作为服务端,PC机为控制客户端。客户端在Linux下开发,客户端和服务端之间通过Socket通信。通过客户端控制TQ2440嵌入式开发板上多组LED灯亮灭。
1.2需实现的主要功能
(1)Socket网络传输结构:选用的网络传输协议、客户机IP、客户机进程端口号、服务器端IP和服务器端进程端口号。
(2)客服端与服务器建立连接后,客服端发送命令ON/OFF可远程控制嵌入式开发板上的多组LED灯的开关,服务端控制成功/失败后返回OK/Fail。
(3)客服端发送控制命令Check可以查询当前嵌入式开发板上的各组LED灯的状态。
(4)客服端可使用QT设计(扩展内容)
需求分析
2.1服务器端和客户端的数据传输方式
Linux C 函数socket建立到服务器的套接字连接。
当套接字连接socket建立后,可以利用Linux C语言中的send函数和recv函数来实现简单的发送和接收消息。
2.2客户端功能设计
客户端使用Linux C语言编写,客户端实现的功能如下
2.3服务器端
服务器端使用Linux C编写服务器端实现的功能:
(6)开发板LED灯接口进行控制
3.1总体功能
根据对需求所做的分析,远程灯光控制系统
(6) 客户端进行控制,进行响应
设计
分析和描述
4.2客户端功能模块
4.2.1
连接服务器之前需要解析服务器地址、创建套接字、设置sockaddr_in 结构体中相关参数。主要流程图如图
图4-2-1连接服务器流程图
4.2.2发送消息功能
成功后就可以通过客户端发送消息到服务器端。发送功能流程图如图
图4-2-2 发送消息流程图
4.3服务器端功能模块
端分为两大模块
从客户端接受和发送数据
开发板LED接口,多组LED亮灭。
和发送数据
TCP/IP协议接受从客户端发来的数据。流程图如图:
和发送数据流程图4.3.2调用LED接口
由于TQ2440嵌入式开发板中自带了LED驱动,所以就可以直接调用。只需服务端判断由客户端发过来的数据,以此来LED。流程图如图
图4-3-2调用LED接口驱动流程图
代码实现