<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于樹(shù)莓派平臺的電梯彩屏顯示系統設計

基于樹(shù)莓派平臺的電梯彩屏顯示系統設計

作者: 時(shí)間:2014-07-11 來(lái)源:網(wǎng)絡(luò ) 收藏

 ?、匍_(kāi)發(fā)環(huán)境:Linux內核2.4或更高;GCC版本3.3或更高;用于MIPS,其GCC版本3.4或更高。

本文引用地址:http://dyxdggzs.com/article/249574.htm

 ?、谡加么鎯臻g:存儲空間取決于配置,壓縮后為1.7~4.1 MB;未壓縮為3.6—9.0MB。

 ?、塾布脚_:易于載入任何支持帶C++編譯器和幀緩沖器驅動(dòng)Linux驅動(dòng)的處理器;支持、x86、MIPS、PowerPC。

 ?、躌aspberry Pi(B型)滿(mǎn)足以上條件,故可以進(jìn)行的移植。

  3.1.2 的移植準備

  在做移植之前首先做以下移植準備:

 ?、俳⒁粋€(gè)文件夾/home/opt來(lái)存放編譯所需的源碼和文件。

 ?、谙螺dRaspbian Wheezy鏡像,本文采用2012-07-15-wheezy-raspbian.img。

 ?、巯螺d工具鏈,本文采用gcc-4.7-linaro-rpi-gnueabihf。

 ?、芟螺d交叉編譯工具,本文采用cross-compile-tools。

 ?、菹螺dQt5源碼。

 ?、尴螺dqtjsbackend庫的應用補丁。

  然后建立文件夾mnt/rasp-pi-rootfs,將Raspbian Wheezy鏡像掛載到此文件夾下,并進(jìn)入Qt5源碼文件夾執行初始化代碼init-reposi tory。

  3.1.3 Qt5的編譯

  首先進(jìn)入cross-compile-tools文件夾執行一個(gè)腳本fixQualifiedLibraryPaths來(lái)修改鏈接和庫路徑。

  然后編譯qtbase,配置如下:



  當在鏡像中編譯安裝完所有的模塊之后,將其復制到SDcard。

  3.1.4 安裝Qt Creator

  從網(wǎng)站http://qt-project.org/wiki/Crcate#QtonPi_App_SDK上下載Qt Crcator安裝包,并在Linux系統下對其進(jìn)行安裝配置。由于Qt5需要Qtcreator2.6.0以上的版本作為支持,本文采用2.6.1版本。

  3.2 外圍部件讀取程序

  本系統通過(guò)讀取掛在I2C總線(xiàn)上的實(shí)時(shí)時(shí)鐘芯片來(lái)獲取時(shí)間信息,通過(guò)溫度傳感設備獲取溫度信息。本文以讀取實(shí)時(shí)時(shí)鐘芯片的數據為例,操作如下:



  這些設備的操作通過(guò)C代碼來(lái)實(shí)現,然后將其編譯成動(dòng)態(tài)鏈接庫的形式,供界面應用程序調用。

  3.3 界面應用程序的實(shí)現

  圖形界面開(kāi)發(fā)是Qt/Embedded開(kāi)發(fā)的一個(gè)重點(diǎn),本系統的界面結構包括樓層信息區域、運行方向區域、圖片顯示區域、溫度時(shí)間顯示區域、狀態(tài)顯示區域、本系統涉及到視圖的跳轉、數據的傳遞、控件的使用、布局和事件處理等等。其程序流程如圖4所示。



  整個(gè)顯示界面通過(guò)MainWindow類(lèi)實(shí)現,該類(lèi)繼承自QmainWindow,而各顯示區域均通過(guò)繼承QWidget類(lèi)來(lái)實(shí)現。如圖3所示,通過(guò)定時(shí)器1每隔30 ms調用Main-Window的槽函數checkLiftStstus()來(lái)獲取由C函數open_uart485(int data[])解析的串口數據。

  connect(timer,SIGNAL(timeout()),this,SLOT(checkLiftStatus()));//獲取電梯信息

  將解析后的信息傳遞給樓層信息區域,運行方向區域,狀態(tài)顯示區域分別進(jìn)行顯示。

  indicatorDirection(data[0]); //方向信息

  indicatorState(data[1]); //狀態(tài)信息

  liftCurrentFloorNum(data[2]);//樓層信息

  圖片視頻顯示區域是在類(lèi)ShowController中實(shí)現的,當系統需要顯示圖片時(shí),該類(lèi)調用ImageView類(lèi)的對象負責圖片顯示;當系統需要顯示視頻時(shí),該類(lèi)調用PlayerWidget類(lèi)的對象負責處理視頻播放。ImageView類(lèi)和PlayerWidget類(lèi)也是繼承自Qwidget。ImageView類(lèi)負責獲取SD卡上的圖片實(shí)例,將其顯示在正確的位置,并通過(guò)定時(shí)器2實(shí)現圖片的切換。PlayerWidget類(lèi)負責啟動(dòng)MPlayer,并控制視頻顯示到正確的位置。

  溫度時(shí)間顯示區域是在TimeView類(lèi)和temperatureView類(lèi)中實(shí)現。TimeView類(lèi)的成員函數getCurrentTime()通過(guò)調用動(dòng)態(tài)鏈接庫的C函數getpcf8563Time(pcf8563_time*pTime)來(lái)讀取掛在I2C總線(xiàn)上的時(shí)鐘芯片的時(shí)鐘信息,并將其顯示在正確的區域上。

  temperatureView類(lèi)主要用于顯示溫度數據,而真正獲取溫度數據的過(guò)程是在TemperatureHandler類(lèi)中實(shí)現的。開(kāi)辟一個(gè)新的線(xiàn)程,通過(guò)定時(shí)器3每隔500 ms在槽函數readData()中調用一次動(dòng)態(tài)鏈接庫的C函數therm_dsl8b20(long*date)來(lái)讀取溫度傳感器的數據。

  temperatureThread=new QThread(this); //開(kāi)辟新線(xiàn)程

  connect(temptimer,SIGNAL(timeout()),this,SLOT(readData())); //讀取溫度

  4 系統調試結果

  根據模擬的NICE3000通信協(xié)議、外圍部件的操作及Qt5的圖形界面編程,實(shí)現了電梯彩屏顯示系統,其硬件設備圖和調試結果圖如圖5、圖6所示。



  結語(yǔ)

  本文對基于Raspberry Pi并利用Qt5編程來(lái)實(shí)現的電梯彩屏顯示系統進(jìn)行了闡述。首先介紹了整個(gè)系統的構架;接著(zhù)在接口轉接板子系統中介紹了NICE3000通信協(xié)議,并對其進(jìn)行解析;然后在顯示板子系統中介紹了外圍部件的操作,以讀取實(shí)時(shí)時(shí)鐘芯片的數據為例;最后根據解析、讀取的數據利用Qt5編程實(shí)現了電梯彩屏顯示系統。本文對傳統的LED點(diǎn)陣列電梯顯示系統提供了有效的改進(jìn)方法,改變了其單調的顯示方式,成本低廉,更具商業(yè)價(jià)值。

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)

linux相關(guān)文章:linux教程


c++相關(guān)文章:c++教程



上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: ARM 樹(shù)莓派 Qt5

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>