?

基于OpenWRT的智能網關的設計與實現

2018-10-29 11:00吳明代鵬飛
中文信息 2018年9期

吳明 代鵬飛

摘 要:隨著計算機技術及網絡通信技術的高速發展,家居設備的智能化管理已經為人們的生活提供方便、便捷的服務。在智能家居系統中,智能網關是整個系統的核心,在具有基本的數據包路由功能外,還需要提供控制智能家居的網絡服務,實現對家居終端數據的收集、轉發以及控制終端數據的轉發和發送,可以說,是整個智能家居系統最為重要的部分。

關鍵詞:OpenWRT 智能網關 嵌入式服務器 MIPS

中圖分類號:TP393 文獻標識碼:A 文章編號:1003-9082(2018)09-000-01

在智能家居系統的構成中,智能網關往往扮演著設備組網及智能控制的角色。在智能網關的設計和實現中,往往對于其運行的可靠性、經濟性以及功能性方面有較高的要求。在智能網關硬件的選型方面,可以選擇的硬件平臺有ARM、MIPS以及X86,而這些不同的硬件平臺在不同的應用環境中具有不同的優劣。

在智能網關的實現中,以基于MIPS架構的RT5350芯片為硬件基礎,以嵌入式操作系統OpenWrt為系統軟件基礎,實現一個功能完備的軟件系統。

一、智能網關功能需求分析

智能網關要具有提供網絡服務的功能,就需要具備提供Web服務以及數據庫服務的能力,實現對控制終端狀態、控制數據的存儲。另外,為了能給提供更為智能的控制服務,需要根據用戶以往的行為數據進行預測分析。其需要具備的功能如圖1所示。

二、基于MIPS架構的硬件平臺

智能家居系統的網關在硬件平臺的選擇方面,采用了雷凌公司生產的嵌入式微處理器RT5350芯片,該芯片采用了MIPS架構,具有360MHZ的處理芯片,既支持Wifi也支持bluetooth,而且其內部更是集成了射頻放大器,從而實現了單芯片無線連接及控制功能。嵌入式微處理器RT5350芯片是一款在成本、尺寸方面控制的相當優秀的一款高質量產品,非常適合各種環境中無線環境的構建。該微處理器內置了第二代802.11n無線局域網協議,在實現超大覆蓋范圍以及超高數據吞吐率的情況下,更具有更低成本、更簡單的二次開發的優勢。

三、設計并實現智能網關軟件系統

1.智能家居網關操作系統OpenWrt

Openwrt操作系統對各種架構的處理器都有很好的支持,比如X86、MIPS等,因此,該系統非常適合用于開發作為智能家居系統的智能網關系統。對于操作系統OpenWrt的開發使用,既可以使用命令行方式也可以使用基于Web的圖形化方式。另外,OpenWrt操作系統具有動態添加、刪除功能模塊的特性,因此,使用該系統可以組建一個動態可更改的操作系統。

2.OpenWrt操作系統的配置及編譯

在開發嵌入式系統時,需要采用交叉編譯的方式進行,因此,OpenWrt操作系統的交叉編譯環境選擇使用Linux的桌面發行版,從而保證系統開發中的跨平臺需求。

在交叉編譯OpenWrt操作系統時,具體的操作步驟如下所示:1、下載工具的安裝。在centos操作系統中對OpenWrt操作系統進行交叉編譯之前,需要使用專有的下載工具以及庫文件的支持。1)、SVN工具的安裝。在root用戶模式下使用yum install subversion命令來安裝SVN工具,主要為下載OpenWrt操作系統的源代碼提供支持。2)、GIT工具的安裝。在root用戶模式下使用yum install git-core命令來安裝GIT工具。3)、安裝依賴的庫文件。在root用戶模式下使用yum install命令來安裝所依賴的庫文件,比如g++、bzip2、flex、bison等等。 2、 OpenWrt操作系統源碼的下載。當使用命令yum install subversion安裝了SVN下載工具后,就可以使用該工具進行OpenWrt操作系統源碼的下載了。在下載操作系統源碼之前,需要使用mkdir OpenWrtCode命令創建一個存放源碼的文件夾OpenWrtCode。3、硬件平臺的選擇。在下載了最新的Openwrt操作系統源碼之后,需要使用make menuconfig命令打開配置界面,并在該界面中配置需要運行的硬件芯片類型。由于OpenWrt操作系統需要運行在RT5350芯片之上,因此,在硬件平臺配置界面需要配置選擇其目標系統為Ralink RT28/RTxx、目標平臺為RT/RT5350 based boards以及配置文件為HAME-MPR-A2。4、開啟無線功能。使用Vi命令將mac80211文件夾下對應的mac8021.sh腳本文件中的option disabled 1語句啟用無線功能即可。

通過以上4個步驟的實施就可以在OpenWrtCode/trunk目錄下執行make V=99命令,進行OpenWrt操作系統的編譯,編譯完成后將在該目錄下生成一個bin鏡像文件。使用tftpd工具將該鏡像文件下載到開發平臺即可。

四、嵌入式服務器的搭建

在嵌入式操作系統中,可以使用PHP開發語言來編寫程序實現數據的接收、存儲和轉發,因此,需要搭建一個嵌入式的Web服務器。本文通過使用Nginx和PHP來搭建一個運行PHP應用程序的Web服務器,具體的搭建過程如下。

1.安裝PHP

通過opkg命令來安裝PHP,其中安裝了PHP主程序、PHP高速緩沖存儲器APC、MySQL、網頁交換關鍵技術fastcgi以及數據解析如xml、json等。

2.配置PHP

PHP安裝之后,會在/etc的目錄下生成一個配置文件PHP.ini,通過修改該文件來完成PHP的配置工作。在配置文件中進行了主目錄的設置、各種擴展以及MySQL的默認的socket等信息。

3.安裝并設置Nginx

Web服務器軟件Nginx的按照,只需要使用opkg install nginx即可完成安裝。在nginx.conf、vhost.conf文件中設置其工作目錄、用戶及用戶組等信息。

4.配置FASTCGI

通過修改安裝目錄下的fastcgi_param文件來進行配置,配置文件類型解析錯誤問題的處理方式、查詢字符串、內容類型、內容長度等信息。

五、嵌入式MySQL數據庫的搭建

1.MySQL數據庫的安裝

使用opkg install mysql-server語句即可完成數據庫的安裝。

2.配置MySQL數據庫

通過修改/etc文件夾下的my.cnf文件來進行數據庫的位置、綁定地址、創建數據庫的存放位置以及創建數據庫。

至此,經過以上步驟,經過OPenWRT系統燒錄至RT5350芯片中,通過配置相應信息,并安裝和配置嵌入式服務及嵌入式數據庫系統,從而實現了一個智能網關,為整個智能家居系統的運行提供環境支持。

91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合