《嵌入式系统原理及应用》 课件 第8章 Qt编程;第9章 嵌入式项目实践_第1页
《嵌入式系统原理及应用》 课件 第8章 Qt编程;第9章 嵌入式项目实践_第2页
《嵌入式系统原理及应用》 课件 第8章 Qt编程;第9章 嵌入式项目实践_第3页
《嵌入式系统原理及应用》 课件 第8章 Qt编程;第9章 嵌入式项目实践_第4页
《嵌入式系统原理及应用》 课件 第8章 Qt编程;第9章 嵌入式项目实践_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

嵌入式系统原理与应用第八章Qt图形编程正大气象厚德载物MinnanUniversityofScienceandTechnologyQt图形编程CONTENTS01.Qt简介02.Qt安装03.工程的创建正大气象厚德载物MinnanUniversityofScienceandTechnology04.设计Qt界面实现LED灯控制01PARTONEQt简介正大气象厚德载物MinnanUniversityofScienceandTechnologyQt的简介正大气象厚德载物MinnanUniversityofScienceandTechnologyQt是跨平台的开发库,主要是开发图形用户界面(GraphicalUserInterface,GUI)应用程序Qt支持众多的操作系统平台,如通用操作系统Windows、Linux、Unix,智能手机系统Android、iOS、WindowsPhone,嵌入式系统QNX、VxWorks等,应用广泛。跨平台意味着只需编写一次程序,在不同平台上无需改动或只需少许改动后再编译,就可以形成在不同平台上运行的版本,这种跨平台功能为开发者提供了极大便利。Qt最早是1991年由挪威的EirikChambe-Eng和HaavardNord开发的,于1994年正式成立奇趣科技公司(Trolltech)。Qt原本是商业授权的跨平台开发库,在2000年奇趣科技公司为开源社区发布了遵循GPL(GNUGeneralPublicLicense)许可证的开源版本。02PARTTWOQt的安装正大气象厚德载物MinnanUniversityofScienceandTechnology正大气象厚德载物MinnanUniversityofScienceandTechnology两种方式安装:(1)在线安装sudoapt-getinstallqt5-defaultsudoapt-getinstallqtcreator(2)下载镜像文件安装/CodeJolt/article/details/132649354Qt的安装03PARTTHERE工程的创建正大气象厚德载物MinnanUniversityofScienceandTechnology正大气象厚德载物MinnanUniversityofScienceandTechnology§1创建第一个QT程序----创建工程工程的创建正大气象厚德载物MinnanUniversityofScienceandTechnology§1创建第一个QT程序----创建工程工程的创建正大气象厚德载物MinnanUniversityofScienceandTechnology§1创建第一个QT程序----创建工程工程的创建正大气象厚德载物MinnanUniversityofScienceandTechnology§1创建第一个QT程序----创建工程工程的创建正大气象厚德载物MinnanUniversityofScienceandTechnology§1创建第一个QT程序----创建工程工程的创建正大气象厚德载物MinnanUniversityofScienceandTechnology§1创建第一个QT程序----创建工程工程的创建正大气象厚德载物MinnanUniversityofScienceandTechnology§1创建第一个QT程序----创建工程工程的创建正大气象厚德载物MinnanUniversityofScienceandTechnology§1创建第一个QT程序----创建工程工程的创建正大气象厚德载物MinnanUniversityofScienceandTechnology§1创建第一个QT程序---编写程序工程的创建正大气象厚德载物MinnanUniversityofScienceandTechnology§1创建第一个QT程序---编写程序工程的创建正大气象厚德载物MinnanUniversityofScienceandTechnology§1创建第一个QT程序---编写程序工程的创建正大气象厚德载物MinnanUniversityofScienceandTechnology§1创建第一个QT程序---编写程序工程的创建正大气象厚德载物MinnanUniversityofScienceandTechnology§1创建第一个QT程序---编写程序工程的创建正大气象厚德载物MinnanUniversityofScienceandTechnology1、Qt安装2、创建工程、编写程序实现工程思政:在设计界面的时候,通过分析评估手机简化的设计,减少用户操作的复杂度和操作步骤,好的产品不仅需要精湛的专业知识,好的设计还要体现产品设计者的理念。我们应该树立正确的产品观,价值观和企业发展观,提升自身的创新创业能力,培养担当意识和家国情怀。

总结与作业04PARTFOUR设计Qt界面实现LED灯控制正大气象厚德载物MinnanUniversityofScienceandTechnology正大气象厚德载物MinnanUniversityofScienceandTechnology新建工程添加文件(led.h、led.cpp)设计界面和编程程序编译下载总结Qt界面实现LED灯的控制正大气象厚德载物MinnanUniversityofScienceandTechnology新建工程led_control_xxx新建工程添加文件(led.h、led.cpp)正大气象厚德载物MinnanUniversityofScienceandTechnology设计界面和编程程序正大气象厚德载物MinnanUniversityofScienceandTechnology设计界面和编程程序修改代码(1)widget.h#ifndefWIDGET_H#defineWIDGET_H

#include<QWidget>

namespaceUi{classWidget;}

classWidget:publicQWidget{Q_OBJECT

public:explicitWidget(QWidget*parent=0);~Widget();

private:intnum1;intnum2;intnum3;intnum4;

privateslots:voiddeal_led1();voiddeal_led2();voiddeal_led3();voiddeal_led4();private:Ui::Widget*ui;};

#endif//WIDGET_H正大气象厚德载物MinnanUniversityofScienceandTechnology设计界面和编程程序修改代码(2)widget.cpp#include"widget.h"#include"ui_widget.h"#include"led.h"#include<QPushButton>Widget::Widget(QWidget*parent):QWidget(parent),ui(newUi::Widget){ui->setupUi(this);

num1=0;num2=0;num3=0;num4=0;connect(ui->btn_led1,SIGNAL(clicked(bool)),this,SLOT(deal_led1()));connect(ui->btn_led2,&QPushButton::clicked,this,&Widget::deal_led2);connect(ui->btn_led3,&QPushButton::clicked,this,&Widget::deal_led3);connect(ui->btn_led4,&QPushButton::clicked,this,&Widget::deal_led4);

}

正大气象厚德载物MinnanUniversityofScienceandTechnology设计界面和编程程序修改代码

voidWidget::deal_led1(){num1+=1;if(num1%2==1){ledOn(1);}else{ledOFF(1);}if(num1==2){num1=0;}}Widget::~Widget(){deleteui;}正大气象厚德载物MinnanUniversityofScienceandTechnology设计界面和编程程序2.补充代码

voidWidget::deal_led2(){}voidWidget::deal_led3(){}voidWidget::deal_led4(){}正大气象厚德载物MinnanUniversityofScienceandTechnology1.Ubuntu编译下载Source命令让当前终端临时有效。进入工程所在的目录正大气象厚德载物MinnanUniversityofScienceandTechnology1.Ubuntu编译下载Source命令让当前终端临时有效。进入工程所在的目录正大气象厚德载物MinnanUniversityofScienceandTechnology2.SecureCRT编译下载进入工程所在的目录正大气象厚德载物MinnanUniversityofScienceandTechnology2.SecureCRT编译下载进入工程所在的目录正大气象厚德载物MinnanUniversityofScienceandTechnology2.SecureCRT编译下载第一次执行要改权限可改为777,chmod777xxx嵌入式系统原理与应用第九章嵌入式项目实践---语音识别多媒体系统设计正大气象厚德载物MinnanUniversityofScienceandTechnology嵌入式项目实践CONTENTS01.系统功能要求02.部分硬件设计电路03.系统程序设计04.结果显示正大气象厚德载物MinnanUniversityofScienceandTechnology01PARTONE系统功能要求正大气象厚德载物MinnanUniversityofScienceandTechnology正大气象厚德载物MinnanUniversityofScienceandTechnology近年来,人工智能领域迎来显著突破,尤其是生成式人工智能(GenAI)的迅速崛起,广泛应用于业务职能中,并受到企业高管的高度关注。同时,OpenAI开发的ChatGPT成为全球焦点,其能力的大幅提升标志着AI技术的重要飞跃。此外,AI在医疗、教育、交通等多个领域产生深远影响,开源AI的发展和许可辩论也成为热议话题,特别是近年来人工智能产业蓬勃发展,正在成为新一轮技术产业变革的重要力量。大到智能机器人,小到掌上设备,各式各样的人工智能产品不断亮相,与人的互动方式也在不断创新。项目前景正大气象厚德载物MinnanUniversityofScienceandTechnology该项目需要使用到的技术主要包括Linux操作系统相关知识,人工智能相关知识,网络通信相关知识,文件IO相关知识,语音识别API的使用。通过该项目,学生将会对人工智能、语音识别的原理有较为基础的了解。需要完成的具体功能包含以下四个方面,电子相册、音乐播放器、视频播放器、语音识别控制。项目介绍正大气象厚德载物MinnanUniversityofScienceandTechnology采用GEC6818物联网综合实验箱,实现语音识别的多媒体系统设计,以s5p6818为核心,通过触摸实现图片的切换、音乐播放、视频播放机语音识别控制以及结合物联网云。本课题设计需要完成的基础功能包含以下几个方面。1、电子相册,采用触摸方式实现图片的切换;2、音乐播放器,采用触摸方式实现音乐的切换;3、视频播放器,采用触摸方式实现视频的切换;4、语音识别控制,能够实现录音、识别。5、实现客户端与服务器功能,将语音识别功能放在服务端,根据识别结果控制开发板。系统功能需求正大气象厚德载物MinnanUniversityofScienceandTechnology扩展功能:1、上传语音识别服务端到阿里云服务器,实现外网访问服务器解析语音信号并控制开发板。2、驱动应用,实现上位机监测与控制AMR端设备。系统功能需求02PARTTWO部分硬件设计电路正大气象厚德载物MinnanUniversityofScienceandTechnology正大气象厚德载物MinnanUniversityofScienceandTechnology显示模块使用液晶显示器(LCD)是以液晶为基本材料的显示组件。其通过控制液晶分子两端的电压来控制液晶分子的转动方向,继而控制每个像索点偏振光投射度而达到显示的目的。目前常称的LCM(LCDModule)即为LCD模组,其包含了LCD、控制驱动芯片、PCB板、背光源、结构件以及连接器等诸多部件装配在一起的组件。

显示模块电路如图9.2所示。1.显示模块正大气象厚德载物MinnanUniversityofScienceandTechnology录音模块使用板载麦克风,同时支持3.5mm耳机接人,其电路如图9.3所示。该音模块通过引脚和1GEC6818进行连接。在检测到屏幕被点击之后进行录音。2.录音模块正大气象厚德载物MinnanUniversityofScienceandTechnology音频播放需要使用外接耳机,接人核心板上的3.5mm输出接口(绿色),其电路如图9.4所示。当系统接收到aplay命令后,则播放选择的音频。3.播放模块03PARTTHREE系统程序设计正大气象厚德载物MinnanUniversityofScienceandTechnology正大气象厚德载物MinnanUniversityofScienceandTechnology首先从服务器端开始,进行离线语音识别初始化和socket初始化。然后判断是否连接成功,如果是的话,则接收文件并进行语音识别,最后发送结果。如果不是,则需要重新尝试连接或处理其他错误情况。客户端也进行了类似的操作,包括触摸屏初始化、socket初始化以及接收触屏指令等步骤。整个系统通过这种方式实现了语音命令到设备动作的转换。1.主程序设计正大气象厚德载物MinnanUniversityofScienceandTechnology1)、BMP图片介绍2.图片显示BMP:它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP文件所占用的空间很大。BMP文件的图像深度可选lbit、4bit、8bit及24bit。BMP文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。BMP文件组成:BMP文件由文件头、位图信息头、颜色信息和图形数据四部分组成。BMP文件头(14字节):BMP文件头数据结构含有BMP文件的类型、文件大小和位图起始位置等信息。位图信息头(40字节):BMP位图信息头数据用于说明位图的尺寸等信息。2)、BMP图片在Linux中,-切皆文件,LCD显示屏对应的设备文件为/dev/fb0。如果想让LCD显示屏显示颜色,就是把颜色写人到LCD显示屏对应的设备文件中,查看LCD设备文件相关信息。正大气象厚德载物MinnanUniversityofScienceandTechnology3)、代码示例2.图片显示正大气象厚德载物MinnanUniversityofScienceandTechnology1)、触摸屏应用接口3.触摸屏使用连接操作系统的输入设备,可不止一种,也许是一个标准PS/2键盘,也许是一个USB鼠标,或者是一块触摸屏,甚至是一个游戏机摇杆,Linux在处理这些纷繁各异的输入设备的时候,采用的办法还是找中间层来屏蔽各种细节,请看下图:正大气象厚德载物MinnanUniversityofScienceandTechnology2)、触摸屏原理分析3.触摸屏使用1,输入设备驱动层每一种设备都有其特定的驱动程序,他们被妥当地装载到操作系统的设备模型框架内,封装硬件所提供的功能,向上提供规定的接口。2,核心层此处将收集由设备驱动层发来的数据,整合之后触发某一事件。3,事件触发层这一层是我们需要关注的,我们可以通过在用户空间读取相应设备的节点文件来获知某设备的某一个动作。在最靠近应用程序的事件触发层上,内核所获知的各类输入事件,比如键盘被按了一下,触摸屏被滑了一下等,都将被统一封装在一个叫做input_event的结构体当中正大气象厚德载物MinnanUniversityofScienceandTechnology3)、示例代码3.触摸屏使用正大气象厚德载物MinnanUniversityofScienceandTechnology4.音乐播放

在开发板中播放音乐,可直接使用开发板中的madplay进行播放

1、播放

madplay1.mp3//播放歌曲1.mp3

2、暂停 killall-SIGSTOPmadplay

3、继续 killall-SIGCONTmadplay

4、退出 killall-SIGKILLmadplay

在代码中实现以上命令时,可调用system()函数完成,如: 播放:system("madplay1.mp3&"); 暂停:system("killall-SIGSTOPmadplay") 继续:system("killall-SIGCONTmadplay")正大气象厚德载物MinnanUniversityofScienceandTechnology5.语音识别

官网:(讯飞开发平台) /一、下载离线SDK1、先进行注册或者登陆2、登录科大讯飞官方网站注册账号,转到语音识别---下载sdk文件如下(有效期1个月)。正大气象厚德载物MinnanUniversityofScienceandTechnology5.语音识别3、创建应用。正大气象厚德载物MinnanUniversityofScienceandTechnology5.语音识别4、下载SDK正大气象厚德载物MinnanUniversityofScienceandTechnology5.语音识别5、分析源码1)、将下载到的源码压缩包Linux_aitalk_exp1227_3f928ba4.zip进行解压,解压到Linux_aitalk_exp1227_3f928ba4文件夹。进入此文件夹。找到README.txt文件,尝试看看工程文件的作用。正大气象厚德载物MinnanUniversityofScienceandTechnology5.语音识别5、分析源码2)、进入sample/asr_offline_sampleasr_soffline_ample是离线识别的示例代码,相关文件如下:正大气象厚德载物MinnanUniversityofScienceandTechnology5.语音识别5、分析源码(1)64bit_make.sh64bit_make.sh是64位的执行文件shell文件,功能是编译asr_offline_sample.c文件,输入命令(./64bit_make.sh)可以得到asr_offline_sample.c的可执行文件,可执行文件在bin目录中,名为asr_offline_sample。正大气象厚德载物MinnanUniversityofScienceandTechnology5.语音识别5、分析源码(1)64bit_make.sh直接运行./asr_offline_sample,会出现缺少动态库。动态库在x64中,将libs/x64/libmsc.so复制到/lib中(加上sudo)。正大气象厚德载物MinnanUniversityofScienceandTechnology5.语音识别5、分析源码(2)call.bnfbin中call.bnf是识别的语法文件,能识别打开!,id=1;播放,id=2,

。#BNF+IAT1.0UTF-8;!grammarcall;!slot<want>;!slot<dialpre>;!slot<dialsuf>;!slot<contact>;!start<callstart>;<callstart>:<dial>;<dial>:<dialpre><contact>;<dialpre>:打开!id(10001)|播放!id(10001);<contact>:相册|音乐|视频;正大气象厚德载物MinnanUniversityofScienceandTechnology5.语音识别5、分析源码(3)分析asr_offline_sample.c①获取需要识别的语音文件get_audio_file()constchar*get_audio_file(void){ recv_file(); return"abc.wav";//识别的文件}②进行离线语法识别run_asr(UserData*udata);识别结果在r

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论