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