linux系统编程 小项目,linux系统编程小项目.doc

41528d3028836879cd698677c3999917.giflinux系统编程小项目.doc

一、项目概述简单智能远程监控功能服务器端1、服务器端利用随机数模拟向串口读取传感数据,需要模拟的传感数据要求有温度、湿度、光照、室内噪音度等等。2、服务器要求在数据保中保存有采集传感数据的日期和时间。3、服务器利用网络接收客户端发送过来的设备控制信号,通过写驱动,实现对底层硬件的控制,这里使用打印显示的方式模拟。4、在进程之间IPC通信时,要求使用文件锁或信号量实现资源保护。客户端1、客户端能够通过网络通信实现接收服务器端传输过来的传感数据,并将传感数据打印到屏幕上显示。2、客户端能够从键盘输入控制信号,并且通信将控制信号发送给服务器。3、客户端要求实现控制信号有,开灯、关灯,开风扇、关风扇,开窗、关窗,开空调、关空调等。4、如果有安卓客户端的话,要求能与安卓客户端通信。实现服务器端1、利用LINUXC实现服务器;2、服务器端使用多进程实现多客户网络服务;3、服务器多个进程之间需要使用IPC通信(进程间通信);客户端1、在LINUXC下实现网络客户端;2、为了实现同时读阻塞的键盘和阻塞的网络,使用多路IO(SELECT或POLL机制)实现阻塞的读键盘和读网络。服务器客户端的网络通信1、这里要求采用TCP协议进行通信,实现所要求的S/C模式,并且要求实现多客户服务。图示应用OS硬件感知控制网络手机物嵌入式设备手机涉及知识(1)文件IO操作(2)时间函数(3)进程控制(4)信号(5)进程间通信(IPC)(6)线程控制。(7)高级IO的多路IO、文件锁(8)网络通信等等。类容基本囊括系统编程和网络编程课程内所讲授的核心知识点。学生完成本项目的目的1、利用项目实操强化C语言的使用,有效增加学生进企业前的实际编程代码量的积累。2、实现系统编程、网络编程知识从理论到实践过度,经过切身实际项目的操作,加深对于这门课知识系统化理解。3、利用功能上几乎完全的企业项目,让学生了解实际企业项目的大致开发流程。4、有效提升学生实际自主解决问题的能力,以及培养团队合作的能力。课程设计的最后成果,内容包括1、答辩,项目成果演示。2、预习报告(题目、流程图、程序的设计思想等);3、实验总结报告(测试方案、源程序代码(需打印)、调试中问题及解决方案、小结等)。二、详细图解原始父进程1、FORK出读写串口的子进程2、FORK出与客户通信的子进程读写串口的子进程与客户1通信与客户N通信共享内存与客户2通信消息队列FORKFORK传感数据控制数据READ串口读传感数据WRITE串口些控制数据CFDCFDCFDSOCKETTCP1、向客户发送传感数据2、读取客户的控制数据串口无线网卡串口线消息2消息N消息1三、程序逻辑框图(1)服务器程序传感器数据采集、设备控制单元板客户端1、显示传感数据2、发送控制数据无线路由FORKSOCKETBINDLISTEN子进程CL执行读写底层驱动程序ACCEPT子进程CL执行客户服务程序创建次线程读共享内存里面的传感数据利用网络,读取客户发送的控制命令将控制命令挂入消息队列,共读写驱动的进程使用创建次线程读驱动的传感数据由于没有实现底层驱动,这里使用随机数模拟传感数据将传感数据写入共享内存从消息队列取出控制数据写驱动,将控制数据写给底层,实现硬件控制由于没有底层,所以讲控制命令打印显示FORK共享内存消息队列随机数模拟传感数据/利用时间作为随机数种子/TIMTIMENULLSRANDTIM/取随机数后两位作为模拟数值/ILLUMINATIONFLOATRAND100//光照HUMIDITYFLOATRAND100//湿度TEMPERATUREFLOATRAND100//温度数据包格式A、传感数据包的字符串格式光照温度湿度采集时间\R\NB、控制命令DEFINEFAN_ON“1“DEFINEFAN_OFF“2“DEFINELIGHT_ON“3“DEFINELIGHT_OFF“4“DEFINEWINDOW_OPEN“5“DEFINEWINDOW_CLOSE“6“DEFINECLIENT_OFFLINE“7“读写驱动进程与客户服务进程之间的TPC通信A、共享内存实现传感数据的通信B、消息队列实现控制命令的通信服务器与客户的强扩通信A、TCP协议B、S/C模式四、客户端(1)安卓客户端略(2)LINUX客户端自己实现,使用多路IO(SELECT或者POLL)机制,实现阻塞读键盘和读网络利用网络,向客户发送传感数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值