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