RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于嵌入式Linux和Qt編程實(shí)現(xiàn)數(shù)碼相框的設(shè)計(jì)

電子設(shè)計(jì) ? 來源:山西電子技術(shù) ? 作者:王莉莉 ? 2020-03-05 08:05 ? 次閱讀

當(dāng)膠卷退出我們普通人的生活之后,拍攝-沖洗膠卷-擴(kuò)印照片的經(jīng)典流程也漸漸從我們身邊消失。取而代之的是,大量的數(shù)碼相機(jī)用戶群和種類繁多的各種存儲介質(zhì)。數(shù)碼相框則是目前回放這些照片的最好途徑,作為瀏覽數(shù)字照片的核心產(chǎn)品,數(shù)碼相框正迎合了消費(fèi)者的需求。

1、 系統(tǒng)需求分析

許多人不明白數(shù)碼相框的魅力到底在哪里。時(shí)下拍攝的數(shù)碼相片開始呈現(xiàn)出了幾何級數(shù)的增長,要想再把這些相片都沖印出來回味、欣賞,浪費(fèi)大量金錢不說,傳統(tǒng)的相框、相冊也無法再承擔(dān)起保存的重任。數(shù)碼相框?qū)氐捉夥拍切┓e壓下來的數(shù)碼相片,讓你人生中值得記憶的每一個(gè)瞬間從此不再被埋沒在硬盤里面。數(shù)碼相框可以用來美化家居,構(gòu)造精致生活享受。分享快樂、展示成功;帶給父母,緩解思念;或者帶入辦公室,消解工作壓力。

而和傳統(tǒng)的相框相比,數(shù)碼相框也具備了很多的優(yōu)勢。數(shù)碼相框采用了普通相框的外形,而且更為精致,用液晶顯示屏來顯示照片,配上電源、存儲介質(zhì)等,使多張相片能夠在顯示屏上循環(huán)播放,有的數(shù)碼相框還增加了MP3和MP4等多媒體娛樂功能,比普通相框的單一功能更有優(yōu)勢。

作為消費(fèi)類電子產(chǎn)品,數(shù)碼相框必須考慮以下幾個(gè)方面的功能:

1)用戶界面及接口友好,操作簡便。作為一個(gè)消費(fèi)類電子產(chǎn)品,它的客戶是多樣化的,其中大部分都是非專業(yè)化的,甚至是老人或者是小孩,操作是否人性化、簡潔化,成為能否讓用戶迅速接受產(chǎn)品的重要因素。

2)系統(tǒng)兼容性強(qiáng),數(shù)碼相框應(yīng)該能夠識別和處理當(dāng)前數(shù)碼相機(jī)拍攝圖像格式,能夠訪問主流的半導(dǎo)體存儲外設(shè)。

3)存儲可靠,作為存儲設(shè)備,必須通過嚴(yán)格的功能測試,以保證用戶在使用過程中不丟失信息。

鑒于此,數(shù)碼相框產(chǎn)品的主要功能應(yīng)包括以下方面:

1)支持主流半導(dǎo)體存儲卡,能從中讀取圖像文件。

2)在LCD屏中全屏循環(huán)顯示多幅圖像文件,支持各種主流格式。

3)顯示時(shí)間和日期

4)可通過按鈕或觸摸屏進(jìn)行操作。

2 、系統(tǒng)總體設(shè)計(jì)

基于Linux下使用Qt編寫的數(shù)碼相框架構(gòu)設(shè)計(jì)方案通過使用純C++語言開發(fā)來支持嵌入式Linux系統(tǒng),采用Qt/Eembedded作為GUI來提供強(qiáng)大的用戶界面,設(shè)計(jì)位于Linux用戶空間的目的是為了系統(tǒng)移植性。

本項(xiàng)目的系統(tǒng)架構(gòu)由以下幾個(gè)層次組成:

1)底層硬件。本設(shè)計(jì)采用凌陽的A8實(shí)驗(yàn)箱為三星S5PV210。

2)驅(qū)動程序

3)操作系統(tǒng)。一臺裝有Ubuntu系統(tǒng)或裝有Ubuntu虛擬機(jī)的PC機(jī)。

4)Qt應(yīng)用程序

本項(xiàng)目所設(shè)計(jì)的數(shù)碼相框主要采用Qt為主的程序設(shè)計(jì)方案,配合A8實(shí)驗(yàn)箱就做成了一款數(shù)碼相框。數(shù)碼相框在初始化時(shí)會掃描指定目錄下的所有支持的圖片文件,用戶可以通過按鈕實(shí)現(xiàn)前翻或者后翻,并且可以進(jìn)行放大和縮小的操作。

3、 實(shí)現(xiàn)數(shù)碼相框項(xiàng)目流程

首先搭建系統(tǒng),其中包括PC平臺Linux虛擬機(jī)環(huán)境建立、ARM平臺Linux系統(tǒng)搭建。使用Qt編程實(shí)現(xiàn)。常見的Qt應(yīng)用程序的開發(fā)有兩種方式:

第一種使用文本編輯器編寫C++代碼,然后在命令行下生成工程并編譯;

第二種使用QtCreator編寫C++代碼,并為Qt Creator安裝Qt Embedded SDK,然后利用Qt Creator編譯程序。由于Qt Creator具有良好的可視化操作界面,同時(shí)它包含了一個(gè)功能非常強(qiáng)大的C++代碼編輯器,所以第二種方法是我們的首選。

1)在Qt中,點(diǎn)擊菜單欄File/New File or Project,新建文件類型為Qt C++Project/Qt Gui Application。在接下來的Qt Gui Applic ation對話框中輸入工程名稱QtImage和保存路徑。

所創(chuàng)建的數(shù)碼相冊項(xiàng)目工程如圖1所示。

以下是數(shù)碼相框的主程序,主要實(shí)現(xiàn)的功能是在界面上顯示widget控件。

Ui顯示界面如圖2所示。

通過點(diǎn)擊左上角的縮小控制按鈕,圖片顯示如圖3所示。

通過點(diǎn)擊左上角的翻頁控制按鈕,顯示下一個(gè)圖片如圖4所示。

2)實(shí)驗(yàn)箱平臺顯示

通常的嵌入式系統(tǒng)的軟件開發(fā)采用交叉編譯調(diào)試的方式。交叉編譯調(diào)試環(huán)境建立在宿主機(jī)上,對應(yīng)的開發(fā)板成為目標(biāo)板,本項(xiàng)目使用為凌陽的A8實(shí)驗(yàn)箱為三星S5PV210,其為ARM A8架構(gòu)的處理器。GNU編譯器提供這樣的功能,在編譯器編譯時(shí)可以選擇開發(fā)所需的宿主機(jī)和目標(biāo)機(jī)從而建立開發(fā)環(huán)境。所以在進(jìn)行嵌入式開發(fā)前第一步的工作就是要安裝一臺裝有指定操作系統(tǒng)的PC機(jī)作宿主開發(fā)機(jī)。嵌入式開發(fā)通常要求宿主機(jī)配置有網(wǎng)絡(luò),支持NFS(為交叉開發(fā)時(shí)mount所用)。然后要在宿主機(jī)上建立交叉編譯調(diào)試的開發(fā)環(huán)境。

接下來編譯用于實(shí)驗(yàn)箱運(yùn)行的Qt應(yīng)用程序,首先將實(shí)驗(yàn)箱的串口和網(wǎng)線連接到PC機(jī)。

執(zhí)行Qt Creator的Build/Clean All,清理之前生產(chǎn)的編譯文件,防止編譯嵌入式版本的程序出錯(cuò)。單擊左下角所示的圖標(biāo),會彈出編譯選擇框。點(diǎn)擊“Build”右側(cè)的下拉列表,在彈出的四種編譯類型中,選擇“Qt for A8 Release”。點(diǎn)擊“Build AIl”按鈕,即可開始編譯實(shí)驗(yàn)箱運(yùn)行的版本,直到編譯選擇按鈕上方的進(jìn)度條變成綠色,即表示編譯完成。并在工程的保存目錄下,可以找到一個(gè)名為“QtImage-build-desktop”的文件夾,如圖5所示。編譯生成的可執(zhí)行程序即在此文件夾中。

將QtImage-build-desktop文件夾中的QtImage文件復(fù)制到Windows下,并按照前述中下載程序的方法,將QtImage下載到實(shí)驗(yàn)箱;在超級終端中,利用chmod 777 QtImage為QtImage添加可執(zhí)行權(quán)限,并運(yùn)行它。操作如圖6所示。

在實(shí)驗(yàn)箱上使用觸摸屏即可對應(yīng)用程序進(jìn)行操作。

4、 結(jié)束語

隨著嵌入式系統(tǒng)的飛速發(fā)展,其應(yīng)用已經(jīng)滲透到人們生活的每一個(gè)領(lǐng)域。大到軍事領(lǐng)域,小到小朋友的玩具,它正在以不同的形式悄悄地改變著人們的生產(chǎn)、生活方式。已經(jīng)成為當(dāng)今計(jì)算機(jī)領(lǐng)域的一個(gè)熱點(diǎn),因此開發(fā)和探討嵌入式系統(tǒng)有著十分重要的意義。

責(zé)任編輯:gt


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5082

    文章

    19104

    瀏覽量

    304796
  • 三星電子
    +關(guān)注

    關(guān)注

    34

    文章

    15859

    瀏覽量

    180984
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11292

    瀏覽量

    209323
收藏 人收藏

    評論

    相關(guān)推薦

    亞嵌校園講座系列—嵌入式技術(shù)與數(shù)碼相框知識專題

    武漢理工大學(xué)華夏學(xué)院信息工程學(xué)院的邀請,于2010年4月14日18:30-20:00在武漢理工大學(xué)華夏學(xué)院5號教學(xué)樓211多媒體教室, 舉辦嵌入式Linux技術(shù)普及講座,主講內(nèi)容是:嵌入式技術(shù)與
    發(fā)表于 04-12 10:10

    【Aworks申請】數(shù)碼相框

    申請理由:想學(xué)習(xí)飛思卡爾芯片,利用ARM9平臺學(xué)到32位MCU的編程技巧,同時(shí)實(shí)踐課堂上學(xué)習(xí)的Linux系統(tǒng)編程QT編程,將其運(yùn)用在
    發(fā)表于 07-14 14:50

    嵌入式數(shù)碼相框怎么實(shí)現(xiàn)?

    本文介紹了匯聚處理器Blackfin的基本功能,給出了以Blackfin為嵌入式系統(tǒng)硬件平臺,并采用uClinux操作系統(tǒng)和其中集成的大量硬件驅(qū)動程序來設(shè)計(jì)具有互聯(lián)網(wǎng)WiFi無線連接、電子郵件發(fā)送、RSS新聞閱讀、即時(shí)照片分享、全觸摸操作等功能的
    發(fā)表于 08-19 06:50

    嵌入式網(wǎng)絡(luò)編程+嵌入式Linux系統(tǒng)

    D2.25嵌入式網(wǎng)絡(luò)編程+嵌入式Linux系統(tǒng)一、Linux操作系統(tǒng)安裝與使用(命令)二、Linux
    發(fā)表于 12-22 07:10

    基于Qt嵌入式Linux通訊簿程序設(shè)計(jì)

      摘 要: 隨著嵌入式系統(tǒng)的發(fā)展,在Linux 下使用Qt 開發(fā)嵌入式應(yīng)用程序是嵌入式圖形用戶界面( GUI) 系統(tǒng)應(yīng)用研究的重點(diǎn)。通過一
    發(fā)表于 11-23 11:31 ?3601次閱讀

    嵌入式linux GUI-Qt解析

    隨著linux系統(tǒng)及基于linux系統(tǒng)的嵌入式產(chǎn)品的蓬勃發(fā)展,Qt、Qt/Embedded、Qtopia的字樣越來頻繁的出現(xiàn)在我們面前。在華
    發(fā)表于 11-01 16:53 ?1次下載

    嵌入式linux應(yīng)用開發(fā)之QT

    隨著linux系統(tǒng)及基于linux系統(tǒng)的嵌入式產(chǎn)品的蓬勃發(fā)展,QtQt/Embedded、Qtopia的字樣越來頻繁的出現(xiàn)在我們面前。
    發(fā)表于 11-06 14:05 ?4次下載

    嵌入式LINUXQt開發(fā)入門教程

    嵌入式LINUXQt開發(fā)入門教程(最好的嵌入式開發(fā)板)-該文檔為嵌入式LINUX
    發(fā)表于 08-04 11:01 ?30次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>LINUX</b>的<b class='flag-5'>Qt</b>開發(fā)入門教程

    嵌入式linux安裝qt

    嵌入式linux部署qt幾個(gè)疑問在windows系統(tǒng)里編好的QT程序,經(jīng)過交叉編譯后能直接運(yùn)行在板子上嗎?還是板子需要弄個(gè)QT環(huán)境啥的?就是
    發(fā)表于 10-20 18:06 ?6次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>linux</b>安裝<b class='flag-5'>qt</b>

    嵌入式LinuxQt

    嵌入式LinuxQt嵌入式LinuxQt配置特定設(shè)備嵌入
    發(fā)表于 11-01 17:06 ?3次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>的<b class='flag-5'>Qt</b>

    嵌入式LinuxQT版本,嵌入式Linux版本Qt5.4快速部署

    關(guān)鍵詞:摘要:Qt是一個(gè)領(lǐng)先的跨平臺應(yīng)用和UI 開發(fā)框架(Framework),使用標(biāo)準(zhǔn)C++,適用于桌面,嵌入式和移動平臺。本文著重就利用Boot to Qt軟件包來實(shí)現(xiàn)
    發(fā)表于 11-01 17:20 ?0次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>的<b class='flag-5'>QT</b>版本,<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>版本<b class='flag-5'>Qt</b>5.4快速部署

    嵌入式linux安裝qt,嵌入式Linux版本Qt5.4快速部署

    摘要:Qt是一個(gè)領(lǐng)先的跨平臺應(yīng)用和UI 開發(fā)框架(Framework),使用標(biāo)準(zhǔn)C++,適用于桌面,嵌入式和移動平臺。本文著重就利用Boot to Qt 軟件包來實(shí)現(xiàn)
    發(fā)表于 11-02 10:51 ?0次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>linux</b>安裝<b class='flag-5'>qt</b>,<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>版本<b class='flag-5'>Qt</b>5.4快速部署

    嵌入式Linux路線

    嵌入式linux開發(fā)環(huán)境搭建、嵌入式linux開發(fā)模型、linux內(nèi)核移植和文件系統(tǒng)、嵌入式
    發(fā)表于 11-02 11:51 ?18次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>路線

    嵌入式網(wǎng)絡(luò)編程+嵌入式Linux系統(tǒng)

    嵌入式網(wǎng)絡(luò)編程+嵌入式Linux系統(tǒng)一、 Linux操作系統(tǒng)安裝與使用(命令)二、 Linux
    發(fā)表于 11-02 14:51 ?23次下載
    <b class='flag-5'>嵌入式</b>網(wǎng)絡(luò)<b class='flag-5'>編程</b>+<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>系統(tǒng)

    基于嵌入式Linux的數(shù)字相框設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于嵌入式Linux的數(shù)字相框設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 10-23 09:45 ?0次下載
    基于<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>的數(shù)字<b class='flag-5'>相框</b>設(shè)計(jì)
    RM新时代网站-首页