朱明武 朱斌庚 劉桂雄 南瑞亭
(華南理工大學機械與汽車工程學院)
物聯網是指通過射頻識別、無線傳感器網絡等信息傳感設備,按約定協議,把任何物品與互聯網連接起來,進行信息交換和通訊,以實現智能化識別、定位、跟蹤、監控和管理的一種網絡[1]。2010年3月5日,溫家寶總理在政府工作報告中,明確將“加快物聯網的研發應用”納入戰略性新興產業發展的任務[2]。2010年初教育部下達了高校開設物聯網專業申報通知,眾多高校爭相申報。物聯網專業的開設熱潮帶來了對物聯網教學工具的迫切需求,但目前市面上合適的物聯網實驗系統很少。同時,智能家居作為物聯網的重要應用已得到政府和企業的支持[3]。本文結合ZigBee無線通信技術、3G移動通信技術、傳感器技術及 C#編程技術,研發一個以智能家居為依托的物聯網教學系統。
圖1為物聯網框架圖,它分為感知層、網絡層和應用層[4]。其中,感知層是網絡與物品直接接觸層,負責數據采集、傳感器網絡組網和協同信息處理;網絡層通過互聯網、移動通信網等網絡把信息無障礙、高可靠性地傳送;應用層實現物與人的交互。基于智能家居需求以及物聯網結構層次,設計出圖2 所示的物聯網與智能家居教學系統。感知層采用 ZigBee技術進行傳感器網絡組網,眾多ZigBee節點與傳感器、執行器相連,負責上傳信息給 ZigBee協調器,同時接收協調器下發的命令控制家居設備。網絡層支持互聯網和移動通信網,PC用戶可通過本地PC主控軟件對家居設備進行狀態查詢和控制;手機用戶可通過短信對家居設備進行狀態查詢和控制,移動通信設備選用3G模塊;網絡用戶可通過網頁對家居設備進行狀態查詢和控制。

圖1 物聯網框架圖
實現此系統的關鍵主要有感知層的家居設備組網、網絡層的移動通信和應用層的用戶交互界面,三者分別對應ZigBee無線通信技術、3G移動通信技術、主控軟件編程技術。
ZigBee是一種低功耗、低傳輸速率、低成本、低復雜度、短距離的無線通信技術,尤其適合傳輸數據量小、功耗要求低、網絡節點要求多的場所。而智能家居設備密集、傳感器通信距離短、數據量不大,符合ZigBee特點。ZigBee建立在IEEE 802.15.4協議基礎上,增加網絡層和應用層,支持星型、樹狀、網狀等自組織網絡類型,網絡可容納多達64000個設備,組網距離可由幾十米擴展到上千米。ZigBee節點可分網絡協調器、全功能設備(FFD)和簡化功能設備(RFD)三種,網絡協調器實際上是一種 FFD設備,負責啟動整個ZigBee網絡,FFD比RFD擁有更強大計算能力和更豐富系統資源,可作為網絡建立者、管理者或終端設備;RFD常作為終端設備,從FFD接收信息或將信息傳遞給FFD[5]。

圖2 物聯網與智能家居教學系統結構圖
本系統ZigBee設備選用JENNIC公司JN5139系列模塊,使用一個全功能設備JN5139-Z01-M02R1作為 ZigBee網絡協調器,用于接收上位機指令及發送網絡節點信息給上位機;使用三個簡化功能設備JN5139-Z01-M01R1作為網絡節點,用于控制家居設備及上傳狀態信息。整個網絡工作于星型網絡結構。圖3 為ZigBee節點組網流程圖。

圖3 ZigBee組網流程
手機用戶與智能家居網絡的聯系紐帶是移動通信網,這里選用3G技術。3G模塊選用華為EM560模塊,它支持TD-SCDMA(3G)和GSM(2G)兩種網絡,是目前業界唯一同時支持 A頻段(1880MHz~1920MHz)和B頻段(2010MHz~2025MHz)的TD模塊,它支持mini PCI-Express和UART接口,支持短信、語音、電話本、補充業務等功能,對它驅動由AT命令實現。表1列出了短信收發的幾條重要AT命令。

表1 短信收發相關的重要AT命令
根據GSM 07.05的定義,SMS短信有Block、Text和PDU等三種模式。Block模式需模塊生產廠家提供驅動;Text模式只支持英文短信息;PDU模式支持中英文短信息,本系統采用PDU模式。
接收短信的PDU串格式與發送短信的PDU串格式不同,需要編寫特定的PDU編碼程序。例如,向13680337931號碼發送一條短信,內容是“節日”,則 PDU串為:0891 683108200005F0 11000D91 6831863073 39F1 0008FF04 828265E5。其中,683108200005F0表示服務中心號碼8613800200500,鄰位對調,補‘F’湊雙數;683186307339F1表示對方號碼8613680337931,鄰位對調,補‘F’湊雙數;828265E5表示短信內容“節日”的Unicode編碼。收到13680337931號碼發來的一條短信,內容是“節日”,則 PDU 串為:0891 683108100005F0 040D91 683186307339F1 0008 11604201530523 04 828265E5。其中,683108200005F0表示服務中心號碼8613800200500;683186307339F1表示對方號碼8613680337931;11604201530523表示短信時間2011-06-24 10:35:50 UTC+8時區;828265E5表示短信內容“節日”的Unicode編碼。
主控軟件用C#語言在Visual Studio 2008環境下開發,C#是.NET框架重點推出的面向對象開發語言,具備C++語言安全性和VB語言快速開發特點,適合用戶界面開發[6]。主控軟件與ZigBee協調器通過串口連接,.NET平臺提供SerialPort類操作串口。主控軟件與3G模塊EM560通過USB連接,PC操作系統的注冊表會創建一個虛擬串口,對虛擬串口寫AT命令即可控制 EM560。使用 SerialPort一般先配置PortName、BaudRate、Parity、DataBits、StopBits,然后用Open()打開串口,用Close()關閉串口,用Read()讀串口,用Write()寫串口。串口接收采用事件觸發方法,只需重載SerialPort.DataReceived事件。
系統工作流程如圖4所示。首先,手機用戶通過短信把控制命令發送到 3G模塊,收到短信后通過USB傳給主控中心PC,主控中心解釋命令并通過串口發給ZigBee協調器,協調器通過ZigBee無線網絡把命令發給指定分控終端 ZigBee節點,節點根據命令控制繼電器,從而實現手機用戶對家電的控制;其次,ZigBee節點執行命令后,向ZigBee協調器返回狀態,協調器把狀態傳送給主控中心,主控中心通過3G模塊以短信方式發送到用戶手機上,從而實現家居對手機用戶的回答。此外,PC用戶還可通過主控中心 PC機的主控軟件直接控制家電和查詢家電狀態。

圖4 系統工作流程
主控軟件主要考慮以下問題:(1)界面美觀得體、色彩柔和、內容簡潔、布局均勻;(2)控制圖與實物相似,形象生動。如開燈則燈的圖標和按鈕變亮色,關燈則變暗色;(3)界面給出物聯網智能家居原理圖,導引清晰,易教易學;(4)自動搜索,軟件啟動后會讀取 PC操作系統的串口注冊表,自動搜索 ZigBee協調器和3G模塊設備,無需手動設置串口參數和人工搜索;(5)聯動控制,控制家電的三種方式(短信控制、軟件控制、手動控制)可單獨控制,也可聯合控制,短信控制的命令和狀態會在軟件的狀態欄顯示。圖5為主控軟件界面。

圖5 主控軟件界面
根據物聯網專業的教學科研需求,在此系統基礎上可設計多種實訓實驗,如傳感器信息采集實驗、無線信號收發實驗、ZigBee網絡通訊實驗、上位機軟件交互控制實驗等等。
(1)ZigBee節點組網實驗 協調器上電,系統自動播報歡迎語音;節點1上電,1秒鐘后與協調器組網成功,節點1的綠燈閃;節點2上電,1秒鐘后節點2加入節點1與協調器的網絡成功,節點2的綠燈閃,同樣依次啟動其他節點加入網絡。
(2)軟件控制電燈電扇實驗 點擊軟件的開燈按鈕,被控燈亮,軟件的燈圖標變亮、按鈕文字變成“關”;再按此按鈕,被控燈滅,軟件的燈圖標變暗、按鈕文字變成“開”;點擊軟件的開風扇按鈕,被控風扇轉,軟件的按鈕文字變成“關”;再按此按鈕,被控風扇停,軟件的按鈕文字變成“開”。
(3)短信控制電燈(或電扇)實驗 手機編輯短信“L1ON”(開燈1)發到3G模塊的SIM卡號碼,被控燈亮,軟件的燈圖標變亮、按鈕文字變成“關”,同時收到3G模塊的短信回復“L1ON:OK”(開燈1成功);手機編輯短信“L1OFF”(關燈 1)發到 3G 模塊的SIM卡號碼,被控燈滅,軟件的燈圖標變暗、按鈕文字變成“開”,同時收到 3G模塊的短信回復“L1OFF:OK”(關燈1成功)。
物聯網和智能家居技術是當前研究熱點,本文結合二者為物聯網相關專業開發教學工具。本教學系統實現了短信、軟件、手動三種方式控制家電。系統具有自動搜索下位機設備、自動組網的特點,系統啟動播報歡迎語音,軟件界面形象生動,并且可進行多種全面的實驗,滿足物聯網專業的教學和科研需求。
[1]Atzori Luigi,Iera Antonio,Morabito Giacomo. The Internet of Things: A survey [J]. COMPUTER NETWORKS,2010,54(15):2787-2805.
[2]溫家寶.政府工作報告[R].北京:第十一屆全國人民代表大會第三次會議,2010.
[3]張云勇,房秉毅.基于物聯網的智能家居技術標準化現狀及發展建議[J].移動通信,2010,(15):25-29.
[4]張暉.物聯網技術框架與標準體系[N].中國計算機報,2010-03-15(32).
[5]周怡頲,凌志浩,吳勤勤.ZigBee無線通信技術及其應用探討[J].自動化儀表,2005,26(6):5-9.
[6]葛磊蛟,姚素娟,毛一之,等.基于 C#.NET的 GSM MODEM短信貓應用設計開發[J].現代電子技術,2009,(6):94-96.