摘 要:隨著信息家電的發(fā)展以及人們對(duì)Internet 依賴(lài)性的增強(qiáng),家庭網(wǎng)絡(luò)代表一種新理念正被越來(lái)越多的人所關(guān)注。利用藍(lán)牙技術(shù)可以將微機(jī)與各種智能家電設(shè)備連接成一個(gè)方便實(shí)用的嵌入式無(wú)線(xiàn)家庭網(wǎng)關(guān)。在研究該家庭網(wǎng)關(guān)應(yīng)完成功能的基礎(chǔ)之上,提出以S3C2410為核心的家庭控制子網(wǎng)的實(shí)現(xiàn)方案。該家庭網(wǎng)關(guān)對(duì)外與Internet相連,對(duì)內(nèi)采用藍(lán)牙BlueCore2 External模塊和家電通信,從而實(shí)現(xiàn)通過(guò)Internet 上的計(jì)算機(jī)對(duì)家庭內(nèi)部設(shè)備的遠(yuǎn)程監(jiān)控。
關(guān)鍵詞:信息家電;家庭網(wǎng)絡(luò);藍(lán)牙技術(shù);家庭網(wǎng)關(guān)
中圖分類(lèi)號(hào):TP393.1 文獻(xiàn)標(biāo)識(shí)碼:B
文章編號(hào):1004-373X(2008)10-067-03
Design and Implementation of Information Appliance Network System
Based on Bluetooth Technology
LIU Xin,LIU Damao
(College of Physics and Information Engineering,F(xiàn)uzhou University,F(xiàn)uzhou,350002,China)
Abstract:With the development of information electrical appliance and Internrt,more and more attentions are paid to home network which presents a new concept.For setting up an embedded wireless home gateway,it may connect thecomputer and intelligent electrical appliances by using the bluetooth technology.Firstly it researches the function that home gateway should complete.Next it brings forward the implementation scheme of home control sub-network based on S3C2410.This home gateway connects to the Internet outside,wirelessly connects with the home appliance by using BlueCore2 External module inside. So it can accomplish to long-range monitor and control of the home appliances by using the Internet computer.
Keywords:information electrical appliance;home network;bluetooth technology;home gateway
1 前 言
隨著科技的進(jìn)步與社會(huì)的發(fā)展,人們對(duì)生活品質(zhì)的追求也日益提高,傳統(tǒng)家用電器已經(jīng)逐漸無(wú)法滿(mǎn)足現(xiàn)代家庭的需要。一方面,傳統(tǒng)家電無(wú)法自動(dòng)獲取外界的信息,形成信息的孤島;另一方面,不同的家電之間互相獨(dú)立,無(wú)法協(xié)同工作。為了解決這些問(wèn)題,出現(xiàn)了融合現(xiàn)代通信技術(shù)和計(jì)算機(jī)技術(shù),使傳統(tǒng)家電智能化并具有網(wǎng)絡(luò)功能的信息家(Information Electrical Appliance,IEA)\\[1\\]。各種信息家電進(jìn)行有線(xiàn)或無(wú)線(xiàn)連接,形成家庭網(wǎng)絡(luò),隨時(shí)隨地為家庭成員提供各種與家居生活密切相關(guān)的服務(wù)。
藍(lán)牙(Bluetooth)技術(shù)是一項(xiàng)開(kāi)放的、全球統(tǒng)一的短距離無(wú)線(xiàn)通信協(xié)議規(guī)范,其目的是取代現(xiàn)有的各種電子設(shè)備上的有線(xiàn)接口。目前,家庭聯(lián)網(wǎng)面臨主要問(wèn)題就是缺乏完整統(tǒng)一的標(biāo)準(zhǔn),而藍(lán)牙技術(shù)的優(yōu)勢(shì)在于全球標(biāo)準(zhǔn)的統(tǒng)一,具有互操作性,以及能非常方便地實(shí)現(xiàn)快速、靈活、安全、低成本、低功耗的數(shù)據(jù)和語(yǔ)音通信,因此藍(lán)牙技術(shù)在家庭無(wú)線(xiàn)網(wǎng)絡(luò)系統(tǒng)中的發(fā)展?jié)摿薮?。?yīng)用藍(lán)牙技術(shù),通過(guò)無(wú)線(xiàn)通信使信息設(shè)備之間建立聯(lián)系。設(shè)備可以相互之間自動(dòng)地進(jìn)行聯(lián)絡(luò)與確認(rèn),通過(guò)相應(yīng)的控制軟件,不需要用戶(hù)干預(yù)就可以建立連接傳輸數(shù)據(jù)。
2 家電信息網(wǎng)絡(luò)的系統(tǒng)設(shè)計(jì)
2.1 總體結(jié)構(gòu)
家庭網(wǎng)絡(luò)代表家庭信息化的一種新理念正越來(lái)越多地被人們所關(guān)注。家庭網(wǎng)絡(luò)最終實(shí)現(xiàn)每一個(gè)電子設(shè)備之間的互連,并且與Internet相連。其總體結(jié)構(gòu)如圖1所示。
家電信息網(wǎng)絡(luò)的特點(diǎn)是多元信息處理,包括各類(lèi)信息的采集、加工、管理、存儲(chǔ)、交互等,因此有必要建立一個(gè)功能強(qiáng)大的信息處理平臺(tái)。在智能家庭網(wǎng)絡(luò)中,家庭網(wǎng)關(guān)擔(dān)當(dāng)信息處理平臺(tái)的角色。他一方面完成家庭網(wǎng)絡(luò)中各種不同通信協(xié)議之間的轉(zhuǎn)換和信息共享,以及同外部通信網(wǎng)絡(luò)之間的數(shù)據(jù)交換功能;另一方面負(fù)責(zé)對(duì)家庭中各個(gè)信息家電的管理和控制。同時(shí),各個(gè)信息家電也可通過(guò)家庭網(wǎng)關(guān)與外部網(wǎng)絡(luò)相聯(lián),實(shí)現(xiàn)信息的交互和共享。
家庭主網(wǎng)網(wǎng)關(guān)是一個(gè)嵌入式設(shè)備,具有服務(wù)器功能,向家庭內(nèi)部提供以太網(wǎng)連網(wǎng)方式。
他實(shí)現(xiàn)基本功能為:
(1)嵌入式TCP/IP 協(xié)議棧他負(fù)責(zé)家庭主網(wǎng)網(wǎng)關(guān)和外部Internet 網(wǎng)絡(luò)的通信;
(2)嵌入式Web 服務(wù)器(WebServer)嵌入式Web服務(wù)器是家庭網(wǎng)關(guān)面向外部通信網(wǎng)絡(luò)和遠(yuǎn)程監(jiān)控用戶(hù)的窗口,遠(yuǎn)程監(jiān)控用戶(hù)通過(guò)網(wǎng)頁(yè)以CGI 形式改變和控制家庭智能終端的參數(shù)和狀態(tài);
(3)內(nèi)部網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換:擔(dān)負(fù)著智能家庭局域網(wǎng)內(nèi)部各種不同協(xié)議子網(wǎng)之間的協(xié)議轉(zhuǎn)換工作;
(4) 家庭智能控制與管理功能是智能家庭網(wǎng)關(guān)的核心,根據(jù)遠(yuǎn)程監(jiān)控用戶(hù)的指令對(duì)各種不同智能應(yīng)用終端的參數(shù)設(shè)置和控制\\[2\\]。
家庭控制子網(wǎng)是在家庭網(wǎng)絡(luò)中包含子網(wǎng)關(guān)、移動(dòng)控制終端、三表三防設(shè)備和信息家電終端(Information Appliance,IA)等低速設(shè)備的網(wǎng)段。任何家電和設(shè)備都能直接或通過(guò)子網(wǎng)網(wǎng)關(guān)進(jìn)行連接,實(shí)現(xiàn)智能控制和信息交流。
家庭控制子網(wǎng)內(nèi)部設(shè)備的連接有很多方式,可分為有線(xiàn)和無(wú)線(xiàn)2大類(lèi)。有線(xiàn)技術(shù)的數(shù)據(jù)傳輸速率相對(duì)較高,可靠性強(qiáng),但靈活性差、布線(xiàn)復(fù)雜。采用無(wú)線(xiàn)通信技術(shù)可以免去在家庭內(nèi)部布線(xiàn)的煩惱,新增的家電設(shè)備也可以很方便加入家庭網(wǎng)絡(luò)之中,從而解決移動(dòng)設(shè)備的聯(lián)網(wǎng)問(wèn)題。無(wú)線(xiàn)方案主要包括WIFI,HomeRF、藍(lán)牙、紅外等,在這些家庭無(wú)線(xiàn)聯(lián)網(wǎng)方案中,藍(lán)牙技術(shù)更加適合家庭內(nèi)部聯(lián)網(wǎng)技術(shù)。這是因?yàn)樗{(lán)牙技術(shù)是作為一種“電纜替代”的技術(shù)提出來(lái)的,發(fā)展到今天已經(jīng)演化成一種個(gè)人信息網(wǎng)絡(luò)平臺(tái):藍(lán)牙適用于在短距離(大約10 m)范圍內(nèi)替代電纜,如果增大發(fā)射功率,傳輸距離可達(dá)100 m,基本滿(mǎn)足家庭內(nèi)部使用的需要;抗干擾能力強(qiáng),可以不對(duì)準(zhǔn),可以不在同一房間,鏈接最大數(shù)目可達(dá)7個(gè),同時(shí)區(qū)分硬件;藍(lán)牙系統(tǒng)具有連接的普遍性、標(biāo)準(zhǔn)的開(kāi)放性以及很強(qiáng)的擴(kuò)展性,可以滿(mǎn)足家庭網(wǎng)絡(luò)中更多的需要。
家庭主網(wǎng)網(wǎng)關(guān)和子網(wǎng)網(wǎng)關(guān)在物理上可以是同一實(shí)體。家庭子網(wǎng)網(wǎng)關(guān)主要具有以下功能:給出友好的人機(jī)界面:用戶(hù)可以進(jìn)入任一個(gè)電器的控制選項(xiàng)界面,控制各子網(wǎng)設(shè)備,操作簡(jiǎn)單;管理各種子網(wǎng)設(shè)備:當(dāng)新的設(shè)備加入到家庭控制子網(wǎng)網(wǎng)絡(luò)系統(tǒng)中時(shí),子網(wǎng)網(wǎng)關(guān)可以通過(guò)添加設(shè)備文件來(lái)添加新的設(shè)備,同時(shí)具有刪除設(shè)備的功能。與各個(gè)通信模塊進(jìn)行數(shù)據(jù)交換:子網(wǎng)網(wǎng)關(guān)與各個(gè)通信模塊之間的通信協(xié)議遵從家庭控制子網(wǎng)通信協(xié)議。
無(wú)線(xiàn)家庭控制子網(wǎng)通信協(xié)議的結(jié)構(gòu)如圖2所示。其中,UDCP屬于應(yīng)用層協(xié)議,其作用是進(jìn)行整個(gè)子網(wǎng)中設(shè)備的添加、刪除、狀態(tài)查詢(xún)、參數(shù)配置等系統(tǒng)管理及根據(jù)設(shè)備描述文件進(jìn)行控制。UDCP協(xié)議為各種家電的管理和控制提供統(tǒng)一的接口,他利用設(shè)備文件讀取被管理設(shè)備的相應(yīng)信息。用戶(hù)通過(guò)外部網(wǎng)絡(luò)對(duì)信息家電進(jìn)行控制,實(shí)際上就是UDCP層進(jìn)行透明的數(shù)據(jù)傳輸。
2.2 系統(tǒng)設(shè)計(jì)方案
在作為系統(tǒng)核心的家庭網(wǎng)關(guān)中,主網(wǎng)網(wǎng)關(guān)和子網(wǎng)網(wǎng)關(guān)位于同一個(gè)物理平臺(tái)。圖3是本文研制的嵌入式網(wǎng)關(guān)的硬件框圖,處理器采用ARM920T內(nèi)核處理器S3C2410,由其控制接口模塊和藍(lán)牙收發(fā)模塊,以使用戶(hù)可以通過(guò)Internet遠(yuǎn)程訪(fǎng)問(wèn)家庭網(wǎng)絡(luò)。網(wǎng)關(guān)、家電終端和移動(dòng)控制終端均采用相同的藍(lán)牙收發(fā)模塊硬件,藍(lán)牙芯片采用英國(guó)CSR (Cambridge Silicon Radio)公司的BlueCore2 External。選用Linux嵌入式操作系統(tǒng)為軟件平臺(tái)。
邏輯上的主網(wǎng)網(wǎng)關(guān)由Web服務(wù)器、CGI程序、IAC(Inter-Application Communication,應(yīng)用間進(jìn)程)駐留進(jìn)程組成。Web服務(wù)器與CGI程序負(fù)責(zé)為客戶(hù)瀏覽器提供靜態(tài)、動(dòng)態(tài)的HTTP網(wǎng)頁(yè);IAC駐留進(jìn)程負(fù)責(zé)接收CGI程序發(fā)出的控制命令,并與子網(wǎng)網(wǎng)關(guān)主程序交互。該進(jìn)程在系統(tǒng)啟動(dòng)時(shí),緊跟子網(wǎng)網(wǎng)關(guān)主程序啟動(dòng),在整個(gè)網(wǎng)關(guān)運(yùn)行期間一直存在。邏輯上的子網(wǎng)網(wǎng)關(guān)由串口驅(qū)動(dòng)模塊、虛擬串口驅(qū)動(dòng)模塊、TCP/IP/PPP組件、配置管理程序、設(shè)備描述文件及注冊(cè)表、子網(wǎng)網(wǎng)關(guān)主程序組成\\[3\\]。
2.3 軟件的設(shè)計(jì)與實(shí)現(xiàn)
2.3.1 BuleZ在嵌入式Linux中的移植
BuleZ是官方Linux Bluetooth棧,由主機(jī)控制接口(Host Control Interface,HCI)層、Bluetooth協(xié)議核心、邏輯鏈路控制和適配協(xié)議、SCO音頻層、其他Bluetooth服務(wù)、用戶(hù)空間后臺(tái)進(jìn)程以及配置工具組成。
Bluetooth規(guī)范支持針對(duì)Bluetooth HCI數(shù)據(jù)分組的UART和USB傳輸機(jī)制。BlueZ棧對(duì)這2個(gè)傳輸機(jī)制都支持。BlueZ BNEP(Bluetooth網(wǎng)絡(luò)封裝協(xié)議)實(shí)現(xiàn)Bluetooth上的以太網(wǎng)仿真,從而使TCP/IP可以直接運(yùn)行于Bluetooth之上\\[4\\]。
在Linux下安裝BlueZ,必須針對(duì)內(nèi)核版本打補(bǔ)丁,可以在BlueZ官方網(wǎng)站www.bluez.org/patches.html下載相應(yīng)的補(bǔ)丁文件。本文用的是Linux-2.4.20-8,需要下載patch-2.4.20-mhl8.gz的補(bǔ)丁文件。
首先進(jìn)入內(nèi)核子目錄,再對(duì)該目錄下的文件進(jìn)行補(bǔ)丁安裝(一定要在root用戶(hù)下):
#cd /user/src/linux-2.4.20-8
#gzip -dc./patch-2.4.20-mhl8.gz | patch -pl
然后配置內(nèi)核文件:
#make menuconfig
配置完選項(xiàng)后,可以編譯內(nèi)核:
#make dep
#make zImage
如果不出錯(cuò),就可以移植BlueZ的基礎(chǔ)庫(kù)最后安裝編譯好的新內(nèi)核。
2.3.2 主網(wǎng)關(guān)程序
IAC是主網(wǎng)關(guān)程序的核心和樞紐,負(fù)責(zé)接收CGI(通用網(wǎng)關(guān)接口)程序發(fā)出的控制命令以及與子網(wǎng)關(guān)應(yīng)用程序交互。IAC以進(jìn)程的方式運(yùn)行,在系統(tǒng)啟動(dòng)時(shí),緊跟子網(wǎng)關(guān)應(yīng)用程序啟動(dòng),在網(wǎng)關(guān)程序運(yùn)行期間一直存在\\[1\\]。
IAC駐留進(jìn)程與CGI程序之間采用直接內(nèi)存訪(fǎng)問(wèn)的方式進(jìn)行通信。在高端RAM中劃出兩塊區(qū)間SRV_WBUF和CGI_WBUF。
CGI程序?qū)⒖刂泼钷D(zhuǎn)成UDCP數(shù)據(jù)報(bào)文的形式寫(xiě)入CGI_WBUF后,向IAC進(jìn)程駐留進(jìn)程發(fā)送信號(hào)SIGUSR1,通知駐留進(jìn)程有命令到來(lái)。IAC駐留進(jìn)程在SIGUSR1信號(hào)處理函數(shù)中,從CGI_WBUF讀取數(shù)據(jù)并使用UDCP_SendData()將命令發(fā)送給子網(wǎng)網(wǎng)關(guān)。
IAC駐留進(jìn)程收到來(lái)自子網(wǎng)網(wǎng)關(guān)的UDCP數(shù)據(jù)報(bào)文,則將報(bào)文信息寫(xiě)入SRV_WBUF,供CGI程序讀取。
2.3.3 子網(wǎng)網(wǎng)關(guān)主程序
子網(wǎng)網(wǎng)關(guān)主程序是一個(gè)在嵌入式系統(tǒng)上運(yùn)行的用戶(hù)態(tài)進(jìn)程,負(fù)責(zé)藍(lán)牙協(xié)議棧消息派送、進(jìn)行串口、虛擬串口、Socket、UDCP 、藍(lán)牙協(xié)議棧各任務(wù)的調(diào)度。子網(wǎng)關(guān)應(yīng)用程序工作流程如圖5所示。
串口數(shù)據(jù)處理子模塊 當(dāng)串口有數(shù)據(jù)時(shí),調(diào)用read系統(tǒng)函數(shù)讀串口數(shù)據(jù),并將數(shù)據(jù)送往HCI傳輸層處理。HCI傳輸層直接和串口打交道,將串口送來(lái)的數(shù)據(jù)打包成相應(yīng)的HCI包送給上層協(xié)議處理,或?qū)⑸蠈訁f(xié)議送來(lái)的數(shù)據(jù)寫(xiě)向串口。
Socket數(shù)據(jù)處理子模塊 子網(wǎng)網(wǎng)關(guān)程序初始化完畢后就進(jìn)入主循環(huán),主循環(huán)的作用一是為藍(lán)牙協(xié)議棧派發(fā)信息。二是用select處理藍(lán)牙模塊,主網(wǎng)網(wǎng)關(guān),上層來(lái)的數(shù)據(jù),監(jiān)聽(tīng)串口、虛擬串口和socket。一旦從串口、虛擬串口和socket設(shè)備取得一個(gè)事件或數(shù)據(jù)包就應(yīng)該停止監(jiān)聽(tīng),立即交藍(lán)牙協(xié)議棧和UDCP處理。
3 結(jié) 語(yǔ)
本文討論一個(gè)基于ARM處理器S3C2410及Linux的無(wú)線(xiàn)家庭網(wǎng)關(guān)的軟硬件設(shè)計(jì)。與其他的家庭網(wǎng)關(guān)相比,首先該家庭網(wǎng)關(guān)采用藍(lán)牙技術(shù),省掉了布線(xiàn)的麻煩;其次,本系統(tǒng)能隨時(shí)隨地通過(guò)瀏覽器瀏覽網(wǎng)頁(yè),就達(dá)到對(duì)家電的遠(yuǎn)程控制,擺脫了傳統(tǒng)家電一對(duì)一的控制模式,對(duì)家電的管理變得更加容易,完全符合當(dāng)前家電向智能化、信息化、網(wǎng)絡(luò)化、人性化方向發(fā)展的趨勢(shì)。
參 考 文 獻(xiàn)
[1]沈連豐,宋鐵成,葉芝慧.嵌入式系統(tǒng)及其開(kāi)發(fā)應(yīng)用\\[M\\].北京:電子工業(yè)出版社,2005.
[2]白清利,張東來(lái).嵌入式家庭網(wǎng)關(guān)功能分析與設(shè)計(jì)實(shí)現(xiàn)\\[J\\].微計(jì)算機(jī)信息,2006,22(20):10-12,96.
[3]袁宇恒,葉芝慧,沈連豐.基于藍(lán)牙技術(shù)的家庭網(wǎng)絡(luò)控制子網(wǎng)設(shè)計(jì)與研制\\[J\\].東南大學(xué)學(xué)報(bào):自然科學(xué)版,2006,36(1):13-18.
[4]黃濤,白創(chuàng),徐靖.嵌入式無(wú)線(xiàn)互連系統(tǒng)開(kāi)發(fā)\\[M\\].北京:中國(guó)電力出版社,2007.
[5]彭月平,稅冬東,劉長(zhǎng)泉.ROK 101 007/1型藍(lán)牙模塊的特性及其應(yīng)用\\[J\\].國(guó)外電子元器件,2006(6):41-43.
作者簡(jiǎn)介 劉 新 男,1978年出生,碩士研究生。研究方向?yàn)樾盘?hào)與信息處理、嵌入式系統(tǒng)及應(yīng)用。
劉大茂 男,教授,碩士生導(dǎo)師。研究方向?yàn)榍度胧较到y(tǒng)及應(yīng)用。