吳明 代鵬飛
摘 要:隨著計算機技術(shù)及網(wǎng)絡(luò)通信技術(shù)的高速發(fā)展,家居設(shè)備的智能化管理已經(jīng)為人們的生活提供方便、便捷的服務(wù)。在智能家居系統(tǒng)中,智能網(wǎng)關(guān)是整個系統(tǒng)的核心,在具有基本的數(shù)據(jù)包路由功能外,還需要提供控制智能家居的網(wǎng)絡(luò)服務(wù),實現(xiàn)對家居終端數(shù)據(jù)的收集、轉(zhuǎn)發(fā)以及控制終端數(shù)據(jù)的轉(zhuǎn)發(fā)和發(fā)送,可以說,是整個智能家居系統(tǒng)最為重要的部分。
關(guān)鍵詞:OpenWRT 智能網(wǎng)關(guān) 嵌入式服務(wù)器 MIPS
中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號:1003-9082(2018)09-000-01
在智能家居系統(tǒng)的構(gòu)成中,智能網(wǎng)關(guān)往往扮演著設(shè)備組網(wǎng)及智能控制的角色。在智能網(wǎng)關(guān)的設(shè)計和實現(xiàn)中,往往對于其運行的可靠性、經(jīng)濟(jì)性以及功能性方面有較高的要求。在智能網(wǎng)關(guān)硬件的選型方面,可以選擇的硬件平臺有ARM、MIPS以及X86,而這些不同的硬件平臺在不同的應(yīng)用環(huán)境中具有不同的優(yōu)劣。
在智能網(wǎng)關(guān)的實現(xiàn)中,以基于MIPS架構(gòu)的RT5350芯片為硬件基礎(chǔ),以嵌入式操作系統(tǒng)OpenWrt為系統(tǒng)軟件基礎(chǔ),實現(xiàn)一個功能完備的軟件系統(tǒng)。
一、智能網(wǎng)關(guān)功能需求分析
智能網(wǎng)關(guān)要具有提供網(wǎng)絡(luò)服務(wù)的功能,就需要具備提供Web服務(wù)以及數(shù)據(jù)庫服務(wù)的能力,實現(xiàn)對控制終端狀態(tài)、控制數(shù)據(jù)的存儲。另外,為了能給提供更為智能的控制服務(wù),需要根據(jù)用戶以往的行為數(shù)據(jù)進(jìn)行預(yù)測分析。其需要具備的功能如圖1所示。
二、基于MIPS架構(gòu)的硬件平臺
智能家居系統(tǒng)的網(wǎng)關(guān)在硬件平臺的選擇方面,采用了雷凌公司生產(chǎn)的嵌入式微處理器RT5350芯片,該芯片采用了MIPS架構(gòu),具有360MHZ的處理芯片,既支持Wifi也支持bluetooth,而且其內(nèi)部更是集成了射頻放大器,從而實現(xiàn)了單芯片無線連接及控制功能。嵌入式微處理器RT5350芯片是一款在成本、尺寸方面控制的相當(dāng)優(yōu)秀的一款高質(zhì)量產(chǎn)品,非常適合各種環(huán)境中無線環(huán)境的構(gòu)建。該微處理器內(nèi)置了第二代802.11n無線局域網(wǎng)協(xié)議,在實現(xiàn)超大覆蓋范圍以及超高數(shù)據(jù)吞吐率的情況下,更具有更低成本、更簡單的二次開發(fā)的優(yōu)勢。
三、設(shè)計并實現(xiàn)智能網(wǎng)關(guān)軟件系統(tǒng)
1.智能家居網(wǎng)關(guān)操作系統(tǒng)OpenWrt
Openwrt操作系統(tǒng)對各種架構(gòu)的處理器都有很好的支持,比如X86、MIPS等,因此,該系統(tǒng)非常適合用于開發(fā)作為智能家居系統(tǒng)的智能網(wǎng)關(guān)系統(tǒng)。對于操作系統(tǒng)OpenWrt的開發(fā)使用,既可以使用命令行方式也可以使用基于Web的圖形化方式。另外,OpenWrt操作系統(tǒng)具有動態(tài)添加、刪除功能模塊的特性,因此,使用該系統(tǒng)可以組建一個動態(tài)可更改的操作系統(tǒng)。
2.OpenWrt操作系統(tǒng)的配置及編譯
在開發(fā)嵌入式系統(tǒng)時,需要采用交叉編譯的方式進(jìn)行,因此,OpenWrt操作系統(tǒng)的交叉編譯環(huán)境選擇使用Linux的桌面發(fā)行版,從而保證系統(tǒng)開發(fā)中的跨平臺需求。
在交叉編譯OpenWrt操作系統(tǒng)時,具體的操作步驟如下所示:1、下載工具的安裝。在centos操作系統(tǒng)中對OpenWrt操作系統(tǒng)進(jìn)行交叉編譯之前,需要使用專有的下載工具以及庫文件的支持。1)、SVN工具的安裝。在root用戶模式下使用yum install subversion命令來安裝SVN工具,主要為下載OpenWrt操作系統(tǒng)的源代碼提供支持。2)、GIT工具的安裝。在root用戶模式下使用yum install git-core命令來安裝GIT工具。3)、安裝依賴的庫文件。在root用戶模式下使用yum install命令來安裝所依賴的庫文件,比如g++、bzip2、flex、bison等等。 2、 OpenWrt操作系統(tǒng)源碼的下載。當(dāng)使用命令yum install subversion安裝了SVN下載工具后,就可以使用該工具進(jìn)行OpenWrt操作系統(tǒng)源碼的下載了。在下載操作系統(tǒng)源碼之前,需要使用mkdir OpenWrtCode命令創(chuàng)建一個存放源碼的文件夾OpenWrtCode。3、硬件平臺的選擇。在下載了最新的Openwrt操作系統(tǒng)源碼之后,需要使用make menuconfig命令打開配置界面,并在該界面中配置需要運行的硬件芯片類型。由于OpenWrt操作系統(tǒng)需要運行在RT5350芯片之上,因此,在硬件平臺配置界面需要配置選擇其目標(biāo)系統(tǒng)為Ralink RT28/RTxx、目標(biāo)平臺為RT/RT5350 based boards以及配置文件為HAME-MPR-A2。4、開啟無線功能。使用Vi命令將mac80211文件夾下對應(yīng)的mac8021.sh腳本文件中的option disabled 1語句啟用無線功能即可。
通過以上4個步驟的實施就可以在OpenWrtCode/trunk目錄下執(zhí)行make V=99命令,進(jìn)行OpenWrt操作系統(tǒng)的編譯,編譯完成后將在該目錄下生成一個bin鏡像文件。使用tftpd工具將該鏡像文件下載到開發(fā)平臺即可。
四、嵌入式服務(wù)器的搭建
在嵌入式操作系統(tǒng)中,可以使用PHP開發(fā)語言來編寫程序?qū)崿F(xiàn)數(shù)據(jù)的接收、存儲和轉(zhuǎn)發(fā),因此,需要搭建一個嵌入式的Web服務(wù)器。本文通過使用Nginx和PHP來搭建一個運行PHP應(yīng)用程序的Web服務(wù)器,具體的搭建過程如下。
1.安裝PHP
通過opkg命令來安裝PHP,其中安裝了PHP主程序、PHP高速緩沖存儲器APC、MySQL、網(wǎng)頁交換關(guān)鍵技術(shù)fastcgi以及數(shù)據(jù)解析如xml、json等。
2.配置PHP
PHP安裝之后,會在/etc的目錄下生成一個配置文件PHP.ini,通過修改該文件來完成PHP的配置工作。在配置文件中進(jìn)行了主目錄的設(shè)置、各種擴(kuò)展以及MySQL的默認(rèn)的socket等信息。
3.安裝并設(shè)置Nginx
Web服務(wù)器軟件Nginx的按照,只需要使用opkg install nginx即可完成安裝。在nginx.conf、vhost.conf文件中設(shè)置其工作目錄、用戶及用戶組等信息。
4.配置FASTCGI
通過修改安裝目錄下的fastcgi_param文件來進(jìn)行配置,配置文件類型解析錯誤問題的處理方式、查詢字符串、內(nèi)容類型、內(nèi)容長度等信息。
五、嵌入式MySQL數(shù)據(jù)庫的搭建
1.MySQL數(shù)據(jù)庫的安裝
使用opkg install mysql-server語句即可完成數(shù)據(jù)庫的安裝。
2.配置MySQL數(shù)據(jù)庫
通過修改/etc文件夾下的my.cnf文件來進(jìn)行數(shù)據(jù)庫的位置、綁定地址、創(chuàng)建數(shù)據(jù)庫的存放位置以及創(chuàng)建數(shù)據(jù)庫。
至此,經(jīng)過以上步驟,經(jīng)過OPenWRT系統(tǒng)燒錄至RT5350芯片中,通過配置相應(yīng)信息,并安裝和配置嵌入式服務(wù)及嵌入式數(shù)據(jù)庫系統(tǒng),從而實現(xiàn)了一個智能網(wǎng)關(guān),為整個智能家居系統(tǒng)的運行提供環(huán)境支持。