《嵌入式系統(tǒng)原理及應用》 課件 第8章 Qt編程;第9章 嵌入式項目實踐_第1頁
《嵌入式系統(tǒng)原理及應用》 課件 第8章 Qt編程;第9章 嵌入式項目實踐_第2頁
《嵌入式系統(tǒng)原理及應用》 課件 第8章 Qt編程;第9章 嵌入式項目實踐_第3頁
《嵌入式系統(tǒng)原理及應用》 課件 第8章 Qt編程;第9章 嵌入式項目實踐_第4頁
《嵌入式系統(tǒng)原理及應用》 課件 第8章 Qt編程;第9章 嵌入式項目實踐_第5頁
已閱讀5頁,還剩64頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

嵌入式系統(tǒng)原理與應用第八章Qt圖形編程正大氣象厚德載物MinnanUniversityofScienceandTechnologyQt圖形編程CONTENTS01.Qt簡介02.Qt安裝03.工程的創(chuàng)建正大氣象厚德載物MinnanUniversityofScienceandTechnology04.設計Qt界面實現(xiàn)LED燈控制01PARTONEQt簡介正大氣象厚德載物MinnanUniversityofScienceandTechnologyQt的簡介正大氣象厚德載物MinnanUniversityofScienceandTechnologyQt是跨平臺的開發(fā)庫,主要是開發(fā)圖形用戶界面(GraphicalUserInterface,GUI)應用程序Qt支持眾多的操作系統(tǒng)平臺,如通用操作系統(tǒng)Windows、Linux、Unix,智能手機系統(tǒng)Android、iOS、WindowsPhone,嵌入式系統(tǒng)QNX、VxWorks等,應用廣泛??缙脚_意味著只需編寫一次程序,在不同平臺上無需改動或只需少許改動后再編譯,就可以形成在不同平臺上運行的版本,這種跨平臺功能為開發(fā)者提供了極大便利。Qt最早是1991年由挪威的EirikChambe-Eng和HaavardNord開發(fā)的,于1994年正式成立奇趣科技公司(Trolltech)。Qt原本是商業(yè)授權的跨平臺開發(fā)庫,在2000年奇趣科技公司為開源社區(qū)發(fā)布了遵循GPL(GNUGeneralPublicLicense)許可證的開源版本。02PARTTWOQt的安裝正大氣象厚德載物MinnanUniversityofScienceandTechnology正大氣象厚德載物MinnanUniversityofScienceandTechnology兩種方式安裝:(1)在線安裝sudoapt-getinstallqt5-defaultsudoapt-getinstallqtcreator(2)下載鏡像文件安裝/CodeJolt/article/details/132649354Qt的安裝03PARTTHERE工程的創(chuàng)建正大氣象厚德載物MinnanUniversityofScienceandTechnology正大氣象厚德載物MinnanUniversityofScienceandTechnology§1創(chuàng)建第一個QT程序----創(chuàng)建工程工程的創(chuàng)建正大氣象厚德載物MinnanUniversityofScienceandTechnology§1創(chuàng)建第一個QT程序----創(chuàng)建工程工程的創(chuàng)建正大氣象厚德載物MinnanUniversityofScienceandTechnology§1創(chuàng)建第一個QT程序----創(chuàng)建工程工程的創(chuàng)建正大氣象厚德載物MinnanUniversityofScienceandTechnology§1創(chuàng)建第一個QT程序----創(chuàng)建工程工程的創(chuàng)建正大氣象厚德載物MinnanUniversityofScienceandTechnology§1創(chuàng)建第一個QT程序----創(chuàng)建工程工程的創(chuàng)建正大氣象厚德載物MinnanUniversityofScienceandTechnology§1創(chuàng)建第一個QT程序----創(chuàng)建工程工程的創(chuàng)建正大氣象厚德載物MinnanUniversityofScienceandTechnology§1創(chuàng)建第一個QT程序----創(chuàng)建工程工程的創(chuàng)建正大氣象厚德載物MinnanUniversityofScienceandTechnology§1創(chuàng)建第一個QT程序----創(chuàng)建工程工程的創(chuàng)建正大氣象厚德載物MinnanUniversityofScienceandTechnology§1創(chuàng)建第一個QT程序---編寫程序工程的創(chuàng)建正大氣象厚德載物MinnanUniversityofScienceandTechnology§1創(chuàng)建第一個QT程序---編寫程序工程的創(chuàng)建正大氣象厚德載物MinnanUniversityofScienceandTechnology§1創(chuàng)建第一個QT程序---編寫程序工程的創(chuàng)建正大氣象厚德載物MinnanUniversityofScienceandTechnology§1創(chuàng)建第一個QT程序---編寫程序工程的創(chuàng)建正大氣象厚德載物MinnanUniversityofScienceandTechnology§1創(chuàng)建第一個QT程序---編寫程序工程的創(chuàng)建正大氣象厚德載物MinnanUniversityofScienceandTechnology1、Qt安裝2、創(chuàng)建工程、編寫程序?qū)崿F(xiàn)工程思政:在設計界面的時候,通過分析評估手機簡化的設計,減少用戶操作的復雜度和操作步驟,好的產(chǎn)品不僅需要精湛的專業(yè)知識,好的設計還要體現(xiàn)產(chǎn)品設計者的理念。我們應該樹立正確的產(chǎn)品觀,價值觀和企業(yè)發(fā)展觀,提升自身的創(chuàng)新創(chuàng)業(yè)能力,培養(yǎng)擔當意識和家國情懷。

總結與作業(yè)04PARTFOUR設計Qt界面實現(xiàn)LED燈控制正大氣象厚德載物MinnanUniversityofScienceandTechnology正大氣象厚德載物MinnanUniversityofScienceandTechnology新建工程添加文件(led.h、led.cpp)設計界面和編程程序編譯下載總結Qt界面實現(xiàn)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編譯下載第一次執(zhí)行要改權限可改為777,chmod777xxx嵌入式系統(tǒng)原理與應用第九章嵌入式項目實踐---語音識別多媒體系統(tǒng)設計正大氣象厚德載物MinnanUniversityofScienceandTechnology嵌入式項目實踐CONTENTS01.系統(tǒng)功能要求02.部分硬件設計電路03.系統(tǒng)程序設計04.結果顯示正大氣象厚德載物MinnanUniversityofScienceandTechnology01PARTONE系統(tǒng)功能要求正大氣象厚德載物MinnanUniversityofScienceandTechnology正大氣象厚德載物MinnanUniversityofScienceandTechnology近年來,人工智能領域迎來顯著突破,尤其是生成式人工智能(GenAI)的迅速崛起,廣泛應用于業(yè)務職能中,并受到企業(yè)高管的高度關注。同時,OpenAI開發(fā)的ChatGPT成為全球焦點,其能力的大幅提升標志著AI技術的重要飛躍。此外,AI在醫(yī)療、教育、交通等多個領域產(chǎn)生深遠影響,開源AI的發(fā)展和許可辯論也成為熱議話題,特別是近年來人工智能產(chǎn)業(yè)蓬勃發(fā)展,正在成為新一輪技術產(chǎn)業(yè)變革的重要力量。大到智能機器人,小到掌上設備,各式各樣的人工智能產(chǎn)品不斷亮相,與人的互動方式也在不斷創(chuàng)新。項目前景正大氣象厚德載物MinnanUniversityofScienceandTechnology該項目需要使用到的技術主要包括Linux操作系統(tǒng)相關知識,人工智能相關知識,網(wǎng)絡通信相關知識,文件IO相關知識,語音識別API的使用。通過該項目,學生將會對人工智能、語音識別的原理有較為基礎的了解。需要完成的具體功能包含以下四個方面,電子相冊、音樂播放器、視頻播放器、語音識別控制。項目介紹正大氣象厚德載物MinnanUniversityofScienceandTechnology采用GEC6818物聯(lián)網(wǎng)綜合實驗箱,實現(xiàn)語音識別的多媒體系統(tǒng)設計,以s5p6818為核心,通過觸摸實現(xiàn)圖片的切換、音樂播放、視頻播放機語音識別控制以及結合物聯(lián)網(wǎng)云。本課題設計需要完成的基礎功能包含以下幾個方面。1、電子相冊,采用觸摸方式實現(xiàn)圖片的切換;2、音樂播放器,采用觸摸方式實現(xiàn)音樂的切換;3、視頻播放器,采用觸摸方式實現(xiàn)視頻的切換;4、語音識別控制,能夠?qū)崿F(xiàn)錄音、識別。5、實現(xiàn)客戶端與服務器功能,將語音識別功能放在服務端,根據(jù)識別結果控制開發(fā)板。系統(tǒng)功能需求正大氣象厚德載物MinnanUniversityofScienceandTechnology擴展功能:1、上傳語音識別服務端到阿里云服務器,實現(xiàn)外網(wǎng)訪問服務器解析語音信號并控制開發(fā)板。2、驅(qū)動應用,實現(xiàn)上位機監(jiān)測與控制AMR端設備。系統(tǒng)功能需求02PARTTWO部分硬件設計電路正大氣象厚德載物MinnanUniversityofScienceandTechnology正大氣象厚德載物MinnanUniversityofScienceandTechnology顯示模塊使用液晶顯示器(LCD)是以液晶為基本材料的顯示組件。其通過控制液晶分子兩端的電壓來控制液晶分子的轉(zhuǎn)動方向,繼而控制每個像索點偏振光投射度而達到顯示的目的。目前常稱的LCM(LCDModule)即為LCD模組,其包含了LCD、控制驅(qū)動芯片、PCB板、背光源、結構件以及連接器等諸多部件裝配在一起的組件。

顯示模塊電路如圖9.2所示。1.顯示模塊正大氣象厚德載物MinnanUniversityofScienceandTechnology錄音模塊使用板載麥克風,同時支持3.5mm耳機接人,其電路如圖9.3所示。該音模塊通過引腳和1GEC6818進行連接。在檢測到屏幕被點擊之后進行錄音。2.錄音模塊正大氣象厚德載物MinnanUniversityofScienceandTechnology音頻播放需要使用外接耳機,接人核心板上的3.5mm輸出接口(綠色),其電路如圖9.4所示。當系統(tǒng)接收到aplay命令后,則播放選擇的音頻。3.播放模塊03PARTTHREE系統(tǒng)程序設計正大氣象厚德載物MinnanUniversityofScienceandTechnology正大氣象厚德載物MinnanUniversityofScienceandTechnology首先從服務器端開始,進行離線語音識別初始化和socket初始化。然后判斷是否連接成功,如果是的話,則接收文件并進行語音識別,最后發(fā)送結果。如果不是,則需要重新嘗試連接或處理其他錯誤情況。客戶端也進行了類似的操作,包括觸摸屏初始化、socket初始化以及接收觸屏指令等步驟。整個系統(tǒng)通過這種方式實現(xiàn)了語音命令到設備動作的轉(zhuǎn)換。1.主程序設計正大氣象厚德載物MinnanUniversityofScienceandTechnology1)、BMP圖片介紹2.圖片顯示BMP:它采用位映射存儲格式,除了圖像深度可選以外,不采用其他任何壓縮,因此,BMP文件所占用的空間很大。BMP文件的圖像深度可選lbit、4bit、8bit及24bit。BMP文件存儲數(shù)據(jù)時,圖像的掃描方式是按從左到右、從下到上的順序。BMP文件組成:BMP文件由文件頭、位圖信息頭、顏色信息和圖形數(shù)據(jù)四部分組成。BMP文件頭(14字節(jié)):BMP文件頭數(shù)據(jù)結構含有BMP文件的類型、文件大小和位圖起始位置等信息。位圖信息頭(40字節(jié)):BMP位圖信息頭數(shù)據(jù)用于說明位圖的尺寸等信息。2)、BMP圖片在Linux中,-切皆文件,LCD顯示屏對應的設備文件為/dev/fb0。如果想讓LCD顯示屏顯示顏色,就是把顏色寫人到LCD顯示屏對應的設備文件中,查看LCD設備文件相關信息。正大氣象厚德載物MinnanUniversityofScienceandTechnology3)、代碼示例2.圖片顯示正大氣象厚德載物MinnanUniversityofScienceandTechnology1)、觸摸屏應用接口3.觸摸屏使用連接操作系統(tǒng)的輸入設備,可不止一種,也許是一個標準PS/2鍵盤,也許是一個USB鼠標,或者是一塊觸摸屏,甚至是一個游戲機搖桿,Linux在處理這些紛繁各異的輸入設備的時候,采用的辦法還是找中間層來屏蔽各種細節(jié),請看下圖:正大氣象厚德載物MinnanUniversityofScienceandTechnology2)、觸摸屏原理分析3.觸摸屏使用1,輸入設備驅(qū)動層每一種設備都有其特定的驅(qū)動程序,他們被妥當?shù)匮b載到操作系統(tǒng)的設備模型框架內(nèi),封裝硬件所提供的功能,向上提供規(guī)定的接口。2,核心層此處將收集由設備驅(qū)動層發(fā)來的數(shù)據(jù),整合之后觸發(fā)某一事件。3,事件觸發(fā)層這一層是我們需要關注的,我們可以通過在用戶空間讀取相應設備的節(jié)點文件來獲知某設備的某一個動作。在最靠近應用程序的事件觸發(fā)層上,內(nèi)核所獲知的各類輸入事件,比如鍵盤被按了一下,觸摸屏被滑了一下等,都將被統(tǒng)一封裝在一個叫做input_event的結構體當中正大氣象厚德載物MinnanUniversityofScienceandTechnology3)、示例代碼3.觸摸屏使用正大氣象厚德載物MinnanUniversityofScienceandTechnology4.音樂播放

在開發(fā)板中播放音樂,可直接使用開發(fā)板中的madplay進行播放

1、播放

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

2、暫停 killall-SIGSTOPmadplay

3、繼續(xù) killall-SIGCONTmadplay

4、退出 killall-SIGKILLmadplay

在代碼中實現(xiàn)以上命令時,可調(diào)用system()函數(shù)完成,如: 播放:system("madplay1.mp3&"); 暫停:system("killall-SIGSTOPmadplay") 繼續(xù):system("killall-SIGCONTmadplay")正大氣象厚德載物MinnanUniversityofScienceandTechnology5.語音識別

官網(wǎng):(訊飛開發(fā)平臺) /一、下載離線SDK1、先進行注冊或者登陸2、登錄科大訊飛官方網(wǎng)站注冊賬號,轉(zhuǎn)到語音識別---下載sdk文件如下(有效期1個月)。正大氣象厚德載物MinnanUniversityofScienceandTechnology5.語音識別3、創(chuàng)建應用。正大氣象厚德載物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位的執(zhí)行文件shell文件,功能是編譯asr_offline_sample.c文件,輸入命令(./64bit_make.sh)可以得到asr_offline_sample.c的可執(zhí)行文件,可執(zhí)行文件在bin目錄中,名為asr_offline_sample。正大氣象厚德載物MinnanUniversityofScienceandTechnology5.語音識別5、分析源碼(1)64bit_make.sh直接運行./asr_offline_sample,會出現(xiàn)缺少動態(tài)庫。動態(tài)庫在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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論