版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
精品文檔-下載后可編輯基于RaspberryPi的電梯彩屏顯示系統(tǒng)設(shè)計(jì)-技術(shù)方案近年來,隨著高層建筑數(shù)量的與日俱增,電梯的需求量也在增加?,F(xiàn)階段我們廣泛使用的電梯都是基于LED點(diǎn)陣列的顯示系統(tǒng),顯示狀態(tài)信息比較簡單,顯示方式比較單調(diào)。此外,現(xiàn)在的一些電梯里的廣告機(jī),雖然改善了電梯轎內(nèi)的乘坐環(huán)境,良好的廣告效果也給商家?guī)砹瞬恍〉慕?jīng)濟(jì)效益。但是這種顯示裝置沒有和電梯控制系統(tǒng)融為一體,只是單純的視頻播放而已。
為了使顯示和電梯控制系統(tǒng)相融合,打造舒適的乘坐環(huán)境,針對(duì)現(xiàn)有的電梯系統(tǒng)提出一種由單片機(jī)完成不同廠商適配、由ARM/X86統(tǒng)一顯示的雙核處理方法。該方法中ARM/X86處理器專注于統(tǒng)一通用格式電梯狀態(tài)信息解碼、樓層圖片切換或視頻播放,從而提高整個(gè)系統(tǒng)的實(shí)時(shí)性與可靠性。針對(duì)不同廠商的電梯通信協(xié)議,只需要更改單片機(jī)的編解碼程序便可使整個(gè)系統(tǒng)重新工作。
RaspberryPi(中文名為“樹莓派”)是一款由英國的樹莓派基金會(huì)所開發(fā),以低價(jià)硬件及自由軟件為學(xué)生計(jì)算機(jī)編程教育而設(shè)計(jì)的卡片式電腦。其配備一枚700MHz博通出產(chǎn)的ARM架構(gòu)BCM2835處理器,256MB內(nèi)存(B型已升級(jí)到512MB內(nèi)存)的微型電腦主板。RaspberryPi以SD卡為內(nèi)存硬盤,主板周圍有兩個(gè)USB接口和一個(gè)網(wǎng)口,可連接鍵盤、鼠標(biāo)和網(wǎng)線,同時(shí)擁有視頻模擬信號(hào)的電視輸出接口和HDMI高清視頻輸出接口。以上部件全部整合在一張僅比信用卡稍大的主板上,具備所有PC的基本功能。其操作系統(tǒng)采用開源的Linux系統(tǒng),比如Debian、ArchLinux,自帶的Iceweasel、KOffice等軟件能夠滿足基本的網(wǎng)絡(luò)瀏覽、文字處理以及計(jì)算機(jī)學(xué)習(xí)的需要。
Qt是一個(gè)1991年由奇趣科技開發(fā)的跨平臺(tái)C++圖形用戶界面應(yīng)用程序開發(fā)框架。Qt具有優(yōu)良的跨平臺(tái)特性,Qt支持下列操作系統(tǒng):MicrosoftWindows95/98、MicrosoftWindowsNT、Linux、Solaris、SunOS、HP-UX、DigitalUNIX(OSF/1、Tru64)、FreeBSD、BSD/OS,SCO、AIX、OS390、QNX等等。
1系統(tǒng)整體設(shè)計(jì)
1.1系統(tǒng)框架
本系統(tǒng)的硬件部分主要由接口轉(zhuǎn)接板和顯示板組成,系統(tǒng)框圖如圖1所示。
圖1系統(tǒng)框圖
1.2子系統(tǒng)功能介紹
1.2.1接口轉(zhuǎn)接板
接收RS-485/CAN總線上的電梯通信協(xié)議,并完成協(xié)議的解析;承載溫度傳感設(shè)備和掛在I2C總線上的時(shí)鐘電路,供顯示板讀取溫度和時(shí)間信息,完成用戶按鍵的檢測(cè)與編碼。
1.2.2顯示板
接收接口轉(zhuǎn)接板譯碼后的電梯數(shù)據(jù);讀取溫度和時(shí)間信息;實(shí)現(xiàn)界面應(yīng)用程序。
2接口轉(zhuǎn)接板子系統(tǒng)設(shè)計(jì)
接口轉(zhuǎn)接板子系統(tǒng)硬件主要包括ATmega8單片機(jī)、DS18B20溫度傳感器、PCF8563時(shí)鐘芯片、MAX485芯片等。其接口轉(zhuǎn)接板框圖如圖2所示。
圖2接口轉(zhuǎn)接板框圖
電梯的通信協(xié)議有多種,本文以NICE3000通信協(xié)議為例實(shí)現(xiàn)本系統(tǒng)。
2.1NICE3000通信協(xié)議的通信設(shè)定
通信方式:RS-485標(biāo)準(zhǔn)、異步、半雙工。
數(shù)據(jù)格式:1位起始位、8位數(shù)據(jù)位、1位停止位、無校驗(yàn)位。
通信波特率:9600bps。
通信地址定義:廣播地址為0,外接節(jié)點(diǎn)地址為1~31(外招板撥碼開關(guān)確定),地址同時(shí)也表示外招所在樓層;顯示板只是接收顯示,地址設(shè)定為0(撥碼),無需通信回復(fù)。
數(shù)據(jù)校驗(yàn):采用兩位異或校驗(yàn)。
數(shù)據(jù)幀分類:共有兩種形式,其中廣播幀用于外招顯示內(nèi)容的信息,不需要返回幀,另外還有一種是普通幀,主要完成主控制板與外招之間的控制信息交換。
2.2幀格式
數(shù)據(jù)幀采用固定長度,5個(gè)字節(jié),結(jié)構(gòu)為幀頭、用戶數(shù)據(jù)、幀尾。
幀頭:包括1個(gè)字節(jié)地址,即主控制板發(fā)送給外招的標(biāo)識(shí),從機(jī)(外招)根據(jù)幀頭判斷本機(jī)是否響應(yīng)當(dāng)前通信。如果地址是廣播地址,則從機(jī)接收信息,但是不用返回。
用戶數(shù)據(jù)包括:數(shù)據(jù)2個(gè)字節(jié),根據(jù)發(fā)送方向(主到從或是從到主)以及幀形式定義不同的用戶數(shù)據(jù)。
幀尾:包括2個(gè)字節(jié)校驗(yàn)數(shù)據(jù),先發(fā)低位,后發(fā)高位。
電梯系統(tǒng)接收到的數(shù)據(jù)幀不能直接顯示,需要根據(jù)數(shù)據(jù)幀格式,對(duì)數(shù)據(jù)進(jìn)行校驗(yàn),然后解析,提取有用的數(shù)據(jù)給顯示系統(tǒng)進(jìn)行顯示。本系統(tǒng)的操作如下:
3顯示板子系統(tǒng)設(shè)計(jì)
對(duì)于彩屏電梯顯示系統(tǒng)而言,液晶屏的顯示效果對(duì)客戶的影響是至關(guān)重要的。因此,應(yīng)用層的程序開發(fā)相當(dāng)重要??紤]到圖形界面控件的豐富程度、漂亮程度以及開源的持續(xù)升級(jí)等因素,選擇了QTE/Qt5圖形開發(fā)平臺(tái)。顯示板子系統(tǒng)的架構(gòu)如圖3所示。
圖3子系統(tǒng)的架構(gòu)圖
3.1Qt的移植
3.1.1Qt的移植條件
QtforEmbeddedLinux是用于嵌入式Linux所支持設(shè)備的應(yīng)用程序架構(gòu)。Qt可以在任何支持Linux的平臺(tái)上運(yùn)行,創(chuàng)建具有獨(dú)特用戶體驗(yàn)的具備高效內(nèi)存效率的設(shè)備和應(yīng)用程序。Qt的移植需要滿足以下幾個(gè)基本條件:
①開發(fā)環(huán)境:Linux內(nèi)核2.4或更高;GCC版本3.3或更高;用于MIPS,其GCC版本3.4或更高。
②占用存儲(chǔ)空間:存儲(chǔ)空間取決于配置,壓縮后為1.7~4.1MB;未壓縮為3.6-9.0MB。
③硬件平臺(tái):易于載入任何支持帶C++編譯器和幀緩沖器驅(qū)動(dòng)Linux驅(qū)動(dòng)的處理器;支持ARM、x86、MIPS、PowerPC。
④RaspberryPi(B型)滿足以上條件,故可以進(jìn)行Qt5的移植。
3.1.2Qt5的移植準(zhǔn)備
在做Qt5移植之前首先做以下移植準(zhǔn)備:
①建立一個(gè)文件夾/home/opt來存放編譯所需的源碼和文件。
②RaspbianWheezy鏡像,本文采用2022-07-15-wheezy-raspbian.img。
③工具鏈,本文采用gcc-4.7-linaro-rpi-gnueabihf。
④交叉編譯工具,本文采用cross-compile-tools。
⑤Qt5源碼。
⑥qtjsbackend庫的應(yīng)用補(bǔ)丁。
然后建立文件夾mnt/rasp-pi-rootfs,將RaspbianWheezy鏡像掛載到此文件夾下,并進(jìn)入Qt5源碼文件夾執(zhí)行初始化代碼init-repository。
3.1.3Qt5的編譯
首先進(jìn)入cross-compile-tools文件夾執(zhí)行一個(gè)腳本fixQualifiedLibraryPaths來修改鏈接和庫路徑。
然后編譯qtbase,配置如下:
接著再編譯其他模塊如qtimageformats、qtsvg、qtjsbackend、qtseript、qtxmlpatterns、qtdeelarative、qtsensors、qt3d、qtgraphica1effects、qtjsondb、qtlocation、qtdocgallery等。
當(dāng)在鏡像中編譯安裝完所有的模塊之后,將其復(fù)制到SDcard。
3.1.4安裝QtCreator
從網(wǎng)站/wiki/Crcate#QtonPi_App_SDK上QtCrcator安裝包,并在Linux系統(tǒng)下對(duì)其進(jìn)行安裝配置。由于Qt5需要Qtcreator2.6.0以上的版本作為支持,本文采用2.6.1版本。
3.2外圍部件讀取程序
本系統(tǒng)通過讀取掛在I2C總線上的實(shí)時(shí)時(shí)鐘芯片來獲取時(shí)間信息,通過溫度傳感設(shè)備獲取溫度信息。本文以讀取實(shí)時(shí)時(shí)鐘芯片的數(shù)據(jù)為例,操作如下:
這些設(shè)備的操作通過C代碼來實(shí)現(xiàn),然后將其編譯成動(dòng)態(tài)鏈接庫的形式,供界面應(yīng)用程序調(diào)用。
3.3界面應(yīng)用程序的實(shí)現(xiàn)
圖形界面開發(fā)是Qt/Embedded開發(fā)的一個(gè)重點(diǎn),本系統(tǒng)的界面結(jié)構(gòu)包括樓層信息區(qū)域、運(yùn)行方向區(qū)域、圖片顯示區(qū)域、溫度時(shí)間顯示區(qū)域、狀態(tài)顯示區(qū)域、本系統(tǒng)涉及到視圖的跳轉(zhuǎn)、數(shù)據(jù)的傳遞、控件的使用、布局和事件處理等等。其程序流程如圖4所示。
圖4程序流程圖
整個(gè)顯示界面通過MainWindow類實(shí)現(xiàn),該類繼承自QmainWindow,而各顯示區(qū)域均通過繼承QWidget類來實(shí)現(xiàn)。如圖3所示,通過定時(shí)器1每隔30ms調(diào)用Main-Window的槽函數(shù)checkLiftStstus()來獲取由C函數(shù)open_uart485(intdata[])解析的串口數(shù)據(jù)。
connect(timer,SIGNAL(timeout()),this,SLOT(checkLiftStatus()));//獲取電梯信息
將解析后的信息傳遞給樓層信息區(qū)域,運(yùn)行方向區(qū)域,狀態(tài)顯示區(qū)域分別進(jìn)行顯示。
indicatorDirection(data[0]);//方向信息
indicatorState(data[1]);//狀態(tài)信息
liftCurrentFloorNum(data[2]);//樓層信息
圖片視頻顯示區(qū)域是在類ShowController中實(shí)現(xiàn)的,當(dāng)系統(tǒng)需要顯示圖片時(shí),該類調(diào)用ImageView類的對(duì)象負(fù)責(zé)圖片顯示;當(dāng)系統(tǒng)需要顯示視頻時(shí),該類調(diào)用PlayerWidget類的對(duì)象負(fù)責(zé)處理視頻播放。ImageView類和PlayerWidget類也是繼承自Qwidget.ImageView類負(fù)責(zé)獲取SD卡上的圖片實(shí)例,將其顯示在正確的位置,并通過定時(shí)器2實(shí)現(xiàn)圖片的切換。PlayerWidget類負(fù)責(zé)啟動(dòng)MPlayer,并控制視頻顯示到正確的位置。
溫度時(shí)間顯示區(qū)域是在TimeView類和temperatureView類中實(shí)現(xiàn)。TimeView類的成員函數(shù)getCurrentTime()通過調(diào)用動(dòng)態(tài)鏈接庫的C函數(shù)getpcf8563Time(pcf8563_time*pTime)來讀取掛在I2C總線上的時(shí)鐘芯片的時(shí)鐘信息,并將其顯示在正確的區(qū)域上。
temperatureView類主要用于顯示溫度數(shù)據(jù),而真正獲取溫度數(shù)據(jù)的過程是在TemperatureHandler類中實(shí)現(xiàn)的。開辟一個(gè)新的線程,通過定時(shí)器3每隔500ms在槽函數(shù)readData()中調(diào)用動(dòng)態(tài)鏈接庫的C函數(shù)therm_dsl8b20(long*date)來讀取溫度傳感器的數(shù)據(jù)。
temperatureThread=newQThread(this);//開辟新線程
connect(temptimer,SIGNAL(timeout()),this,SLOT(readData()));//讀取溫度
4系統(tǒng)調(diào)試結(jié)果
根據(jù)模擬的NICE3000通信協(xié)議、外圍部件的操作及Qt5的圖形界面編程,實(shí)現(xiàn)了電梯彩屏顯示系統(tǒng),其硬件設(shè)備圖和調(diào)試結(jié)果圖如圖5、圖6所示。
圖
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《chap會(huì)計(jì)憑證》課件
- 《服裝行業(yè)櫥窗展示》課件
- 《建設(shè)項(xiàng)目質(zhì)量管理》課件
- 2024-2025學(xué)年天津市第三中學(xué)高三上學(xué)期10月月考?xì)v史試題(解析版)
- 單位管理制度集合大全【員工管理】十篇
- 單位管理制度集粹選集【人員管理】十篇
- 《中國心力衰竭診斷和治療指南(2024)》解讀完整版
- 單位管理制度匯編大全【職工管理】
- 單位管理制度合并選集職員管理
- 《電阻的串聯(lián)和并聯(lián)》課件
- 工行個(gè)人小額貸款合同樣本
- 江西省萍鄉(xiāng)市2023-2024學(xué)年高一上學(xué)期期末考試數(shù)學(xué)試題(解析版)
- Unit 5 Here and now Section B project 說課稿 2024-2025學(xué)年人教版(2024)七年級(jí)英語下冊(cè)標(biāo)簽標(biāo)題
- 2024-2025學(xué)年上學(xué)期深圳初中地理七年級(jí)期末模擬卷1
- 2025屆西藏自治區(qū)拉薩市北京實(shí)驗(yàn)中學(xué)高考數(shù)學(xué)五模試卷含解析
- 2025年中國科學(xué)技術(shù)大學(xué)自主招生個(gè)人陳述自薦信范文
- 學(xué)校2025元旦假期安全教育宣傳課件
- 2024年版母公司控股協(xié)議2篇
- GB/T 44757-2024鈦及鈦合金陽極氧化膜
- 行政組織學(xué)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 2024-2030年中國皮帶機(jī)托輥行業(yè)發(fā)展趨勢(shì)投資策略分析報(bào)告
評(píng)論
0/150
提交評(píng)論