亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Raspberry Pi的電梯彩屏顯示系統(tǒng)設(shè)計(jì)*

        2014-09-06 10:49:58賴(lài)江李英祥何琪蘇凱
        關(guān)鍵詞:通信協(xié)議樓層時(shí)鐘

        賴(lài)江,李英祥,何琪,蘇凱

        (成都信息工程學(xué)院 通信工程學(xué)院,成都 610225)

        ?

        基于Raspberry Pi的電梯彩屏顯示系統(tǒng)設(shè)計(jì)*

        賴(lài)江,李英祥,何琪,蘇凱

        (成都信息工程學(xué)院 通信工程學(xué)院,成都 610225)

        本文針對(duì)多媒體彩屏電梯顯示的需求,在ARM內(nèi)核樹(shù)莓派平臺(tái)和單片機(jī)接口板雙處理器架構(gòu)的硬件支持下,利用485/CAN總線傳輸技術(shù)、Linux應(yīng)用編程、Qt5用戶(hù)界面編程,提出并實(shí)現(xiàn)了一種雙處理器架構(gòu)的電梯彩屏顯示系統(tǒng)。此彩屏顯示系統(tǒng)與傳統(tǒng)顯示系統(tǒng)相比,界面更美觀,功能更豐富,且具有低成本、高穩(wěn)定性等特點(diǎn)。實(shí)際測(cè)試結(jié)果表明,此電梯彩屏顯示系統(tǒng)設(shè)計(jì)的可行性和有效性。

        電梯;雙處理器架構(gòu);Qt5;樹(shù)莓派

        引 言

        近年來(lái),隨著高層建筑數(shù)量的與日俱增,電梯的需求量也在增加。現(xiàn)階段我們廣泛使用的電梯都是基于LED點(diǎn)陣列的顯示系統(tǒng),顯示狀態(tài)信息比較簡(jiǎn)單,顯示方式比較單調(diào)。此外,現(xiàn)在的一些電梯里的廣告機(jī),雖然改善了電梯轎內(nèi)的乘坐環(huán)境,良好的廣告效果也給商家?guī)?lái)了不小的經(jīng)濟(jì)效益。但是這種顯示裝置沒(méi)有和電梯控制系統(tǒng)融為一體,只是單純的視頻播放而已。

        為了使顯示和電梯控制系統(tǒng)相融合,打造舒適的乘坐環(huán)境,針對(duì)現(xiàn)有的電梯系統(tǒng)提出一種由單片機(jī)完成不同廠商適配、由ARM/X86統(tǒng)一顯示的雙核處理方法。該方法中ARM/X86處理器專(zhuān)注于統(tǒng)一通用格式電梯狀態(tài)信息解碼、樓層圖片切換或視頻播放,從而提高整個(gè)系統(tǒng)的實(shí)時(shí)性與可靠性。針對(duì)不同廠商的電梯通信協(xié)議,只需要更改單片機(jī)的編解碼程序便可使整個(gè)系統(tǒng)重新工作[1-8]。

        Raspberry Pi(中文名為“樹(shù)莓派”)是一款由英國(guó)的樹(shù)莓派基金會(huì)所開(kāi)發(fā),以低價(jià)硬件及自由軟件為學(xué)生計(jì)算機(jī)編程教育而設(shè)計(jì)的卡片式電腦。其配備一枚700 MHz博通出產(chǎn)的ARM架構(gòu)BCM2835處理器,256 MB內(nèi)存(B型已升級(jí)到512 MB內(nèi)存)的微型電腦主板[2]。Raspberry Pi以SD卡為內(nèi)存硬盤(pán),主板周?chē)袃蓚€(gè)USB接口和一個(gè)網(wǎng)口,可連接鍵盤(pán)、鼠標(biāo)和網(wǎng)線,同時(shí)擁有視頻模擬信號(hào)的電視輸出接口和HDMI高清視頻輸出接口。以上部件全部整合在一張僅比信用卡稍大的主板上,具備所有PC的基本功能。其操作系統(tǒng)采用開(kāi)源的Linux系統(tǒng),比如Debian、ArchLinux,自帶的Iceweasel、KOffice等軟件能夠滿足基本的網(wǎng)絡(luò)瀏覽、文字處理以及計(jì)算機(jī)學(xué)習(xí)的需要[2,5]。

        Qt是一個(gè)1991年由奇趣科技開(kāi)發(fā)的跨平臺(tái)C++圖形用戶(hù)界面應(yīng)用程序開(kāi)發(fā)框架。Qt具有優(yōu)良的跨平臺(tái)特性,Qt支持下列操作系統(tǒng):Microsoft Windows 95/98、Microsoft Windows NT、Linux、 Solaris、SunOS、HP-UX、Digital UNIX (OSF/1、Tru64)、FreeBSD、BSD/OS,SCO、AIX、OS390、QNX等等[3-4]。

        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í)間信息,完成用戶(hù)按鍵的檢測(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.1 NICE3000通信協(xié)議的通信設(shè)定

        通信方式:RS-485標(biāo)準(zhǔn)、異步、半雙工。

        數(shù)據(jù)格式:1位起始位、8位數(shù)據(jù)位、1位停止位、無(wú)校驗(yàn)位。

        通信波特率:9 600 bps。

        通信地址定義:廣播地址為0,外接節(jié)點(diǎn)地址為1~31(外招板撥碼開(kāi)關(guān)確定),地址同時(shí)也表示外招所在樓層;顯示板只是接收顯示,地址設(shè)定為0(撥碼),無(wú)需通信回復(fù)。

        數(shù)據(jù)校驗(yàn):采用兩位異或校驗(yàn)。

        數(shù)據(jù)幀分類(lèi):共有兩種形式,其中廣播幀用于外招顯示內(nèi)容的信息,不需要返回幀,另外還有一種是普通幀,主要完成主控制板與外招之間的控制信息交換。

        2.2 幀格式

        數(shù)據(jù)幀采用固定長(zhǎng)度,5個(gè)字節(jié),結(jié)構(gòu)為幀頭、用戶(hù)數(shù)據(jù)、幀尾。

        幀頭:包括1個(gè)字節(jié)地址,即主控制板發(fā)送給外招的標(biāo)識(shí),從機(jī)(外招)根據(jù)幀頭判斷本機(jī)是否響應(yīng)當(dāng)前通信。如果地址是廣播地址,則從機(jī)接收信息,但是不用返回。

        用戶(hù)數(shù)據(jù)包括:數(shù)據(jù)2個(gè)字節(jié),根據(jù)發(fā)送方向(主到從或是從到主)以及幀形式定義不同的用戶(hù)數(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)的操作如下:

        rd = read(fd, rbuf, sizeof(rbuf)); //接收串口數(shù)據(jù)

        if(yihuo_value(rbuf, 4) == rbuf[4]); //數(shù)據(jù)校驗(yàn)

        num[0] = rbuf[1] & 0x01; //方向解析

        num[1] = (rbuf[1]>>1) & 0x03; //狀態(tài)解析

        num[2] = (rbuf[1]>>3) & 0x01; //是否超載

        num[3] = rbuf[2] & 0x1f; //樓層高位解析

        num[4] = rbuf[3] & 0x1f; //樓層低位解析

        3 顯示板子系統(tǒng)設(shè)計(jì)

        對(duì)于彩屏電梯顯示系統(tǒng)而言,液晶屏的顯示效果對(duì)客戶(hù)的影響是至關(guān)重要的。因此,應(yīng)用層的程序開(kāi)發(fā)相當(dāng)重要??紤]到圖形界面控件的豐富程度、漂亮程度以及開(kāi)源免費(fèi)的持續(xù)升級(jí)等因素,選擇了QTE/Qt5圖形開(kāi)發(fā)平臺(tái)。顯示板子系統(tǒng)的架構(gòu)如圖3所示。

        圖3 子系統(tǒng)架構(gòu)圖

        3.1 Qt的移植

        3.1.1 Qt的移植條件

        Qt for Embedded Linux是用于嵌入式Linux所支持設(shè)備的領(lǐng)先應(yīng)用程序架構(gòu)。Qt可以在任何支持Linux的平臺(tái)上運(yùn)行,創(chuàng)建具有獨(dú)特用戶(hù)體驗(yàn)的具備高效內(nèi)存效率的設(shè)備和應(yīng)用程序[3]。Qt的移植需要滿足以下幾個(gè)基本條件:

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

        ② 占用存儲(chǔ)空間:存儲(chǔ)空間取決于配置,壓縮后為1.7~4.1 MB;未壓縮為3.6~9.0 MB。

        ③ 硬件平臺(tái):易于載入任何支持帶C++編譯器和幀緩沖器驅(qū)動(dòng)Linux驅(qū)動(dòng)的處理器;支持ARM、x86、MIPS、PowerPC。

        ④ Raspberry Pi(B型)滿足以上條件,故可以進(jìn)行Qt5的移植。

        3.1.2 Qt5的移植準(zhǔn)備

        在做Qt5移植之前首先做以下移植準(zhǔn)備:

        ① 建立一個(gè)文件夾/home/opt來(lái)存放編譯所需的源碼和文件。

        ② 下載Raspbian Wheezy鏡像,本文采用2012-07-15-wheezy-raspbian.img。

        ③ 下載工具鏈,本文采用gcc-4.7-linaro-rpi-gnueabihf。

        ④ 下載交叉編譯工具,本文采用cross-compile-tools。

        ⑤ 下載Qt5源碼。

        ⑥ 下載qtjsbackend庫(kù)的應(yīng)用補(bǔ)丁。

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

        圖4 程序流程圖

        3.1.3 Qt5的編譯

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

        然后編譯qtbase,配置如下:

        ./configure-opengl es2 device linux-rasp-pi-g++ -device-option CROSS_COMPILE=~/opt/gcc-4.7-linaro-rpi-gnueabihf/bin/arm-linux-gnueabihf- -sysroot /mnt/rasp-pi-rootfs-opensource -confirm-license -optimized-qmake -reduce-relocations -reduce-exports -release -make libs -prefix/usr/local/qt5pi

        接著再編譯其他模塊如qtimageformats、qtsvg、qtjsbackend、qtscript、qtxmlpatterns、qtdeclarative、qtsensors、qt3d、qtgraphicaleffects、qtjsondb、qtlocation、qtdocgallery等。

        當(dāng)在鏡像中編譯安裝完所有的模塊之后,將其復(fù)制到SDcard。

        3.1.4 安裝Qt Creator

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

        3.2 外圍部件讀取程序

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

        fd = open('/dev/i2c-1', O_RDWR); //打開(kāi)I2C總線設(shè)備

        ret = ioctl(fd,I2C_TENBIT,0); //設(shè)置數(shù)據(jù)的讀寫(xiě)格式

        ret = ioctl(fd, I2C_SLAVE_FORCE, I2C_ADDR);

        //設(shè)置I2C總線上時(shí)鐘芯片地址

        pTime->Second = BCD_to_HEC((TimeBuff[pcf8563_SEC - 2] & 0x7f));

        pTime->Minute = BCD_to_HEC((TimeBuff[pcf8563_MIN - 2] & 0x7f));

        pTime->Hour = BCD_to_HEC((TimeBuff[pcf8563_HR - 2] & 0x3f));

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

        3.3 界面應(yīng)用程序的實(shí)現(xiàn)

        圖形界面開(kāi)發(fā)是Qt/Embedded開(kāi)發(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所示。

        整個(gè)顯示界面通過(guò)MainWindow類(lèi)實(shí)現(xiàn),該類(lèi)繼承自QmainWindow,而各顯示區(qū)域均通過(guò)繼承QWidget類(lèi)來(lái)實(shí)現(xiàn)。如圖3所示,通過(guò)定時(shí)器1每隔30 ms調(diào)用MainWindow的槽函數(shù)checkLiftStstus()來(lái)獲取由C函數(shù)open_uart485(int data[])解析的串口數(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ū)域是在類(lèi)ShowController中實(shí)現(xiàn)的,當(dāng)系統(tǒng)需要顯示圖片時(shí),該類(lèi)調(diào)用ImageView類(lèi)的對(duì)象負(fù)責(zé)圖片顯示;當(dāng)系統(tǒng)需要顯示視頻時(shí),該類(lèi)調(diào)用PlayerWidget類(lèi)的對(duì)象負(fù)責(zé)處理視頻播放。ImageView類(lèi)和PlayerWidget類(lèi)也是繼承自Qwidget。ImageView類(lèi)負(fù)責(zé)獲取SD卡上的圖片實(shí)例,將其顯示在正確的位置,并通過(guò)定時(shí)器2實(shí)現(xiàn)圖片的切換。PlayerWidget類(lèi)負(fù)責(zé)啟動(dòng)MPlayer,并控制視頻顯示到正確的位置。

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

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

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

        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所示。

        圖 5 硬件設(shè)備圖

        圖6 調(diào)試結(jié)果

        結(jié) 語(yǔ)

        本文對(duì)基于Raspberry Pi并利用Qt5編程來(lái)實(shí)現(xiàn)的電梯彩屏顯示系統(tǒng)進(jìn)行了闡述。首先介紹了整個(gè)系統(tǒng)的構(gòu)架;接著在接口轉(zhuǎn)接板子系統(tǒng)中介紹了NICE3000通信協(xié)議,并對(duì)其進(jìn)行解析;然后在顯示板子系統(tǒng)中介紹了外圍部件的操作,以讀取實(shí)時(shí)時(shí)鐘芯片的數(shù)據(jù)為例;

        [1] 楊漢祥,鐘惠芳,邱志城. LED顯示屏的應(yīng)用——電梯屏[J]. 贛南師范學(xué)院學(xué)報(bào),2003(6).

        [2] Broadcom.BCM2835 Media Processor,2011.

        [3] 陳鯤,陳云秋,劉信新. 基于Qt/Embedded的嵌入式Linux應(yīng)用程序的設(shè)計(jì)[J]. 計(jì)算機(jī)與數(shù)字工程,2009(1).

        [4] 王浩南, 劉益成. 基于嵌入式Linux系統(tǒng)下的Qt開(kāi)發(fā)[J]. 電腦開(kāi)發(fā)與應(yīng)用,2010(1).

        [5] Silicon.Raspberry Pi Cheat Sheet,2012.

        [6] 張先淼, 劉新偉,金天均,等. 高可靠電梯通信系統(tǒng)的研究[J]. 機(jī)電工程,2007(10).

        [7] 許曉榮,章堅(jiān)武. 嵌入式Linux下LCD界面應(yīng)用程序開(kāi)發(fā)[J]. 液晶與顯示,2006,21(3).

        [8] 邱曉明. 嵌入式多媒體電梯信息顯示系統(tǒng)設(shè)計(jì)[D].上海:上海交通大學(xué),2009.

        Elevator Colorful Display System Based on Raspberry Pi

        Lai Jiang, Li Yingxiang, He Qi, Su Kai

        (School of Communication Engineering,Chengdu University of Information Technology,Chengdu 610225,China)

        Aiming at the problem of multimedia color display of elevator, under the support of ARM core platform Raspberry Piand microcontroller interface board, the design proposes and implementes a dual-processor architecture color display system which uses 485/CAN bus transmission technology, Linux application programming and Qt5 user interface programming. Compared with traditional display system, the color display system interface is more beautiful, more feature-rich and has a low cost, high stability and other characteristics. The actual test results show that this elevator color display system is feasible and effective.

        elevator; dual-processor architecture; Qt5; Raspberry Pi

        省部級(jí)—四川省教育廳項(xiàng)目(11ZA113)。

        TN91

        A

        迪娜

        2013-12-20)

        猜你喜歡
        通信協(xié)議樓層時(shí)鐘
        入駐機(jī)構(gòu)樓層分布圖
        分憂(2024年3期)2024-01-01 00:00:00
        別樣的“時(shí)鐘”
        古代的時(shí)鐘
        電梯的升與降
        讀者(2019年2期)2019-01-05 09:09:44
        自動(dòng)扶梯樓層板周邊環(huán)境的安全防護(hù)
        基于Z-Stack通信協(xié)議棧的紅外地溫采集電路設(shè)計(jì)
        有趣的時(shí)鐘
        基于DMX512通信協(xié)議的多路轉(zhuǎn)發(fā)器設(shè)計(jì)與研究
        時(shí)鐘會(huì)開(kāi)“花”
        基于NS-3的PLC多頻通信協(xié)議仿真平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)
        色哟哟精品视频在线观看| 久久婷婷夜色精品国产| 久久久熟女一区二区三区 | 一女被多男玩喷潮视频| 国产亚洲日韩在线三区| 日本口爆吞精在线视频| 日本免费三片在线视频| 精品香蕉一区二区三区| 7777奇米四色成人眼影| 中文字幕亚洲无线码高清| 亚洲av大片在线免费观看| 免费a级毛片18禁网站免费| 欧洲一卡2卡三卡4卡免费网站| 337p日本欧洲亚洲大胆色噜噜| 91人妻人人做人人爽九色| 亚洲码欧美码一区二区三区| 真人无码作爱免费视频禁hnn | 国产熟女内射oooo| 亚洲AV无码一区二区三区日日强| 亚洲24小时在线免费视频网站| 日韩一区二区三区久久精品| 日产亚洲一区二区三区| 欧美极品第一页| av男人的天堂手机免费网站| 久久精品国产久精国产爱| 国产人与禽zoz0性伦| 精品久久亚洲一级α| 中文字幕有码在线人妻| 人人爽人人爽人人片av| 国产精品视频牛仔裤一区| 亚洲人妻有码中文字幕| 青青手机在线观看视频| 67194熟妇在线永久免费观看| 免费国产h视频在线观看86| 人妻在线有码中文字幕| 五月丁香综合激情六月久久| 日本免费人成视频播放| 日本伦理美乳中文字幕| 免费观看a级毛片| 亚洲国产精品久久久久秋霞1| 美腿丝袜一区二区三区|