的第一 IP地址與stat1n節(jié)點(diǎn)的第二 IP地址的路徑;
[0083]NAT發(fā)送子模塊,用于發(fā)送地址轉(zhuǎn)換功能NAT的配置信息至W1-Fi模組,以對(duì)P2P節(jié)點(diǎn)的第一 IP地址進(jìn)行偽裝。
[0084]優(yōu)選地,所述DNS配置模塊包括:
[0085]TCP配置發(fā)送子模塊,用于發(fā)送基于傳輸控制協(xié)議TCP的域名系統(tǒng)DNS的網(wǎng)關(guān)地址至W1-Fi模組;
[0086]UDP配置發(fā)送子模塊,用于發(fā)送基于開放式系統(tǒng)互聯(lián)協(xié)議UDP的域名系統(tǒng)DNS的網(wǎng)關(guān)地址至W1-Fi模組。
[0087]優(yōu)選地,還包括:
[0088]設(shè)備接入模塊,用于在一個(gè)或多個(gè)電子設(shè)備通過(guò)廣播的登錄信息驗(yàn)證成功時(shí),在P2P節(jié)點(diǎn)接入一個(gè)或多個(gè)電子設(shè)備。
[0089]優(yōu)選地,所述設(shè)備接入模塊包括:
[0090]應(yīng)答子模塊,用于在接收到一個(gè)或多個(gè)電子設(shè)備針對(duì)登錄信息的服務(wù)集標(biāo)識(shí)發(fā)送的申請(qǐng)請(qǐng)求時(shí),向所述一個(gè)或多個(gè)電子設(shè)備返回應(yīng)答消息;
[0091]驗(yàn)證子模塊,用于在接收到所述一個(gè)或多個(gè)電子設(shè)備發(fā)送的連接請(qǐng)求時(shí),根據(jù)登錄信息的密碼的第二長(zhǎng)度、驗(yàn)證所述連接請(qǐng)求中密碼與登錄信息的密碼是否相同;若是,則調(diào)用接入子模塊;
[0092]接入子模塊,用于接入所述一個(gè)或多個(gè)電子設(shè)備。
[0093]優(yōu)選地,還包括:
[0094]第一數(shù)據(jù)包接收模塊,用于在P2P節(jié)點(diǎn)中接收到電子設(shè)備發(fā)送的數(shù)據(jù)包;
[0095]第一數(shù)據(jù)包轉(zhuǎn)發(fā)模塊,用于將所述數(shù)據(jù)包從P2P節(jié)點(diǎn)轉(zhuǎn)發(fā)至stat1n節(jié)點(diǎn);
[0096]第一數(shù)據(jù)包發(fā)送模塊,用于在stat1n節(jié)點(diǎn)中將所述數(shù)據(jù)包發(fā)送至無(wú)線訪問(wèn)節(jié)點(diǎn),以轉(zhuǎn)發(fā)至目標(biāo)設(shè)備。
[0097]優(yōu)選地,所述數(shù)據(jù)包包括URL信息,所述無(wú)線訪問(wèn)節(jié)點(diǎn)通過(guò)域名系統(tǒng)DNS將所述URL信息映射為IP地址,并轉(zhuǎn)發(fā)至所述IP地址所屬的目標(biāo)設(shè)備。
[0098]優(yōu)選地,第一數(shù)據(jù)包轉(zhuǎn)發(fā)模塊可以包括如下子模塊:
[0099]IP地址判斷子模塊,用于判斷所述數(shù)據(jù)包源地址是否為P2P節(jié)點(diǎn)的第一 IP地址;若是,將調(diào)用偽裝子模塊;
[0100]偽裝子模塊,用于將所述第一 IP地址偽裝成目標(biāo)IP地址;
[0101]第一路由表查找子模塊,用于在路由表中查找第一 IP地址對(duì)應(yīng)的第二 IP地址;
[0102]第一轉(zhuǎn)發(fā)子模塊,用于將偽裝來(lái)自所述目標(biāo)IP地址的數(shù)據(jù)包轉(zhuǎn)發(fā)至第二 IP地址所屬的stat1n節(jié)點(diǎn)。
[0103]優(yōu)選地,還包括:
[0104]第二數(shù)據(jù)包接收模塊,用于在stat1n節(jié)點(diǎn)中接收無(wú)線訪問(wèn)節(jié)點(diǎn)發(fā)送的數(shù)據(jù)包;
[0105]第二數(shù)據(jù)包轉(zhuǎn)發(fā)模塊,用于將所述數(shù)據(jù)包從stat1n節(jié)點(diǎn)轉(zhuǎn)發(fā)至P2P節(jié)點(diǎn);
[0106]第二數(shù)據(jù)包發(fā)送模塊,用于在P2P節(jié)點(diǎn)中將所述數(shù)據(jù)包發(fā)送至電子設(shè)備。
[0107]優(yōu)選地,所述第二數(shù)據(jù)包轉(zhuǎn)發(fā)模塊包括:
[0108]IP地址確認(rèn)子模塊,用于確認(rèn)所述數(shù)據(jù)包來(lái)源的stat1n節(jié)點(diǎn)的第二 IP地址;
[0109]第二路由表查找子模塊,用于路由表中查找第二 IP地址對(duì)應(yīng)的第一 IP地址;
[0110]第二轉(zhuǎn)發(fā)子模塊,用于將所述數(shù)據(jù)包轉(zhuǎn)發(fā)至第一 IP地址所屬的P2P節(jié)點(diǎn)。
[0111]本發(fā)明實(shí)施例包括以下優(yōu)點(diǎn):
[0112]本發(fā)明實(shí)施例通過(guò)stat1n連接AP進(jìn)行通信,通過(guò)P2P連接電子設(shè)備進(jìn)行通信,通過(guò)在stat1n和P2P之間轉(zhuǎn)發(fā)數(shù)據(jù),或者,應(yīng)用打開softAP連接電子設(shè)備進(jìn)行通信,在移動(dòng)設(shè)備中實(shí)現(xiàn)了融合softAP和中繼功能,由于移動(dòng)設(shè)備已廣發(fā)普及,即中繼器可以復(fù)用已有的移動(dòng)設(shè)備,避免配置額外的硬件,大大降低了成本,并且,根據(jù)需要使用中繼或便攜熱點(diǎn),提高了操作的靈活性,同時(shí),由于移動(dòng)設(shè)備無(wú)需固定的電源插口供電,便攜性很好,可以根據(jù)信號(hào)的強(qiáng)弱調(diào)節(jié)位置,大大增強(qiáng)了中繼的無(wú)線信號(hào)。
【附圖說(shuō)明】
[0113]圖1是本發(fā)明的一種移動(dòng)設(shè)備進(jìn)行中繼的方法實(shí)施例1的步驟流程圖;
[0114]圖2是本發(fā)明的一種中繼系統(tǒng)的拓?fù)鋱D;
[0115]圖3是本發(fā)明的一種移動(dòng)設(shè)備進(jìn)行中繼的方法實(shí)施例2的步驟流程圖;
[0116]圖4是本發(fā)明的一種移動(dòng)設(shè)備進(jìn)行中繼的裝置實(shí)施例的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0117]為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和【具體實(shí)施方式】對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說(shuō)明。
[0118]參照?qǐng)D1,示出了本發(fā)明的一種移動(dòng)設(shè)備進(jìn)行中繼的方法實(shí)施例1的步驟流程圖,具體可以包括如下步驟:
[0119]步驟101,在移動(dòng)設(shè)備中連接無(wú)線訪問(wèn)節(jié)點(diǎn);
[0120]需要說(shuō)明的是,本發(fā)明實(shí)施例可以應(yīng)用于移動(dòng)設(shè)備的操作系統(tǒng)中,例如,手機(jī)、平板電腦、智能可穿戴設(shè)備(如智能手表)等等。
[0121]這些移動(dòng)設(shè)備大多支持WindowsPhone、Android (安卓)、10S、Windows等操作系統(tǒng),通??梢酝ㄟ^(guò)W1-Fi (無(wú)線保真)連接無(wú)線訪問(wèn)節(jié)點(diǎn)(WirelessAccessPoint,AP),如路由器。
[0122]如圖2所示,AP是一個(gè)無(wú)線網(wǎng)絡(luò)中的特殊節(jié)點(diǎn),包括路由器、基站,通過(guò)這個(gè)節(jié)點(diǎn),無(wú)線網(wǎng)絡(luò)中的其它類型節(jié)點(diǎn)可以和無(wú)線網(wǎng)絡(luò)外部以及內(nèi)部進(jìn)行通信。
[0123]移動(dòng)設(shè)備的W1-Fi通常有三種功能:stat1n、softAP, P2P。
[0124]其中,stat1n (工作站):表示連接到無(wú)線網(wǎng)絡(luò)中的設(shè)備,這些設(shè)備通過(guò)AP,可以和內(nèi)部其它設(shè)備或者無(wú)線網(wǎng)絡(luò)外部通信。
[0125]softAP:表示使用應(yīng)用實(shí)現(xiàn)AP的功能,讓移動(dòng)設(shè)備可以作為一個(gè)路由,讓別的站點(diǎn)鏈接。
[0126]P2P (Peer-to-Peer):又稱W1-Fi Direct,可以支持在沒(méi)有AP的情況下,兩個(gè)W1-Fi設(shè)備直連并通信。
[0127]在本發(fā)明實(shí)施例中,可以調(diào)用WifiManager中的getWifiState O方法,檢測(cè)移動(dòng)設(shè)備是否開啟W1-Fi的stat1n節(jié)點(diǎn);
[0128]當(dāng)檢測(cè)到stat1n節(jié)點(diǎn)已開啟時(shí),則可以通過(guò)調(diào)用ConnectivityManager提供的 API 接口 getNetworklnfo O,將 ConnectivityManager.TYPE_ffIFI 作為參數(shù)傳入,檢測(cè)stat1n節(jié)點(diǎn)是否連接無(wú)線訪問(wèn)節(jié)點(diǎn)。
[0129]如果返回的NetworkInfo對(duì)象不為null,并且isConnectedO為true,確認(rèn)已連接AP。
[0130]當(dāng)檢測(cè)到已連接無(wú)線訪問(wèn)節(jié)點(diǎn)時(shí),確定移動(dòng)設(shè)備連接路由器;
[0131]當(dāng)檢測(cè)到stat1n節(jié)點(diǎn)未開啟或與路由器的連接無(wú)效(如無(wú)法上網(wǎng))時(shí),確定移動(dòng)設(shè)備連接基站,如3G信號(hào)、4G信號(hào)等,這樣,可以優(yōu)先使用W1-Fi。
[0132]步驟102,獲取用于登錄移動(dòng)設(shè)備的登錄信息;
[0133]在具體實(shí)現(xiàn)中,登錄信息可以包括SSID(服務(wù)集標(biāo)識(shí))和密碼
[0134]在UI (User Interface,用戶界面)提示用戶輸入中繼設(shè)備(即移動(dòng)設(shè)備)的SSID和密碼。
[0135]若用戶在UI輸入了 SSID和密碼,則使用該SSID和密碼,否則,使用默認(rèn)的SSID和密碼。
[0136]步驟103,開啟包轉(zhuǎn)發(fā)功能,以支持在移動(dòng)設(shè)備中W1-Fi的不同節(jié)點(diǎn)之間轉(zhuǎn)發(fā)數(shù)據(jù)包;
[0137]在具體實(shí)現(xiàn)中,可以通過(guò)echo屬性值開啟包轉(zhuǎn)發(fā)功能。
[0138]echo l>/proc/sys/net/ipv4/ip_forward
[0139]包轉(zhuǎn)發(fā),是允許數(shù)據(jù)包從一個(gè)設(shè)備轉(zhuǎn)發(fā)到另一個(gè)設(shè)備。
[0140]在本發(fā)明實(shí)施例中,打開包轉(zhuǎn)發(fā)功能,實(shí)現(xiàn)數(shù)據(jù)包在stat1n與P2P之間相互轉(zhuǎn)發(fā),或者,在移動(dòng)通信數(shù)據(jù)節(jié)點(diǎn)與便攜熱點(diǎn)softAP節(jié)點(diǎn)之間相互轉(zhuǎn)發(fā)。
[0141]步驟104,當(dāng)移動(dòng)設(shè)備通過(guò)W1-Fi的stat1n節(jié)點(diǎn)連接路由時(shí),通過(guò)W1-Fi的P2P節(jié)點(diǎn)發(fā)送中繼指令至W1-Fi模組,以廣播移動(dòng)設(shè)備的登錄信息及通過(guò)P2P節(jié)點(diǎn)連接一個(gè)或多個(gè)電子設(shè)備;
[0142]如圖2所示,如果W1-Fi已連接到有效AP,則可以向W1-Fi模塊發(fā)送中繼指令,啟動(dòng)W1-Fi中繼。
[0143]在本發(fā)明的一個(gè)實(shí)施例中,步驟104可以包括如下子步驟:
[0144]子步驟S11,檢測(cè)stat1n節(jié)點(diǎn)連接的無(wú)線訪問(wèn)節(jié)點(diǎn)所在的第一信道;
[0145]子步驟S12,計(jì)算與所述第一信道互不干擾的第二信道;
[0146]子步驟S13,獲取用于登錄移動(dòng)設(shè)備的登錄信息,所述登錄信息包括服務(wù)集標(biāo)識(shí)和密碼;
[0147]子步驟S14,計(jì)算所述服務(wù)器標(biāo)識(shí)的第一長(zhǎng)度以及所述密碼的第二長(zhǎng)度;
[0148]子步驟S15,將所述第二信道、所述服務(wù)集標(biāo)識(shí)、所述第一長(zhǎng)度、所述密碼和所述第二長(zhǎng)度封裝在中繼指令中;
[0149]子步驟S16,通過(guò)W1-Fi的P2P節(jié)點(diǎn)的Group模式發(fā)送所述中繼指令至W1-Fi模組,以在所述第二信道按照所述第一長(zhǎng)度廣播所述服務(wù)集標(biāo)識(shí)。
[0150]W1-Fi的stat1n打開并連接AP后,則可以獲取stat1n所連接的AP的第一信道,在P2P打開的時(shí)候就可以發(fā)送和stat1n互不干擾的第二信道上的命令至W1-Fi模組。
[0151]其中,W1-Fi模組又名串口 W1-Fi模塊,屬于物聯(lián)網(wǎng)傳輸層,可以將串口或TTL電平轉(zhuǎn)為符合W1-Fi無(wú)線網(wǎng)絡(luò)通信標(biāo)準(zhǔn)的嵌入式模塊,內(nèi)置無(wú)線網(wǎng)絡(luò)協(xié)議IEEE802.lib.g.η協(xié)議棧以及TCP/IP協(xié)議棧。
[0152]硬件設(shè)備嵌入W1-Fi模組可以直接利用W1-Fi聯(lián)入互聯(lián)網(wǎng),是實(shí)現(xiàn)無(wú)線智能家居、Μ2Μ等物聯(lián)網(wǎng)應(yīng)用的重要組成部分。
[0153]在Android系統(tǒng)中,WifiService是負(fù)責(zé)WiFi功能的核心服務(wù),而其中的WifiStateMachine