楊丹 胡偉 季康



關鍵詞:智能家居;智能網關;物聯網;云平臺
1緒論
在物聯網、云計算等技術的發展驅動下,我國智能家居的市場規模越來越大,在家電行業展現出巨大的前景。但是當前智能家居物聯網設備沒有統一的標準,導致家庭中各物聯網設備難以形成一個統一的系統。智能網關作為智能家居系統的入口被行業廣泛關注,如何讓智能網關與各無線子設備以及網絡云平臺進行綁定連接是智能家居系統中的關鍵。此環節涉及網關與無線子設備的綁定、網關與云平臺的綁定及云平臺上無線子設備的添加管理等功能。
為了方便智能家居售后安裝人員和個人用戶對智能網關和物聯網云平臺進行定制配置,本文研究設計了一個基于C#的智能網關配置系統,用于對智能網關進行定制化配置、云平臺綁定等服務,配置完成后可直接將網關及定制化的配套無線子設備應用于家庭中,快捷便利地實現一套完整的智能家居系統。
2系統總體設計
智能網關配置系統基于C#可視化設計界面,采用模塊化設計思想,實現云平臺登錄、設備搜索與連接及設備管理等功能。系統總體流程為:(1)用戶登錄;(2)局域網下設備搜索與連接;(3)網關同步云平臺子設備(傳感器和執行器等設備);(4)子設備的添加、刪除及編輯。
系統總體設計結構圖如圖1所示,按照設計思路,其各模塊的作用如下:
(1)用戶登錄模塊:用于填入賬戶及密碼登錄物聯網云平臺,獲取云平臺的操作Token。
(2)網關連接模塊:①獲取云平臺上所有項目,選擇網關要添加的項目。②搜索局域網下智能網關設備并連接。
(3)設備管理模塊:添加網關到云平臺上,并顯示此網關的信息;獲取云平臺上此網關下所有子設備(傳感器和執行器等),同步子設備列表到界面上和網關中,并提供子設備的添加、編輯、刪除功能。
(4)網絡連接模塊:庫模塊,為配置系統與網關進行連接與數據通信提供了各個接口。
(5)云平臺API模塊:為以上模塊與云平臺問通信提供了標準接口。封裝了與云平臺進行通信的各接口,包括用戶登錄、項目查詢、設備查詢、設備添加、子設備添加和刪除等API接口。
3各模塊具體設計及實現
本系統采用多個WinForm窗體完成所有功能,設計的界面按照簡潔、易操作的原則,方便安裝售后人員或個人用戶快速使用。系統除庫模塊外的其他各主模塊均有其對應的操作界面。
3.1用戶登錄模塊
用戶登錄模塊界面如圖2所示,在該界面上,用戶輸入登錄云平臺的賬號及密碼,如果登錄失敗,會提示登錄失敗的消息,否則,登錄成功后跳轉到網關連接界面。
3.2網關連接模塊
在網關連接模塊中,首先通過云平臺的網絡API接口獲取到此賬戶在云平臺上的個人信息并顯示到界面中;然后獲取此賬戶在云平臺上添加過的所有項目,必須選擇其中的一個項目,才能實現在云平臺上添加網關設備;最后通過UDP廣播的形式搜索局域網下的智能網關設備,智能網關收到匹配的搜索指令后,會發送網關設備信息及TCP網絡連接參數給搜索方。網關配置系統根據智能網關反饋的信息將所有搜索到的網關設備展示在列表中,用戶雙擊列表中的即可實現網關設備的連接,連接成功后即跳轉到設備管理模塊。網關連接模塊界面如圖3所示。
3.3設備管理模塊
設備管理模塊主要是展示網關設備下綁定的各子設備信息,并始終要保持與云平臺的同步。此模塊在系統與網關和云平臺連接成功后啟動,如果所連接的網關為出廠狀態,未與云平臺綁定,則要在云平臺上先創建該網關設備,并將創建好的信息發送給網關進行綁定。網關與云平臺綁定成功后,需要將網關的無線子設備與云平臺上的無線子設備信息進行同步,并展示在設備列表中,如圖4所示。
設備管理模塊下還包括無線子設備的添加、編輯及刪除功能模塊。如果需要在此網關下添加一個無線子設備,只需要在圖4所示界面點擊添加按鈕,將彈出添加子設備的界面。子設備信息界面中可以設置位置、名稱、標識名、傳輸類型等屬性。編輯功能則是修改一個云平臺上已存在的子設備的信息,為提高軟件設計復用性,與添加功能調用同一個界面,差異是編輯功能中的“傳感器標識名”項不可修改。此界面如圖5所示。在圖5中如果有所填內容不符合規范,系統將提示用戶信息輸入有誤,應規范輸入。編輯和刪除的功能入口在圖4界面列表中的對應項點擊右鍵選擇。所有添加、編輯和修改成功后都將實時刷新圖4中的列表框。
3.4網絡連接模塊
網絡連接模塊封裝了系統與網關進行通信的接口,使用TCP/IP、c#線程等技術實現UDP廣播搜索設備接口、UDP接收設備響應接口、創建TCP Socket連接接口、連接Socket、TCP發送與接收接口等。
3.5云平臺API模塊
云平臺API模塊封裝了與云平臺進行通信的各接口,為其他模塊與云平臺進行數據交互提供服務,主要采用Http網絡協議與云平臺進行數據交互。
4結語
本文設計的智能網關配置系統,界面簡單,具備云平臺登錄、網關設備添加、網關設備管理等功能。可以方便快捷地對一個智能網關設備進行定制化配置,靈活綁定智能家居系統中需要的傳感器和執行器,為快速定制智能化的家居系統提供便利。系統采用模塊化設計,運行穩定可靠,而且可以方便地對其進行后續功能的添加與修改。