国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于嵌入式Linux的智能家居系統(tǒng)的研究與設計

2017-04-11 09:23王瑞娜
關鍵詞:內核網關家居

王瑞娜

(三門峽職業(yè)技術學院,河南 三門峽 472000)

基于嵌入式Linux的智能家居系統(tǒng)的研究與設計

王瑞娜

(三門峽職業(yè)技術學院,河南 三門峽 472000)

針對智能化家居環(huán)境的需求,提出了基于嵌入式Linux的智能家居系統(tǒng)的設計方案,并從硬件和軟件兩方面對系統(tǒng)進行設計。著重從系統(tǒng)交叉編譯環(huán)境的搭建、嵌入式Linux內核移植和Linux根文件系統(tǒng)的移植三個方面闡述了系統(tǒng)的設計及實現(xiàn)過程,并對系統(tǒng)進行了測試,結果顯示性能良好,基本功能能夠實現(xiàn)。

智能家居;ARM;Linux;嵌入式

0 引言

信息技術、通信技術及嵌入式技術等技術的快速發(fā)展促使人們的生活、學習及工作方式逐漸趨于網絡化和智能化,許多人已不滿足傳統(tǒng)的家居生活環(huán)境,如何利用信息化的電子設備提供更安全、更舒適、更便捷的居住環(huán)境成為一個新的研究熱點,在這個背景下智能家居系統(tǒng)應運而生,成為了一個發(fā)展趨勢。通過智能家居系統(tǒng)人們可以將家庭中的家電設備連接到家庭網絡中進行集中、實時、遠程的監(jiān)測和控制,為人們提供智能化的生活方式。

1 系統(tǒng)總體方案設計及關鍵技術介紹

本文設計的系統(tǒng)包括ZigBee無線傳感器網絡、智能家庭網關及終端用戶三部分,能夠通過對家庭溫濕度、燈光及窗簾等的控制來實現(xiàn)家居生活的智能化。系統(tǒng)總體設計框架如圖1所示。

1.1 總體方案設計

(1)ZigBee無線傳感器網絡

ZigBee技術是目前比較流行的短距離雙向無線通信技術,它具有低功耗、低成本及高可靠性等特點。在智能家居系統(tǒng)中利用ZigBee組建家庭無線傳感器網絡,可將家居環(huán)境中的設備通過各自的節(jié)點連接到智能家居系統(tǒng)中。ZigBee協(xié)調器將獲取的網關指令傳遞給各ZigBee終端節(jié)點,對家居設備進行信息采集或控制。例如在本系統(tǒng)中,通過ZigBee節(jié)點可采集家居環(huán)境的溫濕度,或通過網關獲取終端用戶對家居設備的控制命令,然后再通過網關將收集的家居信息或根據(jù)控制命令完成的相應操作及結果反饋給終端用戶。

(2)智能家庭網關

家庭網關是智能家居系統(tǒng)的核心部分,用來采集與處理家居系統(tǒng)中各ZigBee節(jié)點的數(shù)據(jù),并向電腦、智能手機等客戶終端發(fā)送相應的數(shù)據(jù)信息,同時接受客戶終端發(fā)送的控制命令。本系統(tǒng)網關平臺處理器采用三星公司推出的S5PV210嵌入式處理器,該處理器采用了ARM Cortex-A8內核,具有超強的運算能力,能夠保證系統(tǒng)即時高效地執(zhí)行應用程序。通過ARM芯片與網卡芯片實現(xiàn)網關功能,并進行Linux操作系統(tǒng)和U-boot的移植,建立根文件系統(tǒng),最終實現(xiàn)家居系統(tǒng)的內網與Internet網的連接。

(3)終端用戶

由PC機、智能手機、PAD等智能設備組成的終端用戶能夠通過Internet網實現(xiàn)對家居設備的實時監(jiān)測和控制,而且終端操作界面簡單,用戶可以輕松實現(xiàn)與家居設備的交互控制功能,滿足用戶的需求。本文以PC作為終端用戶,對家居環(huán)境和設備進行監(jiān)測及控制。

1.2 關鍵技術

1.2.1 嵌入式技術

(1)ARM處理器

ARM處理器是嵌入式系統(tǒng)的核心部分,它是為特定工作場合設計的處理器,具有體積小、功耗小、數(shù)據(jù)處理快及兼容性好等特征,適合智能家居系統(tǒng)的設計與開發(fā)。

(2)Linux操作系統(tǒng)

Linux操作系統(tǒng)是開源軟件,具有強大的二次開發(fā)功能和豐富的軟件資源,不僅支持多種硬件平臺,而且在網絡服務方面具有高穩(wěn)定性,能夠針對專用的設備完成特定的功能,本文結合Linux的靈活性及其網絡功能,搭建Web服務器,完成家居系統(tǒng)的遠程控制功能。

1.2.2 無線通信技術

隨著無線通信技術的快速發(fā)展,智能家居系統(tǒng)也廣泛采用無線網絡進行部署。目前比較流行的無線通信技術有紅外技術、藍牙技術、WiFi技術以及ZigBee技術。紅外技術容易受到障礙物的阻擋,藍牙技術傳輸距離過短(大約為10m),WiFi技術相對功耗較高,相對比而言,ZigBee技術的高可靠性、低功耗、低成本、短距離(通??蛇_到45m左右)等特性更適合智能家居的環(huán)境。

2 系統(tǒng)硬件設計

基于ARM處理器的嵌入式智能家居系統(tǒng)的核心部分是家庭網關,本系統(tǒng)的硬件部分主要包含ARM處理器、ZigBee協(xié)調器、網絡通信、串口和LCD顯示等模塊,網關硬件結構如圖2所示。

家庭網關平臺采用三星公司的S5PV210嵌入式處理器,該處理器采用64/32位總線結構,主頻高達1GHZ,運算能力達到2000DMIPS,同時具有接口多、低功耗、性能高等特征,能夠很好地運行Linux系統(tǒng),處理器內部集成的USB控制器、LCD控制器及UART等豐富的內外設資源能夠輕松完成系統(tǒng)外部設備的驅動。

ZigBee模塊采用TI公司的CC2530芯片開發(fā),該模塊以串行通信的方式實現(xiàn)ZigBee與ARM之間的信息傳送。CC2530芯片不僅具有系統(tǒng)可編程閃存,而且具有多種運行模式,可以隨時從睡眠狀態(tài)喚醒,適合低功耗要求的智能家居系統(tǒng)。

處理器通過LAN9220網卡芯片和RJ-45接口接入互聯(lián)網,該芯片不僅支持雙工和半雙工的工作模式,而且體積小,引腳少,適合智能家居系統(tǒng)等小型系統(tǒng)的設計。

本文采用DHT22溫濕度復合傳感器,MQ2氣體傳感器以及YL-78繼電器等實現(xiàn)家居環(huán)境的控制。外設通過can總線、spi總線以及USB接口等方式通信,電燈通過繼電器和NPN型三級管來控制;窗簾通過步進電機的旋轉角度控制開合程度,本文采用ULN2003A芯片驅動步進電機的旋轉方向及調速;當檢測到室內氣體超過閾值時繼電器將關閉氣體閥門;液晶模塊采用LCD1602進行顯示;復位電路采用功耗小,穩(wěn)定性高的MAX811S芯片來實現(xiàn)對處理器供電壓和給予處理器復位信號的檢測;整個家庭網關的電源采用LM1117-1.2三端集成穩(wěn)壓芯片,能夠為處理器電源提供穩(wěn)定性高、文波小的電壓,滿足整個平臺的供電。

3 系統(tǒng)軟件設計

3.1 嵌入式軟件平臺的搭建

嵌入式軟件平臺的搭建主要包括交叉編譯環(huán)境的搭建、嵌入式Linux內核移植和Linux根文件系統(tǒng)的移植等。

3.1.1 交叉編譯環(huán)境的搭建

嵌入式智能家居系統(tǒng)中程序的最終運行載體是嵌入式終端,通常是在PC機上編寫程序,而這些程序不能直接在嵌入式平臺上運行,因此,在搭建嵌入式軟件平臺前需要創(chuàng)建一個交叉編譯工具[1]。通過該工具的翻譯、鏈接等操作將程序以串口下載工具、USB下載工具等方式燒寫到目標嵌入式平臺上。嵌入式軟件開發(fā)環(huán)境示意圖如圖3所示。

本文使用Vmware11創(chuàng)建一個虛擬機運行在Window7系統(tǒng)上,并在該虛擬機下安裝Fedora10 Linux操作系統(tǒng),智能家居系統(tǒng)中的相關嵌入式程序都在該系統(tǒng)下進行開發(fā),以下對本文中的虛擬機資源配置進行簡要說明。

內存:2G;

硬盤:10G(2個);分別用于安裝Fedora10 Linux操作系統(tǒng)及系統(tǒng)相關文件;存儲智能家居系統(tǒng)開發(fā)中設計的相關應用程序及文件;

虛擬網卡:2個;一個以NAT方式連接,保證Linux系統(tǒng)和Internet網的連接;一個以Bridged方式連接,保證和window7系統(tǒng)組建局域網,方便FTP、NFS等文件傳輸;

虛擬USB接口:允許與實際USB接口共用,但只允許在同一系統(tǒng)下同時使用。

在搭建交叉編譯環(huán)境的實際操作中,首先下載解壓系統(tǒng)設計開發(fā)所需要的GCC編譯器并安裝到指定的虛擬機目錄下,然后配置相應的環(huán)境變量,將系統(tǒng)默認的編譯器指向相應的GCC編譯器。

3.1.2 嵌入式Linux的移植

(1)BootLoader的移植

BootLoader在Linux系統(tǒng)內核運行之前運行,相當于PC機的BIOS,為系統(tǒng)的正常運行提供相應的引導和加載準備。BootLoader在系統(tǒng)運行時一般采用加載模式將系統(tǒng)內核通過NAND Flash加載拷貝到ARM中并運行。為適應不同的嵌入式環(huán)境,不同的處理器和外部設備所需的BootLoader也不太相同,本文使用一個開源項目U-Boot作為BootLoader進行移植,U-Boot具有強大的代碼可移植性,在第一次移植時,BootLoader會在命令模式下將PC機中的相關文件保存到目標機的ARM中,之后再被燒寫到NAND Flash的相應地址中,而且系統(tǒng)開發(fā)后也會根據(jù)需求對系統(tǒng)底層軟件進行更新[2]。移植步驟如下:

①下載U-Boot源碼包u-boot.tar.bz2拷貝到虛擬機中并解壓。

②配置U-Boot,執(zhí)行#make S5PV210_config命令,修改U-Boot目錄中的Makefile文件,制定交叉編譯器、CPU架構等。

③修改配置文件,添加U-Boot對NAND Flash、LAN9220網卡芯片等設備的支持。

④編譯U-Boot源代碼,執(zhí)行#make ARCH=arm CROSS_COMPILE=arm-linux-,生成u-boot.bin二進制鏡像文件。

⑤將編譯成功的鏡像文件通過JTAG接口燒寫到NAND Flash的制定地址中,完成U-Boot的移植工作。

(2)嵌入式Linux內核的移植

嵌入式操作系統(tǒng)平臺的核心是Linux內核,具有虛擬內存、共享庫、多任務及可執(zhí)行程序等功能。Linux內核不僅能通過編程管理和接口操作實現(xiàn)對系統(tǒng)底層各接口部件的管理,而且其核心代碼由C語言編寫,具有良好的可移植性,能夠提供高級的應用程序執(zhí)行環(huán)境。Linux作為開源操作系統(tǒng),其內核源文件數(shù)目已超過2萬,源碼也已超過1000萬行,隨著系統(tǒng)的更新會繼續(xù)增加,而嵌入式操作系統(tǒng)和硬件設備緊密相關,對于不同的硬件平臺,其上運行的操作系統(tǒng)的內核也是不相關的,需要根據(jù)具體的硬件平臺對Linux的內核源碼進行有選擇性的裁剪,刪除不用的功能和模塊,加入或移植平臺所需的硬件驅動[3]。本文采用Linux 2.6.35版本內核,移植步驟如下:

①下載并解壓Linux-2.6.35.tar.gz源碼包到指定用戶目錄,

#tar zxvf linux-2.6.35.tar.gz

#cd linux-2.6.35

②修改目錄下的Makefile文件,指定硬件的架構以及交叉編譯器等。

③配置內核,執(zhí)行#make menuconfig ARCH=arm命令,打開Linux內核配置界面,根據(jù)硬件平臺的具體情況對相應的驅動程序進行添加或刪除,并對其他一些相關選項進行設置。

④復制U-Boot源代碼下tools目錄中的mkimage文件到Linux虛擬機中的bin目錄中。

⑤對配置好的Linux內核進行編譯,執(zhí)行#make uImage ARCH=arm CROSS_COMPILE=arm-linux-命令。

編譯成功后,會在/Linux-2.6.35/arch/arm/boot目錄下生成Linux內核的鏡像文件即uimage文件,完成對Linux內核的移植。

3.1.3 Linux根文件系統(tǒng)的移植

根文件系統(tǒng)是Linux系統(tǒng)啟動時掛載的第一個系統(tǒng),它的作用非常重要,包含了啟動Linux系統(tǒng)所需要的目錄以及關鍵性的文件,內核代碼的映像文件也是保存在根文件系統(tǒng)中[4]。當Linux根文件系統(tǒng)成功掛載后,BootLoader會將一些基本的初始化腳本和服務加載到內存中,同時根文件目錄被掛載到“/”下后,根目錄下就會有/bin、/dev、/usr等各子目錄。Linux支持多種文件系統(tǒng)類型,常用的存儲文件系統(tǒng)類型有cramfs、jffs2、yaffs等,其中yaffs是專門針對NAND Flash設計的嵌入式文件系統(tǒng),目前有yaffs1和yaffs2兩個版本,其中后者比前者支持更大容量的NAND Flash芯片,本文采用yaffs2文件系統(tǒng)進行移植,移植過程如下:①創(chuàng)建根文件系統(tǒng)目錄。在Linux虛擬機的/home目錄下創(chuàng)建根文件系統(tǒng)目錄rootfs,并在該目錄下創(chuàng)建所需要的各個子目錄。

②編譯BusyBox。BusyBox是一個集成了上百種常用Linux命令和工具的軟件,不僅功能豐富,而且占用空間很少。對BusyBox的編譯首先需要到其官網上下載并解壓BusyBox源代碼;其次進入源碼目錄,通過對Makefile文件的修改來指定處理器架構及交叉編譯器;最后進入到圖形化配置界面實現(xiàn)對其配置。

③制作文件系統(tǒng)。在dev目錄中創(chuàng)建主設備節(jié)點和從設備節(jié)點,為系統(tǒng)串口和其他設備使用;進入etc目錄,添加并配置文件,然后制作文件系統(tǒng)映像,并將其燒錄到ARM中,至此,Linux系統(tǒng)全部燒寫完畢。

3.2 嵌入式Web服務器的搭建

為方便用戶對家居環(huán)境中網絡設備狀態(tài)的了解及控制,智能家居系統(tǒng)允許用戶通過網絡訪問系統(tǒng)的網關設備。這就要求網關能夠作為一個Web服務器,不但能接受遠程的網絡請求,進行數(shù)據(jù)分析和處理,而且能收集家居設備的信息狀態(tài)及時反饋給用戶[5]?;贚inux嵌入式系統(tǒng)的特征,本文采用具有體積小、性能高、速度快等優(yōu)勢的Boa服務器來提供網絡服務。嵌入式Web服務器的結構如圖4所示,Boa的編譯與移植過程如下:

①下載boa源碼包boa-0.94.13.tar.gz,并將其拷貝到Linux的/home目錄下進行解壓。

②進入到src子目錄中,執(zhí)行./configure命令生成Makefile配置文件,為使其能在Linux系統(tǒng)中正常運行,需要修改Makefile配置文件,將CC=gccCPP=gcc-E修改為CC=arm-linux-gccCPP=arm-linux-gcc-E,然后通過make命令進行編譯,得到Boa可執(zhí)行程序。

③在Linux根文件系統(tǒng)中建立相關子目錄,拷貝boa.config到相應目錄中,并在boa.config文件里配置boa,使其能夠支持CGI程序的運行。

④將boa可執(zhí)行文件拷貝到根文件系統(tǒng)中的/bin目錄中,在終端中運行/bin/boa命令,就可運行Boa,用戶在瀏覽器中輸入http://(開發(fā)板IP):(端口號)就可訪問Boa服務器。

4 測試

4.1 遠程訪問測試

本測試在局域網中進行。首先,設置PC和網關的IP地址在同一網段內,分別為192.168.1.14和192.168.1.17,然后,在PC上執(zhí)行>ping192.168.1.1,在網關終端執(zhí)行#ping192.168.1.17,回車后如果兩邊都能ping通,則說明網絡能連通。用戶通過瀏覽器輸入地址http://192.168.17:80,回車后即可打開智能家居系統(tǒng)登錄界面。通過注冊用戶,可以登錄到智能家居系統(tǒng)中,圖5、圖6分別是智能家居系統(tǒng)的燈光控制和溫濕度控制界面。通過燈光控制界面中的按鈕可以控制家居燈光的開關,環(huán)境監(jiān)測界面可以看到傳感器采集的環(huán)境信息,每隔1秒刷新1次。

4.2 性能測試

(1)系統(tǒng)功耗測試。本系統(tǒng)中網關采用5V開關電源,通過萬用表多次測量得出電源接口的平均電流大小為450mA,網關的平均功率為2.15W,符合系統(tǒng)的低功率需求。

(2)系統(tǒng)響應速度。分別在20m、50m、100m三個距離進行通信測試,瀏覽器到終端節(jié)點做出的響應時間基本沒有較大延遲。

(3)丟包率測試。通過Internet對智能家居系統(tǒng)的多次長時間訪問得出的結果來看,當ZigBee終端節(jié)點距離協(xié)調器的距離在20m之內時,基本無丟包現(xiàn)象,當該距離超過50m后丟包的現(xiàn)象也是偶爾出現(xiàn)。

5 總結

本文構建了智能家居系統(tǒng)的總體架構,且從系統(tǒng)的軟硬件方面進行詳細的設計并進行性能測試,達到了預期設計的目標,用戶能夠通過Internet實現(xiàn)對家居環(huán)境的控制,具有一定的實用價值。在以后的研究中可以通過嵌入式Web服務器添加家庭辦公、空氣置換等服務,進一步提高家居系統(tǒng)的服務功能。

[1] 孫澤鴻,關維國,劉志建.基于Cortex_A8的智能云家居Web控制系統(tǒng)設計[J].微電子學與計算機,2016,33(7):159-168.

[2] 劉顯強.基于嵌入式無線傳輸文件系統(tǒng)的研究與設計[D].成都:電子科技大學,2012.

[3] 馮開林,劉春艷,韓東旭.基于S3C2440平臺搭建linux環(huán)境[J].通信技術,2013,46(11):120-123.

[4] 董萍.基于nRF2401A的家庭智能系統(tǒng)的設計與實現(xiàn)[J].武漢輕工大學學報,2015,34(2):87-91.

[5] 尹然然.基于嵌入式Web的智能家居遠程控制系統(tǒng)[J].合肥師范學院學報,2016,34(3):35-37.

Research and Design of Smart Home System Based on Embedded Linux

WANGRui-Na

(SanmenxiaPolytechnic,Sanmenxia472000,China)

For intelligent Home Furnishing environment, this paper presents a design scheme of intelligent Home Furnishing system based on embedded Linux, and the system design are from two aspects of hardware and software. Three aspects of the system, building the cross compiler environment, the transplantation of the embedded Linux kernel and Linux root file system transplant and realization is discussed the system design process. The final test of the system shows that the system performance is good and can achieve the basic functions.

smart home;ARM;Linux;embedded

2016-10-15

河南省教育廳科學技術重點項目(15B520026)

王瑞娜(1984-),女,碩士,三門峽職業(yè)技術學院信息傳媒學院講師,研究方向:計算機應用技術。

TP317

A

1674-3229(2017)01-0034-05

猜你喜歡
內核網關家居
多內核操作系統(tǒng)綜述①
打造日常家居“氛圍感”
強化『高新』內核 打造農業(yè)『硅谷』
活化非遺文化 承啟設計內核
Linux內核mmap保護機制研究
信號系統(tǒng)網關設備的優(yōu)化
臺北家居
LTE Small Cell網關及虛擬網關技術研究
應對氣候變化需要打通“網關”
一種實時高效的伺服控制網關設計