楊丹 胡偉 季康



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