后,從組播數(shù)據(jù)幀中解析出相應(yīng)的配置信息,獲得其中的SSID及密碼并進(jìn)行自身網(wǎng)絡(luò)設(shè) 置,設(shè)置完成后啟動接入SSID所指定的目標(biāo)網(wǎng)絡(luò)的過程,完成接入所述的目標(biāo)網(wǎng)絡(luò)。
[0114] 此外,用戶甚至可以根據(jù)主觀意愿直接讀取并修改所述預(yù)存在智能設(shè)備的本地存 儲介質(zhì)中的偵聽列表和數(shù)據(jù)表的內(nèi)容,使得其中的信道的權(quán)重滿足自身的主觀設(shè)定,從而 能夠讓用戶根據(jù)智能設(shè)備所處空間的信號覆蓋詳情進(jìn)行更細(xì)膩的人工優(yōu)化操作。
[0115] 可以看出,通過構(gòu)建優(yōu)化了信道權(quán)重的偵聽列表,并依據(jù)權(quán)重對有限個數(shù)的偵聽 列表所列信道進(jìn)行偵聽,可以使智能設(shè)備更快速地確定目標(biāo)工作信道,從而更有效地確保 智能設(shè)備與外部終端的通信,特別的,還可以使智能設(shè)備更快速地接入網(wǎng)絡(luò)。
[0116] 基于模塊化思維,本發(fā)明還提供一種智能設(shè)備,其核心原理是適應(yīng)上述的分析,由 智能設(shè)備確定周圍空間的信道的信號強(qiáng)度的基礎(chǔ)上,選用若干信號較強(qiáng)的信道用于進(jìn)行輪 詢以確定目標(biāo)工作信道。
[0117] 請參閱圖4和圖5所示,本發(fā)明的一種智能設(shè)備,其典型實(shí)施例中包括輪詢單元 11、追加單元12以及維持單元13,部分如圖4所示的實(shí)施例中,還可以包括搜索單元10和 /或接入單元14,以下詳細(xì)揭示各個實(shí)施例中各個單元的具體功能實(shí)現(xiàn)。
[0118] 所述的搜索單元10,用于在智能設(shè)備初次啟動時,或者被指令激活時,搜尋所有已 知信道,依據(jù)各已知信道的信號強(qiáng)度為各已知信道分配相應(yīng)的權(quán)重。
[0119] 所述的搜索單元10,主要通過搜尋智能設(shè)備所處空間覆蓋的信號,具體指IEEE 802. 11協(xié)議所規(guī)范的WiFi信號的所有已知信道,根據(jù)該協(xié)議即以自然數(shù)1 一 14共14個信 道號來表示,利用這14個信道號來確定各信道,在搜尋這14個信號的過程中,便可確定各 個信道的信號強(qiáng)度,例如,在Android系統(tǒng)中可以通過WifiManager類的getRssi ()函數(shù)來 獲得工作在某個信道上的特定WiFi信號的強(qiáng)度,利用類似方式獲得的信號強(qiáng)度對各信道 分配權(quán)重,使這些權(quán)重關(guān)聯(lián)于各個信道的信號強(qiáng)度,作為一個示例,例如,信道號1、8、10對 應(yīng)的信號強(qiáng)度為_90dBm、-80dBm、-67dBm……,可知以信號強(qiáng)度對信道號排序?yàn)?0、8、1,為 這些信道分配權(quán)重如30、20、10,使得權(quán)重數(shù)值與信號強(qiáng)度之間成正比,使權(quán)重數(shù)值可以有 效表征各信道的信號強(qiáng)度。保存信道號與權(quán)重之間對應(yīng)關(guān)系的數(shù)據(jù)以備后用。作為一個實(shí) 例,可以考慮以獨(dú)立數(shù)據(jù)表的形式保存到智能設(shè)備的存儲介質(zhì)中,如不考慮對其進(jìn)行復(fù)用, 也可僅僅保存到內(nèi)存之類的臨時存儲介質(zhì)中。
[0120] 按照上述方式確定了 IEEE 802. 11協(xié)議所規(guī)范的14個信道的權(quán)重之后,將其中特 定數(shù)量的信道號及其權(quán)重的對應(yīng)關(guān)系數(shù)據(jù)添加到偵聽列表中,這個特定數(shù)量,例如可以設(shè) 置為2個,或者3個,或者更大的數(shù)值,只要明顯小于14這個總信道數(shù),均可。實(shí)際上,偵聽 列表可能會在使用的過程中增加具有次一級信號強(qiáng)度的信道(上述數(shù)據(jù)表中未被添加到 偵聽列表的剩余信道中具有最高權(quán)重的信道),從而被適度拉長,因此,這個特定數(shù)量只是 在偵聽列表被初次添加數(shù)據(jù)時特定。偵聽列表即便后續(xù)能夠被繼續(xù)添加14個信道中的其 他未添加進(jìn)偵聽列表的信道,使得偵聽列表的所有信道均是14個信道中信號居于前列的 信道,但是,由于與智能設(shè)備通信的外部終端通常與智能設(shè)備距離較近,其信號強(qiáng)度相對較 強(qiáng),因此,偵聽列表在實(shí)踐中其所列信道總數(shù)通常是較少的,例如等于或低于6個信道。概 而言之,所述搜索單元被配置為以小于所述已知信道總數(shù)的個數(shù),從所述數(shù)據(jù)表中選中權(quán) 重較高的若干信道,構(gòu)成所述偵聽列表,在該偵聽列表的各信道被以權(quán)重加以表征。
[0121] 所述搜索單元10確定了上述的偵聽列表,以及所述的數(shù)據(jù)表,將其存儲到智能設(shè) 備的本地介質(zhì)中,便可以在智能設(shè)備需要與外部終端建立基于WiFi的連接時,用于確定目 標(biāo)工作信道。
[0122] 所述的搜索單元10主要用于如圖4所示的一種實(shí)施例中完成本發(fā)明的前期準(zhǔn)備 工作,而在如圖5所示的另一實(shí)施例中,該搜索單元10所實(shí)現(xiàn)的功能也可由人工代替,通過 人工檢測確定智能設(shè)備周圍的信號強(qiáng)度之后,人為地分配相應(yīng)的權(quán)重,自行編輯或建立所 述的數(shù)據(jù)表與偵聽列表,同理不影響本發(fā)明的實(shí)施。
[0123] 因此,無論采用何種實(shí)施方式為本發(fā)明的實(shí)施準(zhǔn)備了所述的偵聽列表,在所有的 實(shí)施例中,本發(fā)明的智能設(shè)備后續(xù)企圖與外部終端建立通信時,均如圖6所示,主要由所述 的輪詢單元11、追加單元12以及維持單元13執(zhí)行各自的功能進(jìn)行相互配合而實(shí)現(xiàn)之。
[0124] 所述的輪詢單元11,用于根據(jù)所表征的權(quán)重對偵聽列表所列信道進(jìn)行輪詢,以確 定目標(biāo)工作信道。
[0125] 如前所述,所述偵聽列表中預(yù)存了信道與權(quán)重之間的對應(yīng)關(guān)系,初始狀態(tài)下,信道 字段例如僅以兩個數(shù)據(jù)記錄分別存儲所述的1〇、8兩個信道號,兩個信道號對應(yīng)的權(quán)重字 段上分別設(shè)置權(quán)重數(shù)值為30、20。如表1所示:
[0126] 表1、偵聽列表初始狀態(tài)示例:
[0127]
[0128] 需要注意的是,偵聽列表并不局限于表1所示的結(jié)構(gòu)形式,也可以僅僅是將信道 號1〇、8順序進(jìn)行排列表示,按照這種順序來確定彼此的權(quán)重,同理,這種以順序表征權(quán)重 的方式也可以體現(xiàn)到所述用于存儲所有信道及其分配權(quán)重關(guān)系的數(shù)據(jù)表中。
[0129] 輪詢單元11讀取該偵聽列表中的數(shù)據(jù),構(gòu)造循環(huán)體對偵聽列表中的各個數(shù)據(jù)記 錄也即各個信道進(jìn)行輪詢,在本例中,由于具有2個信道號,因此理論上要執(zhí)行2次循環(huán)體 分別對2個信道進(jìn)行輪詢,以期確定目標(biāo)工作信道。輪詢時,對于各個信道確定目標(biāo)信道的 過程,通過如下構(gòu)造模塊執(zhí)行各自功能相互配合實(shí)現(xiàn)之:
[0130] 所述的設(shè)定模塊,用于設(shè)定當(dāng)前工作信道為本輪詢次序相對應(yīng)的偵聽列表所列的 信道:
[0131] 智能設(shè)備的設(shè)定模塊先把自身的當(dāng)前工作信道號設(shè)置為與該次輪詢順序相對應(yīng) 的信道號。參閱表1,對于第一次循環(huán),則設(shè)置當(dāng)前工作信道號為10,對于第二次循環(huán),設(shè)置 當(dāng)前工作信道號為8。設(shè)定智能設(shè)備的工作信道號即設(shè)定了智能設(shè)備的當(dāng)前工作信道,智能 設(shè)備由此便在該工作信道上進(jìn)行偵聽。
[0132] 所述的偵聽模塊,用于在當(dāng)前工作信道偵聽指定格式的目標(biāo)網(wǎng)絡(luò)幀:
[0133] 智能設(shè)備的偵聽模塊在當(dāng)前工作信道偵聽時,依照目前的技術(shù),智能設(shè)備將在該 工作信道上停留大概70-100毫秒,這段時間如未從該工作信道接收的無線信號中檢測到 目標(biāo)網(wǎng)絡(luò)幀,則繼續(xù)下一次循環(huán),即對偵聽列表所提供的具有次高權(quán)重的下一信道號相對 應(yīng)的信道實(shí)施偵聽。
[0134] 偵聽模塊所偵聽的所述目標(biāo)網(wǎng)絡(luò)幀,既可以是指IEEE 802. 11規(guī)范的Beacon控制 幀(信標(biāo)幀)、Probe Request幀(探尋處于接入點(diǎn)模式的智能設(shè)備時)、甚至ACK幀等,也 可以是由智能設(shè)備與發(fā)送方如智能控制終端共同遵守的協(xié)議所規(guī)范的例如組播數(shù)據(jù)幀,或 者其它類型的網(wǎng)絡(luò)幀,只要智能設(shè)備與發(fā)送方共同遵守同一協(xié)議,即可相互約定一目標(biāo)網(wǎng) 絡(luò)幀,由發(fā)送方發(fā)出該目標(biāo)網(wǎng)絡(luò)幀,而由智能設(shè)備識別之。
[0135] 例如,一種實(shí)施方式中,特別是在智能設(shè)備未接入網(wǎng)絡(luò)的情況下,發(fā)送方將用于 接入目標(biāo)網(wǎng)絡(luò)的配置信息,具體包含目標(biāo)網(wǎng)絡(luò)的服務(wù)集標(biāo)識及其密碼,將其編碼到多個由 IEEE 802. 11協(xié)議所規(guī)范的組播數(shù)據(jù)幀的目的地址域中,該組播數(shù)據(jù)包的幀本體域則封裝 UDP數(shù)據(jù)包(同理也可用廣播幀封裝UDP數(shù)據(jù)包),其中一個組播數(shù)據(jù)幀的目的地址域的低 23位比特被置為全0,或者其它特定內(nèi)容,以此作為目標(biāo)網(wǎng)絡(luò)幀。發(fā)送方將這些組播數(shù)據(jù)幀 多次傳輸,智能設(shè)備在某信道依據(jù)與發(fā)送方遵守的協(xié)議偵聽到該目標(biāo)網(wǎng)絡(luò)幀之后,即知曉 該信道是所需的信道。
[0136] 所述的確定模塊,被配置為當(dāng)偵聽到該目標(biāo)網(wǎng)絡(luò)幀時,確定當(dāng)前工作信道為目標(biāo) 工作信道:
[0137] 當(dāng)偵聽模塊已經(jīng)偵聽到所述的目標(biāo)網(wǎng)絡(luò)幀,確定模塊便可將當(dāng)前工作信道確定為 目標(biāo)工作信道,確定該目標(biāo)工作信道的表現(xiàn),在于繼續(xù)接收處理當(dāng)前工作信道后續(xù)發(fā)送的 網(wǎng)絡(luò)幀,對其接收的網(wǎng)絡(luò)幀做進(jìn)一步的處理,后續(xù)將進(jìn)一步揭示。
[0138] 如上所述,通過輪詢單元11對偵聽列表的各個信道逐個進(jìn)行上述過程的輪詢操 作,便可以確定當(dāng)前輪詢的信道號所代表的信道是否為目標(biāo)工作信道。大多數(shù)情況下,根據(jù) 智能設(shè)備所處環(huán)境的信道強(qiáng)度分布規(guī)律,通過該偵聽列表便可確定該目標(biāo)工作信道。
[0139] 所述的追加單元12,被配置為將偵聽列表所列信道之外的具有最高權(quán)重的已知信 道添加到偵聽列表繼續(xù)輪詢之,以確定目標(biāo)工作信道。
[0140] 追加單元12在兩種情況下可以繼續(xù)往所述偵聽列表中添加新的未被輪詢的信 道。
[0141] 第一種往偵聽列表添加信道的方式是在輪詢單元11未能確定目標(biāo)工作信道時:
[0142] 當(dāng)偵聽列表中的所有信道號均被輪詢,然而尚未確定智