• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于TouchGFX和FreeRTOS的智能家居解決方案*

    2018-09-07 02:31:52,,
    關(guān)鍵詞:視圖底層智能家居

    ,,

    (中國礦業(yè)大學(xué) 信息與控制工程學(xué)院,徐州 221116)

    引 言

    智能家居即(Smart Home),也被稱為智能化住宅、感知住宅等[1],是現(xiàn)代電子技術(shù)、自動化技術(shù)、嵌入式系統(tǒng)及通信技術(shù)相結(jié)合的產(chǎn)物。

    目前,智能家居控制系統(tǒng)面臨著諸多問題:首先是價格昂貴,維護成本高[2],不利于產(chǎn)品的普及和推廣;其次行業(yè)無統(tǒng)一標(biāo)準(zhǔn)[2],各個廠商提供的解決方案質(zhì)量參差不齊,兼容性差;再次裝置靈活性不高,安裝拆卸以及維護困難,無法做到循環(huán)多次使用;此外,實時性不高,無法全方位穩(wěn)定地實現(xiàn)一定區(qū)域內(nèi)對家電和環(huán)境的監(jiān)測。本文針對以上問題,提出了一套完整的解決方案。

    1 相關(guān)技術(shù)

    1.1 LPCXpresso5460X介紹

    LPCXpresso板由恩智浦、Code Red Technologies、Embedded Artists共同研制[3],其中LPCXpresso54608器件性能優(yōu)越,板載CMSIS-DAP/SEGGER J-Link,兼容MCUXpresso IDE和其他通用的工具鏈(如Keil和IAR),除了標(biāo)準(zhǔn)的LPCXpresso V3功能外,該板適用于一般工業(yè)控制、智能家居系統(tǒng)等多種環(huán)境[4],還提供了一整套外設(shè)接口:

    ① 272×480彩色液晶電容觸摸屏;

    ② UART和SPI端口;

    ③ 多種擴展選項,包括Arduino UNO和PMod;

    ④ 128 Mb Micron MT25QL128 Quad-SPI閃存;

    ⑤ 16 MB MT48LC8M16A2B4 SDRAM;

    ⑥ 數(shù)字麥克風(fēng)接口;

    ⑦ 全尺寸SD/MMC卡插槽;

    ⑧ 集成了板載10/100 Mbps以太網(wǎng)MAC。

    1.2 TouchGFX

    TouchGFX是一個用C ++編寫的軟件框架,可以在低功耗硬件上開發(fā)嵌入式圖形用戶界面(Graphic User Interface, GUI)應(yīng)用程序。 TouchGFX嵌入式GUI技術(shù)優(yōu)化了小型硬件平臺(如ARM Cortex-M微控制器的利用率,能夠在更少的MCU負載下實現(xiàn)更快速的圖像更新[5]。

    TouchGFX應(yīng)用程序遵循分層模型,如圖1所示,一個TouchGFX應(yīng)用構(gòu)建于TouchGFX Core層和OSAL/HAL層的預(yù)構(gòu)建庫或源代碼之上。最頂層的Application層由開發(fā)人員來開發(fā)。HAL層用于特定目標(biāo)板的移植,其中包括用于特定微控制器、DMA、觸摸屏設(shè)備的標(biāo)準(zhǔn)驅(qū)動程序以及可用于多種評估板的板級支持包。此外,TouchGFX框架還為目標(biāo)板提供OSAL層,以支持特定嵌入式實時操作系統(tǒng)。

    圖1 TouchGFX結(jié)構(gòu)圖

    1.3 FreeRTOS

    TouchGFX應(yīng)用構(gòu)建在嵌入式實時操作系統(tǒng)之上,采用嵌入式實時操作系統(tǒng)(RTOS)可以更合理、更有效地利用CPU的資源,簡化應(yīng)用軟件的設(shè)計,縮短系統(tǒng)開發(fā)時間,更好地保證系統(tǒng)的實時性和可靠性[5]。

    在一個TouchGFX應(yīng)用中,至少要求一個線程用于GUI的渲染和刷新,兩個信號量用于控制對框架中心的資源的訪問。TouchGFX可以通過實現(xiàn)oswrapper類來運行幾乎所有的主流操作系統(tǒng)[5],其中FreeRTOS是實時操作系統(tǒng)內(nèi)核,具有以下特點:

    ① 簡單而功能強大,內(nèi)核只有3個.c文件,提供功能包括任務(wù)管理、時間管理、信號量、消息隊列、內(nèi)存管理,可基本滿足較小系統(tǒng)的需要[6]。

    ② 完全免費,源碼公開、可移植、可裁減、調(diào)度策略靈活。

    ③ 大量開發(fā)者使用,并保持高速增長趨勢。

    ④ 文檔齊全,F(xiàn)reeRTOS的創(chuàng)始人RichardBarry編寫了大量的移植代碼和配套文檔[7]。

    2 硬件架構(gòu)

    2.1 系統(tǒng)總體架構(gòu)

    系統(tǒng)的輸入信號主要有以下幾種:

    ① 溫濕度信號:溫度形式有多種,最常見為氣溫、水溫以及體表溫度;濕度信號通常為空氣相對濕度。

    ② 聲音信號:主要來源于人和其他動物,此外還有環(huán)境中的各種聲音。

    ③ 紅外信號:主要來源于人和其他動物,可以作為區(qū)分人和動物跟外界的標(biāo)志信號,也可以作為通信和控制信號。

    ④ 化學(xué)信號:如可燃氣體,可用于預(yù)判和監(jiān)測室外內(nèi)火情的標(biāo)志信號。

    ⑤ 震動信號:用于監(jiān)測一定范圍內(nèi)的環(huán)境震動,可用于輔助判斷外來侵入者。

    ⑥ 視覺(頻)信號:應(yīng)用較為廣泛,可用于監(jiān)控室內(nèi)外的畫面情況,但較為昂貴。

    ⑦ 觸覺(點擊)信號:系統(tǒng)提供圖形用戶接口進行人機交互,接收來自用戶的點擊。

    輸入到系統(tǒng)中的模擬信號經(jīng)過A/D轉(zhuǎn)換,和其他數(shù)字信號輸入到控制系統(tǒng)中,經(jīng)過MCU執(zhí)行相應(yīng)調(diào)度程序和算法,再提供對應(yīng)的輸出信號,使得智能家居做出相應(yīng)的動作,其中輸出接口主要有以下幾種:

    ① PWM接口:控制電機/舵機的正反向轉(zhuǎn)動,根據(jù)PWM驅(qū)動極性之不同,所用的PWM接口數(shù)不同。

    ② 通信接口:UART/I2C用于程序下載調(diào)試以及接口端口數(shù)據(jù)值讀取。

    ③ I/O接口:多路,用于功能執(zhí)行和狀態(tài)顯示等。

    ④ 定時器接口:用于測量外界有關(guān)信號脈沖讀取。

    根據(jù)系統(tǒng)輸入輸出信號及系統(tǒng)原理,設(shè)計出系統(tǒng)總體框圖如圖2所示。

    圖2 系統(tǒng)總體框圖

    2.2 系統(tǒng)整體電路

    根據(jù)系統(tǒng)功能設(shè)計的電路主要包括燈光/彩燈控制WS2812BS、門窗控制、電機驅(qū)動、防盜模式、防火模式、節(jié)能模式等。防盜模式通過震動傳感器實現(xiàn),防火模式通過DHT11與MQ-2共同實現(xiàn),節(jié)能模式通過HCSR501實現(xiàn)。

    3 軟件設(shè)計

    3.1 軟件設(shè)計模式

    由于系統(tǒng)頂層GUI采用TouchGFX框架,采用C++寫成;而底層LPCXpresso54608采用C語言寫成,為了使得系統(tǒng)上下層銜接得當(dāng),采取分層架構(gòu)來實現(xiàn)系統(tǒng)的低耦合和高內(nèi)聚。

    實現(xiàn)示意圖如圖3所示,系統(tǒng)軟件總體采用一種典型的模型-視圖分離設(shè)計模式,稱之為MVP架構(gòu)。其中,M代表Model,為模型(層);V代表View,為視圖(層);P代表Presenter,為控制(層)。對于每個采用本架構(gòu)的應(yīng)用來說,其中只有一個Model,但是有很多對View和Presenter,其中每一對View和Presenter對應(yīng)一個屏幕。

    圖3 實現(xiàn)示意圖

    Model(模型層)負責(zé)處理整個應(yīng)用UI的狀態(tài),并且還需要和系統(tǒng)的其余部分(后端)通信,以獲取UI層從后端所獲取的信息。在這種應(yīng)用場景下,Model相當(dāng)于是整個系統(tǒng)的入口,當(dāng)Model發(fā)生改變時,當(dāng)前的Presenter會接收到Model改變的消息,這個過程是通過應(yīng)用中的ModelListener即模型監(jiān)聽器來完成的。

    View(視圖層)負責(zé)放置和重繪UI層的圖形元素。View能夠獲取用戶事件,比如說點擊事件,并且根據(jù)時間作出反應(yīng),通常來講是將事件轉(zhuǎn)移給本視圖的Presenter。當(dāng)Presenter要求View做出改變時,View還能響應(yīng)來自Presenter的應(yīng)答。

    Presenter(控制層)負責(zé)編排模型和視圖,處理與UI元素相關(guān)的邏輯。一是在模型中發(fā)生更改時,通知Presenter,Presenter采取相應(yīng)的操作同步視圖; 二是在視圖中發(fā)生更改時,通知Presenter,Presenter采取相應(yīng)措施來同步模型。

    但是要實現(xiàn)實際功能,需要和底層硬件進行銜接。Model層提供了和底層硬件銜接的接口。特定的目標(biāo)板如LPCXpresso54608使用C語言,可獨立實現(xiàn)特定的功能,比如傳感器數(shù)據(jù)的采集,此時只要在Model中實現(xiàn)特定的函數(shù)接口,便可在FreeRTOS中注冊和創(chuàng)建任務(wù)設(shè)置優(yōu)先級等流程,即可實現(xiàn)前后端的銜接。下載特定的板級支持包,配置、編譯等一系列操作之后,即可將程序下載至特定的目標(biāo)板上運行,從而達到系統(tǒng)預(yù)定功能。系統(tǒng)軟件設(shè)計模式和總體架構(gòu)圖如圖4所示。

    圖4 系統(tǒng)軟件設(shè)計模式和總體架構(gòu)圖

    3.2 系統(tǒng)軟件功能

    系統(tǒng)軟件的主要功能包括:

    ① 人手點擊觸屏LCD事件監(jiān)聽,觸摸屏控件回調(diào)函數(shù)處理。

    ② 從UI到底層:視圖層事件經(jīng)過控制層和模型層,映射為給予底層元器件信號和動作執(zhí)行。

    ③ 從底層到UI:底層元器件狀態(tài)改變,通過接口與模型層通信和控制層處理,來更新UI。

    ④ FreeRTOS根據(jù)任務(wù)優(yōu)先級來進行任務(wù)調(diào)度以及消息傳輸。

    ⑤ LPCXpresso54608和擴展板之間的接口通信。

    ⑥ 擴展板對各個傳感器信號的采集處理,對于上層指令執(zhí)行以及狀態(tài)回傳。

    無論是從UI到底層,還是從底層到UI,在中間操作系統(tǒng)的支持和任務(wù)調(diào)度之下,整個系統(tǒng)構(gòu)成一個閉環(huán)模式,確保了各個模塊之間消息和事件的暢通,保證工作的實時有序。

    4 實現(xiàn)與評估

    國家統(tǒng)計局2016年統(tǒng)計數(shù)據(jù)表明,中國人均住房建筑面積為40.8平方米[8]。以一家三口的小康之家為例,40.8×3=122.4平方米,常見于當(dāng)前房市三室兩廳一衛(wèi)戶型,如圖5所示。以此構(gòu)建實物模型來模擬真實場景下的智能家居控制。

    圖5 模型設(shè)計和制作

    以此實物模型為基礎(chǔ),進行相關(guān)部件的安裝以及線路的布置。依據(jù)設(shè)計功能,設(shè)計用戶交互軟件(如圖6所示),實現(xiàn)了如圖3所示的功能。

    圖6 系統(tǒng)軟件界面

    經(jīng)過分析評估,本系統(tǒng)具有以下特色:基于32位ARM內(nèi)核,標(biāo)準(zhǔn)統(tǒng)一,功能專一,同時兼具擴展性,兼容性好;主控系統(tǒng)和擴展系統(tǒng),體積小巧,功能強大;成本低廉,超低功耗,真正做到價格可控,利于向大眾普及推廣;采用FreeRTOS,系統(tǒng)實時性高;系統(tǒng)接口豐富,靈活性高,安裝拆卸以及維護容易,便于二次開發(fā)和升級; 具有良好的系統(tǒng)交互功能,可帶給用戶友好的使用體驗。

    結(jié) 語

    猜你喜歡
    視圖底層智能家居
    航天企業(yè)提升采購能力的底層邏輯
    基于Zigbee的無線通信技術(shù)在智能家居中的應(yīng)用
    電子制作(2018年1期)2018-04-04 01:48:28
    5.3 視圖與投影
    視圖
    Y—20重型運輸機多視圖
    SA2型76毫米車載高炮多視圖
    關(guān)于智能家居真正需求的探討
    智能家居更貼心
    回到現(xiàn)實底層與悲憫情懷
    小說林(2014年5期)2014-02-28 19:51:47
    基于LD3320的智能家居控制
    河南科技(2014年7期)2014-02-27 14:11:13
    石门县| 景东| 永春县| 长乐市| 古田县| 独山县| 报价| 泸溪县| 双城市| 苏尼特右旗| 柘城县| 天峻县| 望谟县| 陈巴尔虎旗| 高陵县| 泽普县| 鄱阳县| 沂南县| 德兴市| 改则县| 丰宁| 金湖县| 长汀县| 垣曲县| 赣榆县| 得荣县| 泸定县| 柘城县| 遂溪县| 加查县| 巩留县| 沽源县| 晋州市| 孝感市| 历史| 阜新市| 鸡泽县| 汕尾市| 鄯善县| 吴忠市| 涟水县|