第2章 系统需求分析
需求分析就是调查清楚用户在操作不同的应用下,如何能方便快速简单地操作该应用,需求分析包括了以下几个步骤:
(1)调查用户常用的应用。包括常用的不同类型的应用,常用的且觉得还能改善的人机交互方法的应用。
(2)调查用户在使用应用是经常出现不能用的情况。例如使用触摸屏时手湿,或者目前双手在干其他事不能使用触摸屏。然后做一个记录,思考如何通过其他交互方式解决。
(3)调查用户在使用常用的应用时,希望增加的人机交互的方式。包括如何更方便地操作,如何更快速地操作,如何更有趣地操作。
2.1 系统的需求分析
人机交互系统的需求如下:
(1)建立一个简约的人机交互界面。可通过界面选择想要测试的应用。
(2)预设几个测试的应用。
(3)每个界面里至少要有两种人机交互方式。
2.2 系统的功能需求
根据人机交互的系统需求分析,系统主要包括预设应用,人机交互模块,模块调用,网络通讯,以及操作界面。
1.预设应用
(1)2048小游戏
2048小游戏是一个简单和益智的小游戏。游戏规则:
2048游戏棋盘是4*4共有16个格子,初始时初始数字由2或者4构成。
1、手指向一个方向滑动,包括有上滑,下滑,左滑,右滑。所有格子会向那个方向运动。
2、相同数字的两个格子,相撞时数字会相加。
3、每次滑动时,空白处会随机刷新出一个数字的格子。
4、当界面不可运动时,游戏结束;当检测到方块里面有2048数字时,游戏胜利。
可调用的人机交互方式有滑屏控制,手势识别控制。
(2)音乐播放器
这个应用是可以实现播放音乐,暂停音乐,结束音乐,播放上一首音乐,播放下一首音乐的操作。
可调用的人机交互方式有滑屏控制,手势识别控制。
(3)相册
这个应用是可以实现显示图片,显示上一张图片,显示下一张图片的操作。
可调用的人机交互方式有滑屏控制,手势识别控制。
2.人机交互模块
(1)触摸屏
这个模块是最重要的人机交互设备。利用它来显示人机交互界面。用户可以通过触摸屏实现系统的所有功能。
(2)手势识别模块
手势识别模块是一个可以通过挥动手部来实现操作应用的模块。
(3)语音接收模块
语音接受模块是可以记录用户说出的语音,从而实现语音控制应用。
3.模块调用
模块在调用时需要做以下的准备:
(1)触摸屏的调用
在触摸屏在被函数调用前,需要在函数打开fb0设备。应为该设备已经系统自带驱动所以可直接调用。
(2)手势识别模块调用
该模块需要先与引脚焊接好,然后在开发板上的Linux系统安装驱动。安装成功后需要安装打开驱动,然后就可以调用。
(3)语音识别模块调用
在开发板上安装ALSA库,可实现录音录制解析。再通过网络传输数据到服务器,服务器再返回数据。从而实现语音控制操作。
4.网络通讯
网络通讯是为了实现服务器与开发板之间的数据交互。从而实现语音控制功能。服务器与开发板需要在同一个网段中工作。
5.操作界面
系用户可通过操作界面来进入应该进行测试。操作界面上会显示2048小游戏,音乐播放,相册和小雪。用户可通过触摸屏或者语音控制来进入各个应用。触摸小雪,即可开始语音操作。
2.3 数据流图
1.人机交互界面的数据流图
人机交互的数据流程是用户通过人机交互操作然后应用的程序,最后显示出应用信息。人机交互界面DFD如图2-1所示:

在这里插入图片描述

图2-1 人机交互界面DFD
第3章 系统设计
3.1 系统设计
3.1.1 系统总体架构设计
随着嵌入式处理器的发展和Internet技术的兴起,当今物联网的技术日趋成熟。现如今已不再是单一的个人电脑为上网主体,而是能有许多嵌入式产品上网互联的时代。本系统分为了两个部分,一个是嵌入式的技术框架,另一个为了实现语音控制功能采用了C/S结构。
目前,Linux系统成成为最受关注的系统之一,主要原因是Linux系统是免费,所有的系统代码是开源的。Linux可跨平台,还有丰富的软件支持。如gcc,cc等。所以我选择用Linux系统执行应用,并用Ubuntu来编写代码。
系统是由搭载Cortex-A53x芯片开发板来运行Linux系统。在Linux系统上执行应用程序。其系统架构如下图3-1所示:
1.应用层层
应用层主要是运行测试应用,这些应用是用C语言在Ubuntu编写的。然后经过交叉编译器编译得到可执行程序。有三个应用,分别是2048小游戏,音乐播放和相册。
应用实现基本思路说明如下:
(1).2048小游戏:根据网上2048游戏的规则编写代码,再通过数组的实时变化实时调出对于数字的图片。图片用的bmp格式24位的图片。显示图片需要调用触摸屏驱动。
(2).播放音乐:播放音乐前,先创建一个文件存放音乐。在播放音乐时调用音乐播放驱动mplayer。
(3).相册:在显示图片前,需要在一个文件夹里准备一些图片。本应用可显示两种格式的图片。一种是bmp格式24位的图片,一种是jpg格式的图片。对于bmp格式来说,因该格式没有加密,所以先通过换算就可直接调用屏幕驱动来显示。对于jpg格式图片,需要预先安装jpg的库,编译时需要调用库文件。

在这里插入图片描述

图3-1 系统嵌入式架构

第4章 系统实现
根据上一章的系统模块的设计,本章给出了它们的实现。下面分别是它们实现的界面效果。
4.1 用户使用主页面
下图4-1是人机交互界面的主页面。一共有4个文字提示。2048小游戏,相册,听音乐,小雪。点击“2048小游戏”可进入游戏。点击“相册”可显示图片,点击听音乐,可进入音乐播放界面。点击小雪可听过语音操作功能。然可以对着开发板讲“打开游戏”,“打开形成”,“播放音乐”其中一个。既可进入相应的界面。
在这里插入图片描述

图4-1 主界面

4.2 用户玩2048游戏的实现
如图4-1所示,当点击2048小游戏或者利用小雪进入游戏后即可开始游戏。如下图4-2所示:
在这里插入图片描述

图4-2 2048小游戏

文章底部可以获取博主的联系方式,获取源码、查看详细的视频演示,或者了解其他版本的信息。
所有项目都经过了严格的测试和完善。对于本系统,我们提供全方位的支持,包括修改时间和标题,以及完整的安装、部署、运行和调试服务,确保系统能在你的电脑上顺利运行。

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐