吳磊 王猛
摘要:針對當(dāng)前智能家居系統(tǒng)中終端設(shè)備通信控制協(xié)議的多樣性,設(shè)計了一種能夠?qū)⒉捎貌煌瑓f(xié)議的智能家居設(shè)備進行集成的智能多協(xié)議網(wǎng)關(guān)。首先進行了多協(xié)議網(wǎng)關(guān)的模型設(shè)計與驗證,然后設(shè)計了網(wǎng)關(guān)的體系結(jié)構(gòu)模型,最后對多協(xié)議網(wǎng)關(guān)的硬件進行設(shè)計。該多協(xié)議網(wǎng)關(guān)采用以s3c6410作為主處理器的tiny6410核心板、CC2650的藍(lán)牙模塊、ESP8266的WiFi模塊。在軟件方面,主要設(shè)計了軟件的整體結(jié)構(gòu)、主控程序流程。同時在網(wǎng)關(guān)內(nèi)部使用Sqlite數(shù)據(jù)庫來對信息進行保存和更改。最后對此多協(xié)議網(wǎng)關(guān)的實時控制性能和數(shù)據(jù)傳輸性能進行了測試,給出了不同情況下測試得到的數(shù)據(jù)丟包情況。通過測試,本文設(shè)計的多協(xié)議網(wǎng)關(guān)具有一定的實用性。
關(guān)鍵詞:多協(xié)議網(wǎng)關(guān);嵌入式系統(tǒng);Linux系統(tǒng);Sqlite數(shù)據(jù)庫
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)30-0030-05
Design and Implementation of Multi-Protocol Gateway Based on Embedded Linux
WU Lei, WANG Meng
(Computer Institution, North China University of Technology, Beijing 100144, China)
Abstract: In view of the diversity of the communication control protocol of the terminal equipment in the current intelligent home system, an intelligent multi-protocol gateway is designed, which can integrate the intelligent home devices with different protocols. Firstly, the model design and verification of multi-protocol gateway is designed, and then the architecture model of gateway is designed. Finally, the hardware design of multi-protocol gateway is designed. The multi-protocol gateway uses S3C6410 as the main processor of the tiny6410 core board, CC2650 Bluetooth module,ESP8266-WiFi module. In the software, the main design of the overall structure of the software, the main control program flow. At the same time, use the SQlite-database to save and change the information in the gateway. Finally, the real-time control performance and data transmission performance of the multi-protocol gateway are tested, and the data packet dropout is given under different conditions. Through the test, the design of the multi-protocol gateway has a certain practicality.
Key words: Multi-protocol Gateway; Embedded system; Linux operating system; SQLite database
如今人們生活水平越來越高,物聯(lián)網(wǎng)的技術(shù)也更加完善,人們對家居生活也越來越挑剔,為了滿足人們?nèi)找嬖鲩L地對于家居生活的需要,實現(xiàn)物聯(lián)網(wǎng)智能家居系統(tǒng)也就成為未來家居環(huán)境建設(shè)的主要方向[1]。但是現(xiàn)階段,由于在家居內(nèi)部智能設(shè)備的通信控制協(xié)議沒有統(tǒng)一的標(biāo)準(zhǔn)[2],而每一套智能家居系統(tǒng)都需要配有專用的智能家居網(wǎng)關(guān)[3],這就造成了資源和人力的浪費,針對這種情況本文提出來了設(shè)計一個能夠支持多種通信控制協(xié)議的家庭智能網(wǎng)關(guān),硬件上采用基于s3c6410(ARM1176JZF-S)核心處理器的tiny6410開發(fā)平臺,使用串口總線技術(shù)與CC2650藍(lán)牙模塊和ESP8266 WiFi模塊進行通信,以太網(wǎng)接口通過網(wǎng)線與路由器相連,在嵌入式Linux系統(tǒng)上進行編程一方面通過以太網(wǎng)接口與Internet通信,另一方面通過串口和WiFi模塊、藍(lán)牙模塊通信,這樣就使網(wǎng)關(guān)與家居智能設(shè)備完成通信,從而完成不同協(xié)議之間的轉(zhuǎn)換和控制。
1 硬件設(shè)計
本文所設(shè)計的多協(xié)議網(wǎng)關(guān)的硬件組成部分主要有tiny6410平臺上所集成的s3c6410核心處理器、以太網(wǎng)接口、電源模塊;然后再加上WiFi無線模塊和CC2650藍(lán)牙模塊。
1.1 主控制器
主控制器是整個網(wǎng)關(guān)節(jié)點的核心部分,主要負(fù)責(zé)接收CC2650藍(lán)牙模塊和ESP8266模塊串口傳輸來的智能設(shè)備的具體數(shù)據(jù)信息和等待從以太網(wǎng)傳送過來的控制查詢數(shù)據(jù)信息,然后將從不同協(xié)議傳輸來的信息轉(zhuǎn)換成對應(yīng)的協(xié)議的信息。主控制器采用S3C6410處理器,這款處理器使用了ARM公司的ARM1176JZF-S內(nèi)核,其處理器主頻最高可達(dá)667Mhz,且具有256M Mobile DDR RAM,32bit數(shù)據(jù)總線結(jié)構(gòu),設(shè)計引出了多個串口,為用戶提供了多個接口,方便用戶開發(fā)[5]。所以,在經(jīng)過多方權(quán)衡的比較之后,最后使用s3c6410作為該網(wǎng)關(guān)的主控制器,并以此為核心構(gòu)建外圍模塊。
1.2 供電系統(tǒng)
任一控制系統(tǒng),電源都是必不可少的一部分,同時由于各個模塊之間的使用電壓和電流的不同,所以要設(shè)計一種合乎系統(tǒng)需求的電源模塊以滿足各不同模塊的供電需求[6]。
網(wǎng)關(guān)的核心處理器所需要的電壓為DC3.3v,且CC2650藍(lán)牙模塊、ESP8266WiFi模塊的正常工作供電電壓是DC3.3v;由于電壓不同,所以在采用由外部電源AC220v進行供電時,需要經(jīng)過穩(wěn)壓電路將其改變?yōu)镈C5v的電源,然后給網(wǎng)關(guān)上的各個模塊使用。
1.3 CC2650藍(lán)牙模塊
在智能家居領(lǐng)域中,一定要注意功耗問題[7],所以為了滿足低功耗的要求,本文采用了低功耗的CC2650藍(lán)牙模塊。該芯片具有UART等多種引出的接口資源,本文利用串口和核心處理器相連以完成數(shù)據(jù)的傳輸,可以滿足網(wǎng)關(guān)中對藍(lán)牙模塊通信的處理性能要求。
1.4 ESP8266WiFi模塊
由樂鑫公司出品的ESP8266WiFi模塊擁有高性能的無線SOC,與其他廠商具有低功耗和易用性等特點[8],所以本文所設(shè)計的多協(xié)議網(wǎng)關(guān)中的WiFi模塊采用ESP8266WiFi模塊。ESP8266WiFi模塊采用DC3.3v電源供電,具有SPI/SDIO、I2C/UART等通信控制接口,能夠滿足多協(xié)議網(wǎng)關(guān)中的核心處理器進行信息傳輸?shù)男枰?,本文所用的通信接口采用UART接口。
1.5 以太網(wǎng)網(wǎng)絡(luò)接口模塊
從開發(fā)的成本和效率來考慮,本文中所設(shè)計的多協(xié)議網(wǎng)關(guān)的以太網(wǎng)網(wǎng)絡(luò)接口模塊選用完全集成的DM9000AEP芯片,該芯片支持10/100Mbps通信速率和半/全雙工通信模式,它還具有節(jié)能模式,在此模式下其能耗較低,并且支持MII接口來連接媒體訪問控制器(MAC),能夠適配RJ45的網(wǎng)絡(luò)接口,它的正常工作電壓為DC3.3v。
2 軟件設(shè)計
設(shè)計了多協(xié)議網(wǎng)關(guān)的軟件體系,其具體結(jié)構(gòu)如圖3所示,多協(xié)議網(wǎng)關(guān)的軟件部分主要包含4個部分:
1) 在CC2650藍(lán)牙模塊指定的開發(fā)環(huán)境進行編程,實現(xiàn)網(wǎng)關(guān)和藍(lán)牙類型設(shè)備相互通信,然后再燒寫到藍(lán)牙模塊上;
2) 在Arduino開發(fā)環(huán)境對ESP8266WiFi模塊進行編程,然后寫到WiFi模塊上,使之能夠和網(wǎng)關(guān)通信。
3) 在嵌入式Linux操作系統(tǒng)上,通過TCP/IP協(xié)議和Socket編程來完成和Internet的數(shù)據(jù)傳輸;
4) 在tiny6410上啟動定制的嵌入式Linux操作系統(tǒng),一方面利用以太網(wǎng)口和手機端通信,一方面通過串口總線和無線模塊通信,同時在網(wǎng)關(guān)內(nèi)部利用已經(jīng)移植好的Sqlite數(shù)據(jù)庫來建立用戶信息管理表、家庭內(nèi)部智能設(shè)備信息管理表、情景模式管理表等表格,分別用來管理手機APP用戶的認(rèn)證、家庭內(nèi)部不同協(xié)議的智能設(shè)備的詳細(xì)信息以及手機用戶設(shè)置的情景模式。其中用戶信息管理表的詳細(xì)設(shè)計如表1所示,家庭內(nèi)部智能設(shè)備信息管理表如表2所示,情景模式管理表如表3所示。
2.1 網(wǎng)關(guān)與手機用戶APP的通信設(shè)計
本部分的設(shè)計主要是采用TCP/IP協(xié)議棧來使多協(xié)議網(wǎng)關(guān)和手機客戶端進行通信。網(wǎng)關(guān)的通信采用客戶端-服務(wù)器端方式使用Socket來完成多協(xié)議網(wǎng)關(guān)和手機客戶端的數(shù)據(jù)通信。在控制的過程中,網(wǎng)關(guān)會成為服務(wù)器端,它會不停的監(jiān)聽手機客戶端的連接和數(shù)據(jù)傳輸請求;用戶手機客戶端當(dāng)要進行智能家居的控制時,用戶手機客戶端將會主動向網(wǎng)關(guān)服務(wù)器發(fā)起連接請求。
根據(jù)2014年Google旗下的Nest推出的物聯(lián)網(wǎng)通信協(xié)議Thread,所以在多協(xié)議網(wǎng)關(guān)上使用udp服務(wù)器程序來監(jiān)聽手機用戶APP的連接請求。采用UDP服務(wù)器程序,主要是因為它有如下三個關(guān)鍵點:網(wǎng)絡(luò)帶寬需求較小,而實時性要求較高;大部分需求無需維持連接;需要低功耗。
2.2 網(wǎng)關(guān)與智能家居設(shè)備間的通信設(shè)計
網(wǎng)關(guān)與家居智能設(shè)備間的通信和控制分別采用藍(lán)牙和當(dāng)前最為普遍的WiFi無線通信技術(shù)。依據(jù)前文硬件電路設(shè)計,分別使用兩個串口和這兩個無線模塊相接,本次設(shè)計方案采用了一主多的從通信方式,網(wǎng)關(guān)作為主設(shè)備,其他智能設(shè)備作為從設(shè)備。當(dāng)多協(xié)議網(wǎng)關(guān)要控制藍(lán)牙類型的智能設(shè)備時,則通過與藍(lán)牙無線模塊相連的串口發(fā)送控制指令。同理,當(dāng)要控制WiFi類型的智能設(shè)備時,則向與WiFi無線模塊相連的串口發(fā)送控制指令。當(dāng)家庭內(nèi)部首先要布置WiFi智能設(shè)備時,首先要使用smartconfig技術(shù)將家庭內(nèi)部的WiFi智能設(shè)備連接到家庭內(nèi)部的局域網(wǎng)中,然后當(dāng)網(wǎng)關(guān)中接收到來自Internet的命令時,將會通知與之相連的WiFi設(shè)備,這時作為從設(shè)備的WiFi智能設(shè)備將會將自身的信息通過網(wǎng)關(guān)上的WiFi模塊發(fā)送至主控制器。家庭內(nèi)部的藍(lán)牙智能設(shè)備主要是采用conkie系統(tǒng)并使用rpl協(xié)議進行通信和控制。主要是當(dāng)網(wǎng)關(guān)的主控制器接收到來自Internet的指令時,將通過與藍(lán)牙模塊相連的串口發(fā)送至藍(lán)牙根節(jié)點,此時藍(lán)牙模塊將通過rpl協(xié)議進行數(shù)據(jù)的傳輸和控制。
同時為了能夠使手機端實時的得知家庭內(nèi)部的智能設(shè)備是否壞掉,在智能設(shè)備和網(wǎng)關(guān)的通信中設(shè)計了保活報文,在網(wǎng)關(guān)上在一段時間內(nèi)沒有收到同一設(shè)備發(fā)送來的?;钚畔r,將會向手機客戶端發(fā)送通知信息。
網(wǎng)關(guān)與WiFi智能設(shè)備、藍(lán)牙智能設(shè)備的時序圖如圖4所示。
其中各個序號代表的意義如下:
1)采用廣播查找網(wǎng)關(guān);
2)回復(fù)網(wǎng)關(guān)IP地址;
3)手機使用初始密碼接入網(wǎng)關(guān);
4)手機查詢設(shè)備;
5)網(wǎng)關(guān)通過wifi根節(jié)點廣播查詢wifi設(shè)備,向藍(lán)牙根節(jié)點發(fā)送查詢指令;
6)wifi、藍(lán)牙終端節(jié)點回復(fù),信息存至網(wǎng)關(guān);
7)將藍(lán)牙、wifi設(shè)備信息發(fā)至手機;
8)手機發(fā)送控制指令;
9)網(wǎng)關(guān)控制終端;
10)回復(fù)狀態(tài)信息;
11)回復(fù)至手機端(設(shè)備狀態(tài)信息)。
2.3 網(wǎng)關(guān)主控制器的設(shè)計
網(wǎng)關(guān)的主控制器的主要任務(wù)是調(diào)度藍(lán)牙模塊、WiFi模塊和服務(wù)器程序間的工作,是整個網(wǎng)關(guān)中最關(guān)鍵的一部分。主控制器的主要工作分為以下幾個部分:
1) 隨系統(tǒng)啟動UDP服務(wù)器程序,當(dāng)手機客戶端要進行連接時,會解析手機發(fā)送來報文中的手機MAC字段,然后和網(wǎng)關(guān)內(nèi)部中的用戶信息表進行比對。此部分主要完成手機用戶的認(rèn)證工作。
2) 對智能家居設(shè)備的相關(guān)信息進行收集,并將從串口傳送來的信息按照報文定義的字段進行解析,并將相對應(yīng)的字段保存至家庭內(nèi)部智能設(shè)備信息表,使當(dāng)手機客戶端請求連接網(wǎng)關(guān)時,能夠?qū)⒓揖又悄茉O(shè)備的狀態(tài)信息與用戶手機客戶端所顯示的狀態(tài)信息的同時更新。
3) 此網(wǎng)關(guān)內(nèi)部要維護一張手機用戶設(shè)置的情景模式表,當(dāng)手機客戶端要對某一情景模式控制時,可以實現(xiàn)在此情景模式中的全部設(shè)備的控制。
為了能夠支持多用戶能夠同時控制家庭內(nèi)部的智能設(shè)備,該多協(xié)議服務(wù)器采用如圖5所示的多進程的方式進行網(wǎng)絡(luò)的監(jiān)聽和數(shù)據(jù)報文的處理。
通過對網(wǎng)關(guān)主要工作的過程分析,主要從以下方面來對其開展研發(fā)設(shè)計:
1) 用于與手機客戶端進行以太網(wǎng)網(wǎng)絡(luò)進行通信UDP服務(wù)器程序會隨著ARM-Linux系統(tǒng)的啟動而啟動,之后會一直處于監(jiān)聽狀態(tài)并等待手機客戶端的鏈接。當(dāng)有手機客戶端發(fā)起鏈接請求后,該服務(wù)器程序根據(jù)已定義的報文格式,對手機MAC字段解析,并與用戶信息表中已存在的MAC地址進行匹配,若能夠匹配成功,則表示此用戶是已認(rèn)證用戶,可以登錄。若沒有匹配到,則解析報文中的密碼字段,如果匹配成功,則將此用戶的MAC地址存入用戶信息表中,否則提示用戶重新輸入密碼。
2) 當(dāng)服務(wù)器程序接收到用戶發(fā)送來的查詢報文時,服務(wù)器程序會另外創(chuàng)建一個子進程,并將查詢指令通過兩個串口發(fā)送給無線模塊,無線模塊會將查詢到的家庭內(nèi)部的智能設(shè)備信息傳輸至網(wǎng)關(guān),然后網(wǎng)關(guān)會將這些智能設(shè)備的信息保存至網(wǎng)關(guān)內(nèi)部的智能設(shè)備信息管理表中,同時也會向手機發(fā)送收集到的智能設(shè)備信息。
3) 當(dāng)手機客戶端要實現(xiàn)對智能設(shè)備的控制時,UDP服務(wù)器程序在接收到控制報文時,會先判斷用戶是控制的情景模式還是單個的設(shè)備,如果是要控制情景模式,則會通過情景模式管理表,通過無線轉(zhuǎn)發(fā)模塊從而控制家庭內(nèi)部智能設(shè)備。當(dāng)要控制家庭內(nèi)部的單個智能設(shè)備時,網(wǎng)關(guān)會先查詢智能設(shè)備信息管理表,找到要控制設(shè)備的具體信息,如果是WiFi設(shè)備則會通過指定的串口向WiFi轉(zhuǎn)發(fā)模塊發(fā)送控制指令,如果是藍(lán)牙設(shè)備則會通過與之相連的串口向藍(lán)牙轉(zhuǎn)發(fā)模塊發(fā)送控制指令。這樣會實現(xiàn)對家居智能設(shè)備的控制。
4) 在網(wǎng)關(guān)上的無線轉(zhuǎn)發(fā)模塊當(dāng)接收到家居智能設(shè)備的反饋報文時,會通過各自對應(yīng)的串口發(fā)送給網(wǎng)關(guān)處理程序,這時會將家居智能設(shè)備信息管理表和情景模式管理表中的狀態(tài)標(biāo)識位進行對應(yīng)的改變,同時會向手機客戶端反饋,用于提示用于該控制已經(jīng)成功。同時家庭內(nèi)部智能設(shè)備會定時的向網(wǎng)關(guān)發(fā)送?;顖笪?,用于通知網(wǎng)關(guān)自身一直在該網(wǎng)絡(luò)中,當(dāng)網(wǎng)關(guān)在一段時間之內(nèi)沒有收到某個智能設(shè)備時,會向手機用戶提示此設(shè)備已離開該網(wǎng)絡(luò)。
3 數(shù)據(jù)傳輸格式設(shè)計
本文主要涉及多協(xié)議網(wǎng)關(guān)與家居智能設(shè)備的通信和控制,為了能夠?qū)⑹謾C發(fā)送來的指令能夠準(zhǔn)確的發(fā)送給指定的智能設(shè)備,同時為了兼顧藍(lán)牙和WiFi網(wǎng)絡(luò),設(shè)計的數(shù)據(jù)包格式采用tlv(type-length-values)的報文格式如表4所示。
當(dāng)用戶手機客戶端發(fā)送的控制命令送達(dá)至網(wǎng)關(guān)并在網(wǎng)關(guān)在進行了數(shù)據(jù)分析和處理之后,會將具體的控制指令以圖10所設(shè)計的包格式傳輸?shù)絎iFi或者藍(lán)牙網(wǎng)絡(luò)中以實現(xiàn)具體的家居智能設(shè)備的控制。其中包類型分為控制或者回復(fù)等。設(shè)備類型分為開關(guān)、空調(diào)、窗簾等具體的智能設(shè)備,由于存在使用RPL協(xié)議的藍(lán)牙網(wǎng)絡(luò),所以設(shè)備IP設(shè)置為16字節(jié),采用設(shè)備MAC作為設(shè)備的唯一標(biāo)識,省去了重新編號的麻煩,設(shè)備狀態(tài)標(biāo)識當(dāng)前設(shè)備的開關(guān)情況。
4 試驗結(jié)果統(tǒng)計
實驗所用的多協(xié)議網(wǎng)關(guān)的實物如圖7所示。
為了能測試該多協(xié)議網(wǎng)關(guān)的性能,測試的環(huán)境如圖8所示,將2個WiFi模塊部署在網(wǎng)關(guān)的WiFi模塊可以到達(dá)的通信距離內(nèi),同時將4個使用的藍(lán)牙智能設(shè)備部署在網(wǎng)關(guān)的藍(lán)牙模塊能夠覆蓋的范圍內(nèi)。此時2個WiFi類型的開關(guān)和4個藍(lán)牙開關(guān)就分別于網(wǎng)關(guān)上的WiFi模塊和藍(lán)牙模塊組成了一個以網(wǎng)關(guān)為中心節(jié)點的網(wǎng)絡(luò)。先在相關(guān)的開發(fā)環(huán)境上編寫特定的程序,然后再燒寫到各自的模塊上,讓智能設(shè)備節(jié)點每過20s向多協(xié)議網(wǎng)關(guān)發(fā)送一次測試數(shù)據(jù)。這是可以在用戶手機客戶端編寫同樣的測試程序并讓其運行,讓手機客戶端每個25s向多協(xié)議網(wǎng)關(guān)發(fā)送一次測試的數(shù)據(jù),在經(jīng)過一段時間之后,統(tǒng)計網(wǎng)關(guān)上接收的測試數(shù)據(jù)情況,根據(jù)每種不同的情況進行不同的分析,然后得出網(wǎng)關(guān)接收/轉(zhuǎn)發(fā)數(shù)據(jù)的丟包率以及數(shù)據(jù)處理的時延。
4.1 網(wǎng)關(guān)接收數(shù)據(jù)的丟包率測試
網(wǎng)關(guān)接收的數(shù)據(jù)分為下面2種:
1) 網(wǎng)關(guān)的主控制器通過串口總線接收無線模塊發(fā)送的數(shù)據(jù),具體的就是上述測試的智能設(shè)備每隔一段時間發(fā)送來的測試數(shù)據(jù);
2) 網(wǎng)關(guān)主控制器服務(wù)器程序接收來的從手機客戶端發(fā)送來的控制/查詢的命令數(shù)據(jù)。這里,考慮到本網(wǎng)關(guān)的主要工作是與家庭內(nèi)部智能設(shè)備的通信,而且以太網(wǎng)口是tiny6410上已經(jīng)設(shè)計測試好的,所以本測試就不在測試以太網(wǎng)口的數(shù)據(jù)丟包情況,而只是關(guān)注從串口傳送來的測試數(shù)據(jù)。根據(jù)上面的測試環(huán)境,主要是在串口波特率為4800(bit/s)和9600(bit/s)時進行10次測試,將網(wǎng)關(guān)每從串口讀取800個測試的數(shù)據(jù)包作為一次完整的試驗。在對這10次試驗結(jié)果統(tǒng)計分析后求它們的均值。實驗的結(jié)果如表5所示。
表5 多協(xié)議網(wǎng)關(guān)不同串口波特率接收數(shù)據(jù)的丟包率
從實驗的數(shù)據(jù)統(tǒng)計的結(jié)果來看,當(dāng)多協(xié)議網(wǎng)關(guān)的串口被設(shè)置成為不同的波特率的時候,網(wǎng)關(guān)從串口接收的來自家居智能設(shè)備的數(shù)據(jù)的丟失都較低,以上設(shè)置的兩個不同波特率的實驗的平均數(shù)據(jù)丟包率的平均值為0.08%,所以該網(wǎng)關(guān)可以較好地完成數(shù)據(jù)的接收。
4.2 數(shù)據(jù)轉(zhuǎn)發(fā)的丟包率試驗
關(guān)于數(shù)據(jù)的轉(zhuǎn)發(fā),主要有2個過程:
1) 網(wǎng)關(guān)將從智能家居設(shè)備節(jié)點發(fā)送來的設(shè)備信息、狀態(tài)等數(shù)據(jù)通過以太網(wǎng)接口使用TCP/IP協(xié)議轉(zhuǎn)發(fā)到Internet的過程。
2) 將從用戶手機客戶端發(fā)送來的控制/查詢命令數(shù)據(jù)經(jīng)過解析封裝后通過網(wǎng)關(guān)的對應(yīng)串口經(jīng)相應(yīng)的無線模塊轉(zhuǎn)發(fā)到智能家居設(shè)備節(jié)點的過程。
根據(jù)上述測試的環(huán)境,通過在網(wǎng)關(guān)內(nèi)部設(shè)置一個數(shù)據(jù)轉(zhuǎn)發(fā)計數(shù)器來記錄數(shù)據(jù)的轉(zhuǎn)發(fā)量和丟包量,上述的2種數(shù)據(jù)轉(zhuǎn)發(fā)過程的測試結(jié)果如表6所示。
從上述測試的結(jié)果能夠看出,網(wǎng)關(guān)在2中數(shù)據(jù)轉(zhuǎn)發(fā)的過程中都有著比較低的數(shù)據(jù)丟失幾率,從而說明了該網(wǎng)關(guān)在2個過程中都能對數(shù)據(jù)進行較好的轉(zhuǎn)發(fā)。
4.3 網(wǎng)關(guān)處理數(shù)據(jù)時延測驗
網(wǎng)關(guān)處理數(shù)據(jù)的時延是指網(wǎng)關(guān)主控制器在處理完一個從串口或者Internet中讀取的數(shù)據(jù)之后再轉(zhuǎn)發(fā),這其中經(jīng)過的時間。這時間越短說明網(wǎng)關(guān)處理數(shù)據(jù)的時延就越小,效果就越好。本次試驗就是依據(jù)上文所述的測試環(huán)境,依次將串口波特率設(shè)置為4800bit/s和9600bit/s,然后再對時延就行測試。每當(dāng)網(wǎng)關(guān)從串口讀到1500個數(shù)據(jù)包就進行處理并轉(zhuǎn)發(fā),然后記錄下來此時的時延,當(dāng)做了同樣的10次試驗之后,最后對這10次的測試結(jié)果來求取數(shù)據(jù)處理時延的平均值,本次試驗統(tǒng)計的結(jié)果如表7所示。
從表7中的測試數(shù)據(jù)可以看到,本文所設(shè)計的網(wǎng)關(guān)數(shù)據(jù)處理的平均時延為13.68ms,說明此網(wǎng)關(guān)能及時處理數(shù)據(jù)。
5 結(jié)束語
在智能家居系統(tǒng)中智能家居網(wǎng)關(guān)占有中心地位,起著“翻譯官”的作用,使家庭內(nèi)部網(wǎng)絡(luò)能和Internet順利的通信。本文主要涉及網(wǎng)關(guān)的硬件和軟件設(shè)計,并在家庭內(nèi)部網(wǎng)絡(luò)數(shù)據(jù)傳輸格式方面進行設(shè)計和實驗,實現(xiàn)了能夠同時支持WiFi智能家居設(shè)備和藍(lán)牙智能家居設(shè)備的多協(xié)議網(wǎng)關(guān)。該網(wǎng)關(guān)可以有效地實現(xiàn)家居內(nèi)部不同的通信協(xié)議設(shè)備的網(wǎng)絡(luò)與Internet網(wǎng)絡(luò)相互連接的功能。
參考文獻(xiàn):
[1] 孫睿,付志紅.基于嵌入式Linux的藍(lán)牙以太網(wǎng)關(guān)設(shè)計[J].計算機應(yīng)用,2006(12).
[2] 劉曉霞,周紹軍基于先進處理器架構(gòu)的智能家居多協(xié)議網(wǎng)關(guān)設(shè)計[J].西南民族大學(xué)學(xué)報:自然科學(xué)版,2014(7).
[3] 劉高平,殷偉鳳,李國勝藍(lán)牙與以太網(wǎng)互聯(lián)技術(shù)的實現(xiàn)[J].計算機工程,2004(9).
[4] 沈永春,姜寧,張功鍍嵌入式多協(xié)議網(wǎng)關(guān)的設(shè)計與實現(xiàn)[J].自動化儀表,2007(6).
[5] 三星,tiny6410開發(fā)者手冊
[6] 郭榮佐,郭進,黎明智能家居中異構(gòu)設(shè)備無縫集成的多協(xié)議網(wǎng)關(guān)設(shè)計[J].小型微型計算機系統(tǒng),2015(10).
[7] 嚴(yán)冬,丁世佳,賀政基于ARM9的多協(xié)議異構(gòu)開發(fā)平臺的設(shè)計與實現(xiàn)[J].科技視界,2014(1).
[8] 王佳欣.智能家居系統(tǒng)網(wǎng)關(guān)的設(shè)計與實現(xiàn)智能[J].計算機與應(yīng)用,2016(6).