小车远程监控系统课程设计大学论文.doc
《小车远程监控系统课程设计大学论文.doc》由会员分享,可在线阅读,更多相关《小车远程监控系统课程设计大学论文.doc(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 课程设计报告(2016/2017学年 第一学期)题 目:小车远程监控系统 专 业计算机科学与技术学 生 姓 名孙烨班 级 学 号B13040402指 导 教 师邹志强指 导 单 位计算机学院、软件学院日 期2017.01.03-01.12指导教师成绩评定表学生姓名班级学号专业计算机科学与技术评分内容评分标准优秀良好中等差平时成绩认真对待课程设计,遵守实验室规定,上机不迟到早退,不做和设计无关的事设计成果设计的科学、合理性功能丰富、符合题目要求 界面友好、外观漂亮、大方程序功能执行的正确性程序算法执行的效能设计报告设计报告正确合理、反映系统设计流程文档内容详实程度文档格式规范、排版美观验收答辩
2、简练、准确阐述设计内容,能准确有条理回答各种问题,系统演示顺利。评分等级指导教师简短评语指导教师签名日期2017-01-12备注评分等级有五种:优秀、良好、中等、及格、不及格小车远程监控系统一、 课题内容和要求服务器端: 1、利用linux C实现服务器; 2、服务器端使用多进程实现多客户网络服务; 3、服务器多个进程之间需要使用IPC通信(进程间通信);客户端: 1、在linux C下实现网络客户端;为了实现同时读阻塞的键盘和阻塞的网络,要求使用多路IO实现同时阻塞的读键盘和读网络。服务器客户端的网络通信:这里要求采用TCP协议进行通信,实现所要求的S/C模式,并且要求实现多客户服务。二、需
3、求分析服务器端:1、服务器端利用随机数模拟向串口读取传感数据,需要模拟的传感数据要求有:温度、湿度、光照。2、服务器利用网络接收客户端发送过来的设备控制信号,通过写驱动,实现对底层硬件的控制,这里使用打印显示的方式模拟。3、在进程之间IPC通信时,要求使用文件锁或信号量实现资源保护。客户端:1、客户端能够通过网络通信实现接收服务器端传输过来的传感数据,并将传感数据打印到屏幕上显示。2、客户端能够从键盘输入控制信号,并且通信将控制信号发送给服务器。3、客户端要求实现控制信号有,开灯、关灯,开空调、关空调、开启小车、停小车等。 三、概要设计Socketsocketbindlistenconnect
4、accpetWrite,readWrite,readbind 服务器客户端四、详细设计 (格式:宋体,4号,加粗,两端对齐)各个算法实现的源程序(可以是一组源程序,每个功能模块采用不同的函数实现),源程序要按照写程序的规则来编写。要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。头文件(cs.h)Times New Rxoman#include #include #include #include #include #include #include #include #include #include #include #include #define SER_PORT 50
5、10#define SER_IP 127.0.0.1#define MAX_SIZE 2048#define MAX_CONNECT 20 /最大可连接的客户端数量#define CHPTH_COUNT 3#define PTH_EIXT 1int skfd = 0;int cfd = 0;int ret = 0;void err_fun(const char *const file_name, int line, const char *const fun_name, int err_no) fprintf(stderr, %s %d %s: %sn, file_name, line, fu
6、n_name, strerror(err_no); exit(-1);void signal_fun(int a)int ret = shutdown(skfd, SHUT_WR);if(ret 0) err_fun(_FILE_, _LINE_, shutdown, errno);printf(nShuts Down!n);exit(0);struct global_vachar pth_exit_flag;pthread_mutex_t mutex;glb_va = 0, PTHREAD_MUTEX_INITIALIZER;struct pthread_argint fd;pthread_
7、t pthid;int pthnum;客户端代码:#include cs.hint main(void)char data_sendMAX_SIZE=0;char data_recvMAX_SIZE=0;struct sockaddr_in s_addr = 0;int flag=0;skfd = socket(PF_INET, SOCK_STREAM, 0);/* 创建一个套接字文件,返回一个用于监听用客户上线用的文件描述符 * 参数1:域(协议族) */if(skfd 0) err_fun(_FILE_, _LINE_, socket, errno); s_addr.sin_family
8、= AF_INET;s_addr.sin_port = htons(SER_PORT);s_addr.sin_addr.s_addr = inet_addr(SER_IP);ret = connect(skfd, (struct sockaddr *)&s_addr, sizeof(s_addr);if(ret );scanf(%s,data_send);flag=atoi(data_send);if(flag6|flag0)/*值域判断*/printf(输入错误,请重新输入。n);else ret = write(skfd, data_send, MAX_SIZE);if(ret 0) er
9、r_fun(_FILE_, _LINE_, write error, errno);ret = read(skfd,data_recv,MAX_SIZE);if(ret %sn, data_recv);memset(data_send, 0, MAX_SIZE);memset(data_recv, 0, MAX_SIZE);sleep(1.5);return 0;服务器端:#include cs.hint count_client= 0; /存储当前的客户端数量static void pthread_fun(void * cfd)count_client+;int tempfd= 0;int
10、i_recvBytes;char data_recvMAX_SIZE=0;char data_send MAX_SIZE=0;strcpy(data_send, 已执行操作);struct pthread_arg *p = (struct pthread_arg *)cfd;int fd = p-fd;while(1)printf(n等待请求.n);if(glb_va.pth_exit_flag = PTH_EIXT) pthread_mutex_unlock(&glb_va.mutex);break;i_recvBytes = read(fd,data_recv,MAX_SIZE);if(i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 小车 远程 监控 系统 课程设计 大学 论文
限制150内