一、总体要求
智能控制系统产品已广泛覆盖人们日常生活的各方面,请根据课程所学的嵌入式Linux系统下的程序设计、开发、实现、编译、调试、配置、打包发布等相关知识,结合Qt GUI、多线程、socket通信等编程技术,完成智能控制系统的整体设计、开发和发布。
二、完成形式
以个人为单位一人一题,完成结课项目。
三、具体要求
3.1 选题要求
根据学号尾号选择对应项目(见表1),完成一个智能控制系统,要求有客户端、服务器端和自动编译发布脚本。具体功能自行做需求分析,必须合理且尽可能丰富。
表1项目选题
学号
|
项目名称
|
学号
|
项目名称
|
学号
|
项目名称
|
01
|
智能扫地机器人遥控系统
|
16
|
智能洗碗机遥控系统
|
31
|
智能洗衣机遥控系统
|
02
|
智能电动玩具车遥控系统
|
17
|
智能门锁遥控系统
|
32
|
智能窗户遥控系统
|
03
|
智能园林洒水器遥控系统
|
18
|
智能电饭煲遥控系统
|
33
|
智能加湿器遥控系统
|
04
|
智能监控摄像头遥控系统
|
19
|
智能面包机遥控系统
|
34
|
智能空调遥控系统
|
05
|
智能多媒体教室遥控系统
|
20
|
智能鱼缸遥控系统
|
35
|
智能投影仪遥控系统
|
06
|
智能空气净化器遥控系统
|
21
|
智能窗帘遥控系统
|
36
|
智能电磁炉遥控系统
|
07
|
智能擦玻璃机器人遥控系统
|
22
|
智能晾衣架遥控系统
|
37
|
智能微波炉遥控系统
|
08
|
智能行车记录仪遥控系统
|
23
|
智能电冰箱遥控系统
|
38
|
智能平衡车遥控系统
|
09
|
智能汽车中控遥控系统
|
24
|
智能净水器遥控系统
|
39
|
智能吸尘器遥控系统
|
10
|
智能电视机顶盒遥控系统
|
25
|
智能电烤箱遥控系统
|
40
|
智能路由器遥控系统
|
11
|
智能儿童手表遥控系统
|
26
|
智能马桶遥控系统
|
41
|
智能电视遥控系统
|
12
|
智能家庭影院遥控系统
|
27
|
智能电风扇遥控系统
|
42
|
智能售货柜遥控系统
|
13
|
智能电视盒子遥控系统
|
28
|
智能跑步机遥控系统
|
43
|
智能按摩椅遥控系统
|
14
|
智能送货机器人遥控系统
|
29
|
智能全屋灯光遥控系统
|
44
|
智能抽油烟机遥控系统
|
15
|
智能电热水壶遥控系统
|
30
|
智能热水器遥控系统
|
45
|
智能按摩床遥控系统
|
3.2 内容要求
(1)交互界面使用Qt实现;
(2)网络通信使用socket编程实现;
(3)项目中必须用到多线程技术;
(4)项目中编译发布脚本要求使用shell脚本,该脚本能够完成自动编译、自动打包、自动安装这三个必备功能;
(5)项目在Linux环境下编译运行。
四、成果材料及提交时间要求
4.1 成果材料及规范性
要求提交以下成果材料:
(1)项目报告1份(具体要求见项目报告模板);
(2)项目源程序1份(包括客户端、服务器端源程序)。
提交格式要求如下:
电子版材料:将项目报告、源代码(有其他项目相关文件也可一并提交)放在同一个文件夹下,文件夹命名为:学号姓名(如图1所示),最后将整个文件夹中的内容压缩为:学号姓名.rar。
纸质版材料:项目报告。左侧两钉装订,封面与目录单独打印,正文单双面打印均可。

图1 提交材料要求
4.2 提交时间
6月9日16:00之前提交电子版及纸质版材料。
注:由学委统一收齐提交给教师,学委要检查学生的压缩包命名格式是否正确。
六、考核标准(满分100分,占总成绩的40%)
序号
|
考核项目
|
考核点及标准
|
1
|
客户端界面设计
(14分)
|
设计(4分):界面美观有设计感、交互性良好得4分;界面仅有必备控件没有设计感得1~3分;界面没有必备控件得0分。
|
界面控件(5分):每正确使用3个控件得3分,满分5分。
|
控件信号-槽连接(5分):每正确连接3个信号-槽得1分,满分5分。
|
2
|
客户端功能实现
(23分)
|
创建socket描述符(2分):正确得2分,错误得0分。
|
连接服务器(2分):正确得2分,错误得0分。
|
下发各种操作指令(5分):每正确下发2个指令得1分,满分5分。
|
接收服务器端消息(4分):每正确接收2个消息得1分,满分4分。
|
显示操作结果信息(5分):每正确显示一个操作结果得1分,满分5分
|
关闭socket描述符(2分):正确得2分,错误得0分。
|
代码无错误,编译通过能运行(3分):正确运行得3分,否则得0分。
|
3
|
服务器端
(25分)
|
创建socket描述符(2分):正确得2分,错误得0分。
|
绑定服务器地址和端口(2分):正确得2分,错误得0分。
|
监听客户端请求(2分):正确得2分,错误得0分。
|
接受客户端请求并建立网络连接(2分):正确得2分,错误得0分。
|
接收客户端消息(4分):每正确接收2个消息得1分,满分4分。
|
处理客户端下发的各种指令(5分):每正确处理2个指令得1分,满分5分。
|
反馈操作结果给客户端(5分):每正确返馈2个操作结果得1分,满分5分。
|
代码无错误,编译通过能运行(3分):正确运行得3分,否则得0分。
|
4
|
脚本
(14分)
|
生成Makefile文件正确(2分):正确得2分,错误得0分。
|
生成可执行程序正确(2分):正确得2分,错误得0分。
|
版本信息(3分):包括发布日期、版本号、作者信息,每写对一项得1分。
|
自动发布打包(4分):正确打包发布且命名中带发布日期得4分;正确打包发布但命名错误得2分;打包错误得0分。
|
脚本执行(3分):脚本执行各步骤均正确得3分;有错误得0分。
|
5
|
项目报告
(14分)
|
格式(4分):全文段落字体正确得1分、图表清晰得1分、无恶意留白得1分,无错别字得1分。
|
结构(2分):文章结构合理得2分;基本合理得1分;结构杂乱得0分。
|
内容(8分):每章节内容饱满得1~2分,满分8分;章节内容过少得0分。
|
6
|
答辩
(10分)
|
项目介绍(4分):对项目介绍逻辑清晰,表达流畅,对系统优缺点有清晰认识得3~4分;对项目介绍较为粗陋,表达不够清晰流畅,对系统的整体认识不足得0~2分。
|
答问(6分):答辩中回答教师提出的2个问题,每个问题回答正确得3分。
|