房彪 蔣強(qiáng) 謝桂 馬金
【摘要】隨著物聯(lián)網(wǎng)技術(shù)高速發(fā)展,而智能家居系統(tǒng)則是物聯(lián)網(wǎng)技術(shù)一個(gè)重要應(yīng)用領(lǐng)域之一。但現(xiàn)有的智能家居通信接口較為單一[1],限制了終端功能的擴(kuò)展和系統(tǒng)的部署能力。在現(xiàn)有的智能家居通信基礎(chǔ)上提出了一種多種通信接口統(tǒng)一體的解決方案,該系統(tǒng)的通信接口容納包括RS232、USB、TCP/IP、GSM和WIFI。且該解決方案成功部署在LV-Home智能家居系統(tǒng)中,實(shí)現(xiàn)了PC、win8平板、智能手機(jī)和數(shù)據(jù)采集儀器在局域網(wǎng)的協(xié)同工作。為今后智能家居通信系統(tǒng)發(fā)展創(chuàng)造了條件。
【關(guān)鍵詞】智能家居;通信系統(tǒng);LabVIEW
1.方案簡(jiǎn)述
本系統(tǒng)具備與多種類型終端通信功能,按照通信終端類型可分為RS232串口設(shè)備、USB采集卡終端、PC終端、手機(jī)或平板終端。欲實(shí)現(xiàn)不同設(shè)備正常通信,必須使用不同的通信技術(shù)及其協(xié)議。與串口設(shè)備通信時(shí)采用基于RS232串口的Modbus協(xié)議[6],通信數(shù)據(jù)格式遵循Modbus規(guī)范;與6009數(shù)據(jù)采集卡和USB攝像頭通信時(shí),使用USB通信協(xié)議;與GSM模塊通信時(shí)采用基于RS232串口[7]的AT通信協(xié)議[2][3],即數(shù)據(jù)格式遵循AT指令規(guī)范;與PC客戶端通信時(shí)采用基于以太網(wǎng)的NI Data socket通信協(xié)議,遵循DSTP通信規(guī)范;與手機(jī)或平板客戶端通信時(shí)采用基于WIFI協(xié)議的Web service通信協(xié)議,遵循web Service相關(guān)規(guī)范。
2.基于Modbus協(xié)議的設(shè)計(jì)
2.1 Modbus協(xié)議簡(jiǎn)介
Modbus協(xié)議是應(yīng)用于電子控制器上的一種通用語言。通過此協(xié)議,控制器相互之間、控制器經(jīng)由網(wǎng)絡(luò)(例如以太網(wǎng))和其它設(shè)備之間可以通信。它已經(jīng)成為一通用工業(yè)標(biāo)準(zhǔn)。有了它,不同廠商生產(chǎn)的控制設(shè)備可以連成工業(yè)網(wǎng)絡(luò),進(jìn)行集中監(jiān)控。此協(xié)議定義了一個(gè)控制器能認(rèn)識(shí)使用的消息結(jié)構(gòu),而不管它們是經(jīng)過何種網(wǎng)絡(luò)進(jìn)行通信的。它描述了一控制器請(qǐng)求訪問其它設(shè)備的過程,如何回應(yīng)來自其它設(shè)備的請(qǐng)求,以及怎樣偵測(cè)錯(cuò)誤并記錄。它制定了消息域格局和內(nèi)容的公共格式。
當(dāng)在Modbus網(wǎng)絡(luò)上通信時(shí),此協(xié)議決定了每個(gè)控制器須要知道它們的設(shè)備地址,識(shí)別按地址發(fā)來的消息,決定要產(chǎn)生何種行動(dòng)。如果需要回應(yīng),控制器將生成反饋信息并用Modbus協(xié)議發(fā)出。在其它網(wǎng)絡(luò)上,包含了Modbus協(xié)議的消息轉(zhuǎn)換為在此網(wǎng)絡(luò)上使用的幀或包結(jié)構(gòu)。這種轉(zhuǎn)換也擴(kuò)展了根據(jù)具體的網(wǎng)絡(luò)解決節(jié)地址、路由路徑及錯(cuò)誤檢測(cè)的方法。
此協(xié)議支持傳統(tǒng)的RS-232、RS-422、RS-485和以太網(wǎng)設(shè)備。
2.2 Modbus特點(diǎn)
(1)標(biāo)準(zhǔn)、開放,用戶可以免費(fèi)、放心地使用Modbus協(xié)議,不需要交納許可證費(fèi),也不會(huì)侵犯知識(shí)產(chǎn)權(quán)。目前,支持Modbus的廠家超過400家,支持Modbus的產(chǎn)品超過600種。
(2)Modbus可以支持多種電氣接口,如RS-232、RS-485等,還可以在各種介質(zhì)上傳送,如雙絞線、光纖、無線等。
(3)Modbus的幀格式簡(jiǎn)單、緊湊,通俗易懂。用戶使用容易,廠商開發(fā)簡(jiǎn)單。
本章將在該協(xié)議的基礎(chǔ)之上完成通信格式的設(shè)計(jì)。將在RS-232串口實(shí)現(xiàn)通信。
2.3 Modbus通信消息幀
表1 Modbus通信消息幀
地址碼 功能碼 數(shù)據(jù)區(qū) CRC校驗(yàn)碼
1字節(jié) 4字節(jié) 1-252字節(jié) 2字節(jié)
數(shù)據(jù)區(qū):從機(jī)發(fā)給主機(jī)的數(shù)據(jù)需將各種類型數(shù)據(jù)轉(zhuǎn)換為ASCII碼,包含如表3所示數(shù)據(jù)。
CRC校驗(yàn)碼:用于校驗(yàn)數(shù)據(jù)傳輸過程中是否收到干擾。取數(shù)據(jù)區(qū)最前兩個(gè)字節(jié),結(jié)果計(jì)算后將結(jié)果與收到的數(shù)據(jù)區(qū)前兩個(gè)字節(jié)進(jìn)行對(duì)比,若相同,則表示數(shù)據(jù)傳輸過程中沒有收到干擾。校驗(yàn)算法請(qǐng)參加參考文獻(xiàn)《CRC校驗(yàn)碼在單片機(jī)中的程序?qū)崿F(xiàn)及其冗余碼表的求取[4] 》。
3.基于Datasocket 技術(shù)通信設(shè)計(jì)
3.1 Datasocket 技術(shù)簡(jiǎn)介
Datasocket[5]技術(shù)是由NI公司開發(fā),主要面向測(cè)控計(jì)算機(jī)網(wǎng)絡(luò)間通信領(lǐng)域,用于共享和發(fā)布實(shí)時(shí)數(shù)據(jù),是一種易用的高性能數(shù)據(jù)交換編程接口。它能有效地支持本地計(jì)算機(jī)上不同應(yīng)用程序?qū)μ囟〝?shù)據(jù)地同時(shí)應(yīng)用,以及網(wǎng)絡(luò)上不同計(jì)算機(jī)地多個(gè)應(yīng)用程序之間的數(shù)據(jù)交互,實(shí)現(xiàn)跨機(jī)器、跨語言、跨進(jìn)程的實(shí)時(shí)數(shù)據(jù)共享。用戶只需要知道數(shù)據(jù)源和數(shù)據(jù)宿及需要交換的數(shù)據(jù)就可以直接進(jìn)行高層應(yīng)用程序的開發(fā),實(shí)現(xiàn)高速數(shù)據(jù)傳輸,而不必關(guān)心底層的實(shí)現(xiàn)細(xì)節(jié),從而簡(jiǎn)化通信程序的編寫過程,提高編程效率。
在本系統(tǒng)中,主要利用它在以太網(wǎng)上實(shí)現(xiàn)遠(yuǎn)程控制功能。用戶可以通過遠(yuǎn)程計(jì)算機(jī)客戶端對(duì)家居的實(shí)時(shí)控制。采用一對(duì)多通信架構(gòu),在軟件實(shí)現(xiàn)上需要編寫一個(gè)受于服務(wù)器運(yùn)行的服務(wù)器軟件和受于PC客戶端運(yùn)行的客戶端軟件。
3.2 服務(wù)器與PC客戶端通信消息幀(如表4、5所示)
4.基于Web Service通信設(shè)計(jì)
4.1 Web Service 簡(jiǎn)介
Web Service技術(shù),能使得運(yùn)行在不同機(jī)器上的不同應(yīng)用無須借助附加的、專門的第三方軟件或硬件,就可相互交換數(shù)據(jù)或集成。依據(jù)Web Service規(guī)范實(shí)施的應(yīng)用之間, 無論它們所使用的語言、平臺(tái)或內(nèi)部協(xié)議是什么, 都可以相互交換數(shù)據(jù)。Web Service是自描述、 自包含的可用網(wǎng)絡(luò)模塊,可以執(zhí)行具體的業(yè)務(wù)功能。Web Service也很容易部署, 因?yàn)樗鼈兓谝恍┏R?guī)的產(chǎn)業(yè)標(biāo)準(zhǔn)以及已有的一些技術(shù),諸如標(biāo)準(zhǔn)通用標(biāo)記語言下的子集XML、HTTP。Web Service減少了應(yīng)用接口的花費(fèi)。Web Service為整個(gè)企業(yè)甚至多個(gè)組織之間的業(yè)務(wù)流程的集成提供了一個(gè)通用機(jī)制。
在本系統(tǒng)內(nèi)中主要利用它來實(shí)現(xiàn)手機(jī)客戶端與服務(wù)器的通信,主要基于wifi網(wǎng)絡(luò)。用戶可通過手機(jī)實(shí)時(shí)查看家里檢測(cè)到的各種數(shù)據(jù),并且可以通過面板遠(yuǎn)程控制家里的電器。其原理就是在PC服務(wù)器端發(fā)布基于Web Service 的標(biāo)準(zhǔn)XML數(shù)據(jù),然后通過編寫的手機(jī)App 訂閱該服務(wù),可支持安卓、IOS和WP平臺(tái)。
4.2 服務(wù)器與手機(jī)客戶端通信消息幀(如表6、7所示)
4.3 MOBUS、Datasocket和Web服務(wù)通信流程
圖1 通信流程
圖2 PC客戶端基于以太網(wǎng)的通信效果圖
如圖1、2所示,在本系統(tǒng)中,MODBUS、Datasocket和Web Services通信流程都一樣,盡是所占資源不一樣而已。具體請(qǐng)見參考相關(guān)文獻(xiàn)。
參考文獻(xiàn)
[1]楊利平.基于網(wǎng)絡(luò)技術(shù)的遠(yuǎn)程智能家居系統(tǒng)[J].儀器儀表學(xué)報(bào),2009,25(4):309-311.
[2]劉松,趙忠,孫學(xué)磊.基于GSM 的遠(yuǎn)程家庭智能監(jiān)控系統(tǒng)設(shè)計(jì)[J].電子測(cè)量技術(shù),2009,32(1):89-91.
[3]張俊. SMS 短消息傳輸?shù)倪h(yuǎn)端控制技術(shù)及其實(shí)現(xiàn)[J].儀器儀表學(xué)報(bào),2003,24(4):610-611.
[4]唐鵬程,鄒久明.CRC 校驗(yàn)碼在單片機(jī)中的程序?qū)崿F(xiàn)及其冗余碼表的求取[J].工業(yè)自動(dòng)化與裝置報(bào),2004(3):56-57.
[5]阮奇珍.我和LabVIEW:一個(gè)NI工程師十年編程經(jīng)驗(yàn)[M].北京航空航天大學(xué)出版社,2009:210-230.
[6]施耐德電氣有限公司.MODBUS通信協(xié)議技術(shù)規(guī)范.2000.
[7]EIA.RS232技術(shù)規(guī)范.1962.
基金項(xiàng)目:2013-2014年大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練項(xiàng)目(編號(hào):201310649005);樂山市科研啟動(dòng)項(xiàng)目(編號(hào):LS-ZX005)。