t工具通過嵌入式的方式,移植到家居設(shè)備中。
[0045]請繼續(xù)參閱圖2,步驟S500之前,還包括步驟:
[0046]S400:創(chuàng)建與所述家居設(shè)備的WIFI模塊的物理接口對應(yīng)的虛擬無線端口。
[0047]請參閱圖3,步驟S500,包括:
[0048]S510:通過wpa-supplicant工具獲取所述路由器與所述虛擬無線端口的連接狀
??τ ο
[0049]其中,wpa-supplicant工具的啟動類型,設(shè)置為無線驅(qū)動類型。
[0050]具體命令為:wpa_supplicant-Dwext-1wlanO-c wpa_supplicant.conf,其中-Dwext是指驅(qū)動類型為wext,即無線驅(qū)動類型;-1wlanO指物理接口為所述虛擬無線端口(用wlanO表示)所對應(yīng)的物理端口,wpa_suppli cant.conf為無線配置文件。
[0051 ] S520:當(dāng)所述連接狀態(tài)為未完成連接時(shí),創(chuàng)建基于所述虛擬無線端口的又一虛擬端口。
[0052]S530:通過所述又一虛擬端口抓取所述無線報(bào)文。
[0053]在無線環(huán)境中,移動終端連接路由器的信道在家居設(shè)備中是不可知的,所以家居設(shè)備要每隔一段時(shí)間切換信道,在不同的信道中抓取無線報(bào)文。
[0054]S540:解析所述無線報(bào)文得到所述服務(wù)集標(biāo)識及所述密碼,并將所述服務(wù)集標(biāo)識及所述密碼寫入系統(tǒng)配置文件。
[0055]當(dāng)家居設(shè)備在某個(gè)信道接收并初步解析到帶有標(biāo)志位的無線報(bào)文后,將在該信道停留一段時(shí)間,進(jìn)行無線報(bào)文的進(jìn)一步解析。從而得到所述服務(wù)集標(biāo)識及所述密碼,并將所述服務(wù)集標(biāo)識及所述密碼寫入系統(tǒng)配置文件。
[0056]S550:通過wpa-supplicant工具讀取系統(tǒng)配置文件,獲取所述服務(wù)集標(biāo)識及所述密碼,并通過wpa-suppl icant工具獲取所述服務(wù)集標(biāo)識對應(yīng)的所述路由器的加密方式。
[0057]在本實(shí)施例中,路由器的加密方式包括WEP模式,WPA模式,WPA2模式,OPEN模式四種模式。其中,WEP模式為采用WEP協(xié)議加密;WPA模式為采用WPA協(xié)議加密;WPA2模式為采用WPA2協(xié)議加密;OPEN模式為不加密模式。
[°°58] S560:通過wpa-suppl icant工具將所述虛擬無線端口通過所述加密方式連接至所述路由器。
[0059]如果獲取到加密方式為WEP模式,則wpa-suppl icant工具要依次發(fā)送“ADD_NETWORK”命令,添加網(wǎng)絡(luò)ID號,“SET_NETW0RK ID ssid“SSID””命令,添加路由器名稱為所述服務(wù)集標(biāo)識,“SET_NETW0RK ID key_mgmt NONE” 命令,說明加密方式,“SET_NETW0RK IDwep_key0“Password””命令,添加路由器的加密密碼為所述密碼,“SET_NETW0RK ID wep_tx_keyidx 0”命令,添加索引號,“SELECT_NETW0RK ID”命令,使能網(wǎng)絡(luò)。
[0060]如果獲取到的加密方式為WPA模式,則wpa-suppl icant工具要依次發(fā)送“ADD_NETWORK”命令,添加網(wǎng)絡(luò)ID號,“SET_NETW0RK ID ssid“SSID””命令,添加路由器名稱為所述服務(wù)集標(biāo)識,“SET_NETW0RK ID key_mgmt WPA-PSK” 命令,說明加密方式,“SET_NETW0RKID psk“Password””命令,添加路由器的加密密碼為所述密碼,“SELECT_NETW0RK ID”命令,使能網(wǎng)絡(luò)。
[0061 ] 如果獲取到的加密方式為WPA2模式,則wpa-suppl icant工具要依次發(fā)送“ADD_NETWORK”命令,添加網(wǎng)絡(luò)ID號,“SET_NETW0RK ID ssid“SSID””命令,添加路由器名稱為所述服務(wù)集標(biāo)識,“SET_NETW0RK ID key_mgmt WPA-PSK” 命令,說明加密方式,“SET_NETW0RKID proto WPA2”命令,說明認(rèn)證模式為WPA2,“SET_NETTORK ID pairwise CCMP”命令,說明加密機(jī)$丨」,“SET_NETW0RK ID group CCMP”命令,說明加密組主秘鑰,“SET_NETW0RK ID psk“Password””命令,添加路由器的加密密碼為所述密碼,“SELECT_NETW0RK ID”命令,使能網(wǎng)絡(luò)。
[0062]如果獲取到的加密方式為OPEN模式,則wpa-suppl icant工具要依次發(fā)送“ADD_NETWORK”命令,添加網(wǎng)絡(luò)ID號,“SET_NETW0RK ID ssid“SSID””命令,添加路由器名稱為所述服務(wù)集標(biāo)識,“SET_NETW0RK ID key_mgmt NONE” 命令,說明加密方式,“SELECT_NETW0RKID”命令,使能網(wǎng)絡(luò)。
[0063]如此,將所述虛擬無線端口通過所述加密方式連接至所述路由器。
[0064]請繼續(xù)參閱圖3,在其中一個(gè)實(shí)施例中,步驟S500還包括:
[0065]S570:重復(fù)上述步驟,直至所述路由器與所述虛擬無線端口的連接狀態(tài)為完成連接。
[0066]重復(fù)S510至S560,直至所述路由器與所述虛擬無線端口的連接狀態(tài)為完成連接。
[0067]在其中一個(gè)實(shí)施例中,步驟S570之后,步驟S700之前,還包括步驟:
[0068]獲取DHCP服務(wù)器分配的IP地址。
[0069]請參閱圖4,進(jìn)一步地,步驟S520之后,步驟S530之前,還包括步驟:
[0070]S522:將所述又一虛擬端口設(shè)置為監(jiān)聽模式。
[0071 ] S524:在所述監(jiān)聽模式下為所述又一虛擬端口創(chuàng)建套接字。
[0072]S526:判斷所述又一虛擬端口是否創(chuàng)建成功。
[0073]S528:若判斷創(chuàng)建成功,將所述又一虛擬端口設(shè)置為混雜模式。
[0074]如此,可使得又一虛擬端口在混雜模式下抓取所有的無線報(bào)文。
[0075]在其中一個(gè)實(shí)施例中,所述通過wpa-supplicant工具完成的多個(gè)步驟與所述抓取、解析所述無線報(bào)文的多個(gè)步驟采用分時(shí)的方式完成。如此,避免系統(tǒng)資源消耗過大,使系統(tǒng)崩潰。
[0076]在另一些實(shí)施例中,所述通過wpa-supplicant工具完成的多個(gè)步驟與所述抓取、解析所述無線報(bào)文的多個(gè)步驟可以并行完成。
[0077]如圖5所示,為本發(fā)明一種實(shí)施方式的智能家居設(shè)備的接入系統(tǒng),涉及移動端的APP、路由器及家居設(shè)備三端的交互。該接入系統(tǒng),包括:
[0078]路由連接模塊100,設(shè)置于移動終端的APP內(nèi),用于獲取路由器的服務(wù)集標(biāo)識及密碼,并連接到所述路由器。
[0079]移動終端的APP可以通過路由連接模塊100根據(jù)不同操作系統(tǒng)平臺,實(shí)現(xiàn)獲取路由器的服務(wù)集標(biāo)識及密碼,并連接到所述路由器的功能。其中,操作系統(tǒng)平臺包括Android系統(tǒng)和10S系統(tǒng)。
[0080]報(bào)文發(fā)送模塊300,設(shè)置于移動終端的APP內(nèi),并與所述路由連接模塊100通信連接,用于根據(jù)所述服務(wù)集標(biāo)識及所述密碼生成無線報(bào)文,并經(jīng)所述路由器轉(zhuǎn)發(fā)到無線環(huán)境中。
[0081]移動終端的APP還可以通過報(bào)文發(fā)送模塊300根據(jù)不同操作系統(tǒng)平臺,實(shí)現(xiàn)發(fā)送無線報(bào)文至路由器。路由器可以將接收到的無線報(bào)文轉(zhuǎn)發(fā)到無線環(huán)境中;且路由器是移動終端、家居設(shè)備接入到互聯(lián)網(wǎng)的接口。
[0082]設(shè)備連接模塊500,設(shè)置于家居設(shè)備上,并與報(bào)文發(fā)送模塊300通信連接,用于抓取并解析所述無線報(bào)文,得到所述服務(wù)集標(biāo)識及所述密碼,并根據(jù)所述服務(wù)集標(biāo)識及所述密碼,連接所述路由器,直至連接成功。
[0083]家居設(shè)備上的設(shè)備連接