本發(fā)明屬于計(jì)算機(jī)技術(shù)領(lǐng)域,更進(jìn)一步涉及一種計(jì)算機(jī)無線網(wǎng)絡(luò)中應(yīng)用藍(lán)牙4.0組網(wǎng)技術(shù)實(shí)現(xiàn)人流量數(shù)據(jù)搜集的最大化方法。本發(fā)明應(yīng)用大型戶外集會(huì)等具體應(yīng)用場景,根據(jù)智能手機(jī)攜帶的各式傳感器可以來收集個(gè)體位置信息、速度和移動(dòng)方向等基本信息,通過對(duì)收集到的一系列個(gè)體數(shù)據(jù)進(jìn)行分析,從而對(duì)有可能發(fā)生事故的區(qū)域發(fā)出預(yù)警并實(shí)時(shí)指定出合理的人流調(diào)度方法。
背景技術(shù):
藍(lán)牙4.0,是一種連接多個(gè)藍(lán)牙設(shè)備的協(xié)議,在這種協(xié)議下,一個(gè)設(shè)備同一時(shí)刻只能以一種角色工作(主設(shè)備和從設(shè)備)。盡管像藍(lán)牙4.1這樣的新版本藍(lán)牙協(xié)議能夠有效支持設(shè)備同時(shí)扮演兩種角色,但是目前仍然有大量的僅支持藍(lán)牙4.0的智能手機(jī)在使用。為了確保本文提出的方法能夠在大多數(shù)設(shè)備上面使用,所以本文提出的藍(lán)牙組網(wǎng)仍然兼容藍(lán)牙4.0版本。
多個(gè)藍(lán)牙設(shè)備可以組建成一個(gè)微型網(wǎng)絡(luò),在這個(gè)微型網(wǎng)絡(luò)中,選出一個(gè)設(shè)備作為主設(shè)備,其余的設(shè)備為從設(shè)備。從設(shè)備可以發(fā)送信息給主設(shè)備。通過調(diào)度,一個(gè)設(shè)備可以完成角色轉(zhuǎn)換。兩個(gè)以上的微型網(wǎng)絡(luò)就可以構(gòu)建一個(gè)分布式網(wǎng)絡(luò)。為了連接高級(jí)網(wǎng)絡(luò)和底層網(wǎng)絡(luò),需要一個(gè)設(shè)備作為中繼節(jié)點(diǎn)通過主從角色轉(zhuǎn)換來負(fù)責(zé)從底層網(wǎng)絡(luò)到上層網(wǎng)絡(luò)數(shù)據(jù)的傳輸。
惠州TCL移動(dòng)通信有限公司擁有的專利技術(shù)“一種基于低功耗藍(lán)牙的組網(wǎng)互連方法及系統(tǒng)”(專利申請(qǐng)?zhí)枺篊N201410819048.5,授權(quán)公告號(hào):CN104540090A)中公開了一種一種基于低功耗藍(lán)牙的組網(wǎng)互連方法及系統(tǒng)。該方法的具體步驟包括:A、多個(gè)外圍藍(lán)牙設(shè)備以低功耗模式向周圍廣播各自對(duì)應(yīng)的包含多個(gè)無線連接是否支持的業(yè)務(wù)類型信息;B、中心藍(lán)牙設(shè)備獲取各外圍藍(lán)牙設(shè)備對(duì)應(yīng)的業(yè)務(wù)類型信息和藍(lán)牙地址;C、中心藍(lán)牙設(shè)備向各外圍藍(lán)牙設(shè)備發(fā)送連接請(qǐng)求,建立中心藍(lán)牙設(shè)備和多個(gè)外圍藍(lán)牙設(shè)備的連接;D、各外圍藍(lán)牙設(shè)備將其業(yè)務(wù)類型信息中多個(gè)無線連接對(duì)應(yīng)的業(yè)務(wù)地址信息發(fā)送至中心藍(lán)牙設(shè)備;E、中心藍(lán)牙設(shè)備根據(jù)各外圍藍(lán)牙設(shè)備對(duì)應(yīng)的藍(lán)牙地址、業(yè)務(wù)類型信息和業(yè)務(wù)地址信息,生成對(duì)應(yīng)的外圍藍(lán)牙設(shè)備業(yè)務(wù)列表,以完成中心藍(lán)牙設(shè)備和多個(gè)外圍藍(lán)牙設(shè)備的組網(wǎng);F、中心藍(lán)牙設(shè)備根據(jù)所述外圍藍(lán)牙設(shè)備業(yè)務(wù)列表,使任意兩個(gè)藍(lán)牙設(shè)備無線連接。該方法存在的不足之處是,該專利中提出的方法是基于靜止藍(lán)牙設(shè)備組網(wǎng)互連,現(xiàn)實(shí)生活的手機(jī)等藍(lán)牙設(shè)備都是隨著人而位置發(fā)生移動(dòng),本發(fā)明無法有效確定在一個(gè)區(qū)域內(nèi)藍(lán)牙設(shè)備數(shù)量。該專利中提出的方法藍(lán)牙設(shè)備身份固定,數(shù)據(jù)發(fā)送的方式單一,只能由外圍藍(lán)牙設(shè)備向中心藍(lán)牙設(shè)備發(fā)送數(shù)據(jù),而外圍藍(lán)牙設(shè)備無法自組網(wǎng)傳輸數(shù)據(jù)。
廣東中興新支點(diǎn)技術(shù)有限公司擁有的專利技術(shù)“一種人流量檢測方法及其裝置”(專利申請(qǐng)?zhí)枺篊N201510510894.3,授權(quán)公告號(hào):CN105187240A)中公開一種人流量數(shù)據(jù)檢測和收集的方法。該方法的具體步驟包括:獲取覆蓋網(wǎng)絡(luò)中的移動(dòng)終端的MAC地址;根據(jù)所述MAC地址的信號(hào)強(qiáng)度對(duì)所述MAC地址進(jìn)行過濾,獲得過濾結(jié)果;對(duì)所述過濾結(jié)果進(jìn)行MAC地址統(tǒng)計(jì),獲取人流量結(jié)果。在本發(fā)明實(shí)施例中,在需要檢測統(tǒng)計(jì)的場所內(nèi)的合適位置放置相應(yīng)數(shù)量的無線路由器,能夠統(tǒng)計(jì)在Wi-Fi信號(hào)覆蓋范圍內(nèi)的移動(dòng)終端的人流量變化趨勢,適用于超市、商場、公共場所、公園等人流比較集中的場所,為經(jīng)營者或管理者提供人流量趨勢統(tǒng)計(jì)、人流量控制、消費(fèi)者行為等分析判斷;同時(shí)這種方施工簡單,只需簡單放置在檢測點(diǎn),并可以設(shè)置合理的探測范圍,減少檢測設(shè)備,降低成本。但是,該方法仍然存在的不足之處是,該專利中提出的方法是基于Wi-Fi環(huán)境下的移動(dòng)終端,許多大型活動(dòng)都是在露天環(huán)境下進(jìn)行,這些活動(dòng)Wi-Fi不可達(dá),無法在這些活動(dòng)中應(yīng)用該技術(shù)檢測和收集人流信息。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,該方法提出了基于藍(lán)牙4.0協(xié)議的數(shù)據(jù)搜集系統(tǒng)—多跳藍(lán)牙組網(wǎng)來實(shí)現(xiàn)非代理節(jié)點(diǎn)藍(lán)牙設(shè)備數(shù)量最大化。多跳藍(lán)牙自組網(wǎng)包含了一個(gè)新穎的方式來生成路由表,能夠獲取盡可能多的數(shù)據(jù)包。
本發(fā)明實(shí)現(xiàn)的思路是采用了一個(gè)點(diǎn)對(duì)點(diǎn)多跳藍(lán)牙組網(wǎng)來搜集高密度人流中非代理節(jié)點(diǎn)設(shè)備的數(shù)據(jù)來支持人流管理。多跳藍(lán)牙組網(wǎng)包含四大功能模塊,分別是:生成路由表模塊、構(gòu)建路由樹模塊、發(fā)送數(shù)據(jù)包模塊和接收數(shù)據(jù)包模塊。該網(wǎng)絡(luò)得益于非代理節(jié)點(diǎn)藍(lán)牙設(shè)備的藍(lán)牙信道,通過設(shè)計(jì)一個(gè)路由表來構(gòu)建一個(gè)點(diǎn)對(duì)點(diǎn)多跳藍(lán)牙組網(wǎng)。通過劃分區(qū)域、不斷更新非代理節(jié)點(diǎn)藍(lán)牙設(shè)備身份的設(shè)計(jì)為非代理節(jié)點(diǎn)設(shè)備數(shù)量最大化,快速的傳輸數(shù)據(jù)包的實(shí)現(xiàn)提供了必要條件。
本發(fā)明的具體步驟如下:
(1)劃分區(qū)域:
(1a)選擇任意一個(gè)人口密集的區(qū)域,將所選取的區(qū)域,按照每隔20m的距離分成n個(gè)子區(qū)域,將每個(gè)子區(qū)域中位置固定的智能設(shè)備設(shè)置為該區(qū)域的代理節(jié)點(diǎn)設(shè)備;
(1b)在所選取的區(qū)域中,設(shè)定n個(gè)代理節(jié)點(diǎn)設(shè)備;
(1c)將所有子區(qū)域中除代理節(jié)點(diǎn)設(shè)備之外的智能設(shè)備,設(shè)置為非代理節(jié)點(diǎn)設(shè)備;
(2)確定非代理節(jié)點(diǎn)設(shè)備的最大數(shù)量:
(2a)按照下式,計(jì)算每個(gè)子區(qū)域中非代理節(jié)點(diǎn)設(shè)備的最大數(shù):
其中,表示在第i個(gè)子區(qū)域中非代理節(jié)點(diǎn)設(shè)備的最大數(shù),VZH表示代理節(jié)點(diǎn)設(shè)備發(fā)送數(shù)據(jù)的速度,ti表示第i個(gè)子區(qū)域中代理節(jié)點(diǎn)設(shè)備發(fā)送數(shù)據(jù)的時(shí)間,Vs表示非代理節(jié)點(diǎn)設(shè)備的發(fā)送數(shù)據(jù)速度,T表示非代理節(jié)點(diǎn)設(shè)備發(fā)送數(shù)據(jù)的時(shí)間,*表示乘法操作;
(2b)從每個(gè)子區(qū)域的代理節(jié)點(diǎn)設(shè)備中,選擇滿足匹配條件的代理節(jié)點(diǎn)設(shè)備;
(3)生成路由表:
(3a)選擇符合具有藍(lán)牙4.0協(xié)議的非代理節(jié)點(diǎn)設(shè)備作為非代理節(jié)點(diǎn)藍(lán)牙設(shè)備;
(3b)任意選取一個(gè)子區(qū)域,啟動(dòng)所選子區(qū)域中所有非代理節(jié)點(diǎn)藍(lán)牙設(shè)備的藍(lán)牙;
(3c)搜索所選子區(qū)域中其他啟動(dòng)藍(lán)牙的非代理節(jié)點(diǎn)藍(lán)牙設(shè)備的路由信息;
(3d)將搜索到的其他啟動(dòng)藍(lán)牙的非代理節(jié)點(diǎn)藍(lán)牙設(shè)備的路由信息,在非代理節(jié)點(diǎn)藍(lán)牙設(shè)備中生成路由表;
(3e)判斷所有子區(qū)域中的非代理節(jié)點(diǎn)藍(lán)牙設(shè)備是否都生成路由表,若是,則執(zhí)行步驟(4),否則,執(zhí)行步驟(3b);
(4)更新路由表:
(4a)重新搜索任意一個(gè)子區(qū)域內(nèi)其他非代理節(jié)點(diǎn)藍(lán)牙設(shè)備的路由信息;
(4b)將重新搜索后的路由信息替換非代理節(jié)點(diǎn)藍(lán)牙設(shè)備中原有路由表的路由信息;
(4c)判斷是否更新完所有子區(qū)域中的非代理節(jié)點(diǎn)藍(lán)牙設(shè)備的路由表,若是,則執(zhí)行步驟(5),否則,執(zhí)行步驟(4a);
(5)確定非代理節(jié)點(diǎn)藍(lán)牙設(shè)備身份:
(5a)當(dāng)子區(qū)域內(nèi)不存在相同區(qū)域號(hào)的非代理節(jié)點(diǎn)藍(lán)牙設(shè)備時(shí),選擇符合非代理節(jié)點(diǎn)藍(lán)牙設(shè)備的主設(shè)備的條件的非代理節(jié)點(diǎn)藍(lán)牙設(shè)備作為其他非代理節(jié)點(diǎn)藍(lán)牙設(shè)備的主設(shè)備;
(5b)當(dāng)子區(qū)域內(nèi)存在相同區(qū)域號(hào)的非代理節(jié)點(diǎn)藍(lán)牙設(shè)備時(shí),從任意一個(gè)子區(qū)域的區(qū)域號(hào)相同的非代理節(jié)點(diǎn)藍(lán)牙設(shè)備中,從該非代理節(jié)點(diǎn)藍(lán)牙設(shè)備到代理節(jié)點(diǎn)設(shè)備所經(jīng)過非代理節(jié)點(diǎn)藍(lán)牙設(shè)備的數(shù)量中選擇最小的非代理節(jié)點(diǎn)藍(lán)牙設(shè)備,作為其他非代理節(jié)點(diǎn)藍(lán)牙設(shè)備的主設(shè)備身份;
(5c)連接主設(shè)備的其他非代理節(jié)點(diǎn)藍(lán)牙設(shè)備,將已連接主設(shè)備的其他非代理節(jié)點(diǎn)藍(lán)牙設(shè)備作為該主設(shè)備的從設(shè)備身份;
(6)判斷所有子區(qū)域中的非代理節(jié)點(diǎn)藍(lán)牙設(shè)備是否都確認(rèn)了設(shè)備身份,若是,則執(zhí)行步驟(7),否則,執(zhí)行步驟(5);
(7)構(gòu)建路由樹:
(7a)將隨機(jī)選取的一個(gè)子區(qū)域中任意一個(gè)主設(shè)備與該主設(shè)備的從設(shè)備對(duì)應(yīng)連接;
(7b)將隨機(jī)選取的一個(gè)子區(qū)域的代理節(jié)點(diǎn)設(shè)備與該區(qū)域的主設(shè)備對(duì)應(yīng)連接;
(7c)將所選子區(qū)域中已連接主設(shè)備的區(qū)域代理節(jié)點(diǎn)設(shè)置為路由樹的樹根節(jié)點(diǎn),已連接從設(shè)備和區(qū)域代理的主設(shè)備設(shè)置為路由樹的樹枝節(jié)點(diǎn),其他非代理節(jié)點(diǎn)藍(lán)牙設(shè)備設(shè)置為路由樹的樹葉節(jié)點(diǎn);
(7d)判斷所有子區(qū)域是否完成了構(gòu)建路由樹,若是,則執(zhí)行步驟(8),否則,執(zhí)行步驟(7a);
(8)搜集數(shù)據(jù):
(8a)啟動(dòng)任意一個(gè)子區(qū)域內(nèi)所有非代理節(jié)點(diǎn)藍(lán)牙設(shè)備的全球定位系統(tǒng)GPS;
(8b)將非代理節(jié)點(diǎn)藍(lán)牙設(shè)備的全球定位系統(tǒng)GPS搜集到的地理位置、運(yùn)動(dòng)速度信息、運(yùn)動(dòng)方向的信息包裝成數(shù)據(jù)包;
(8c)判斷所有子區(qū)域是否完成了數(shù)據(jù)的搜集,若是,則執(zhí)行步驟(9),否則,執(zhí)行步驟(8a);
(9)判斷非代理節(jié)點(diǎn)藍(lán)牙設(shè)備是否是主設(shè)備,若是,則執(zhí)行步驟(12),否則,執(zhí)行步驟(10);
(10)發(fā)送數(shù)據(jù)包:
(10a)所有子區(qū)域的從設(shè)備不間斷向其主設(shè)備發(fā)送連接請(qǐng)求;
(10b)開啟所有從設(shè)備的發(fā)送線程;
(10c)所有從設(shè)備將存儲(chǔ)的數(shù)據(jù)包發(fā)送與其對(duì)應(yīng)的主設(shè)備;
(10d)判斷主設(shè)備是否接收了從設(shè)備的數(shù)據(jù)包,若是,則執(zhí)行步驟(11),否則,執(zhí)行步驟(10a);
(11)判斷從設(shè)備是否完成發(fā)送數(shù)據(jù)包,若是,則執(zhí)行步驟(12),否則,執(zhí)行步驟(10);
(12)接收數(shù)據(jù)包:
(12a)檢測子區(qū)域內(nèi)從設(shè)備的連接請(qǐng)求;
(12b)開啟所有主設(shè)備的接受線程;
(12c)判斷是否有從設(shè)備發(fā)送數(shù)據(jù)包,若是,則執(zhí)行步驟(12d),否則,執(zhí)行步驟(12a);
(12d)所有主設(shè)備接收與其對(duì)應(yīng)的從設(shè)備的數(shù)據(jù)包;
(13)判斷主設(shè)備是否接收了從設(shè)備的數(shù)據(jù)包,若是,則執(zhí)行步驟(14),否則,執(zhí)行步驟(12);
(14)連接所選子區(qū)域中符合藍(lán)牙4.0協(xié)議連接距離的代理節(jié)點(diǎn);
(15)向代理節(jié)點(diǎn)發(fā)送所有接收的數(shù)據(jù)包;
(16)判斷代理節(jié)點(diǎn)設(shè)備是否接收所選區(qū)域內(nèi)所有非代理節(jié)點(diǎn)藍(lán)牙設(shè)備的數(shù)據(jù)包,若是,則執(zhí)行步驟(19),否則,執(zhí)行步驟(17);
(17)清除所選區(qū)域內(nèi)非代理節(jié)點(diǎn)藍(lán)牙設(shè)備的主設(shè)備身份;
(18)判斷所選區(qū)域內(nèi)是否存在沒有身份的非代理節(jié)點(diǎn)藍(lán)牙設(shè)備,若是,則執(zhí)行步驟(4),否則,執(zhí)行步驟(19);
(19)關(guān)閉主設(shè)備的接收線程或從設(shè)備的發(fā)送線程。
本發(fā)明與現(xiàn)有的技術(shù)相比具有以下優(yōu)點(diǎn):
第1.本發(fā)明提出了確定非代理節(jié)點(diǎn)設(shè)備最大數(shù)量的要求,克服了基于靜止藍(lán)牙設(shè)備組網(wǎng)互連,現(xiàn)實(shí)生活的手機(jī)等藍(lán)牙設(shè)備都是隨著人而位置發(fā)生移動(dòng),本發(fā)明無法有效確定在一個(gè)區(qū)域內(nèi)藍(lán)牙設(shè)備數(shù)量,是本發(fā)明通過將一個(gè)人口密集的區(qū)域劃分成一系列子區(qū)域,子區(qū)域中的所有非代理節(jié)點(diǎn)藍(lán)牙設(shè)備將收集到數(shù)據(jù)發(fā)送至子區(qū)域代理節(jié)點(diǎn)設(shè)備中;根據(jù)非代理節(jié)點(diǎn)藍(lán)牙設(shè)備節(jié)點(diǎn)移動(dòng)方向和區(qū)域代理節(jié)點(diǎn)的連線方向夾角最小原則為所有非代理節(jié)點(diǎn)設(shè)備選擇對(duì)應(yīng)子區(qū)域代理節(jié)點(diǎn)設(shè)備,從而實(shí)現(xiàn)了非代理節(jié)點(diǎn)設(shè)備最大數(shù)量。
第2.本發(fā)明通過選擇符合具有藍(lán)牙4.0協(xié)議的非代理節(jié)點(diǎn)設(shè)備作為非代理節(jié)點(diǎn)藍(lán)牙設(shè)備,克服了基于Wi-Fi環(huán)境下的移動(dòng)終端,許多大型活動(dòng)都是在露天環(huán)境下進(jìn)行,這些活動(dòng)Wi-Fi不可達(dá),無法在這些活動(dòng)中應(yīng)用該技術(shù)檢測和收集人流信息,使本發(fā)明可以在露天沒有Wi-Fi的環(huán)境中進(jìn)行網(wǎng)絡(luò)自組,從而實(shí)現(xiàn)非代理節(jié)點(diǎn)藍(lán)牙設(shè)備發(fā)送數(shù)據(jù)包和接收數(shù)據(jù)包。
第3.本發(fā)明通過確定非代理節(jié)點(diǎn)藍(lán)牙設(shè)備身份,清除所選區(qū)域內(nèi)非代理節(jié)點(diǎn)藍(lán)牙設(shè)備的主設(shè)備身份,再重新確定非代理節(jié)點(diǎn)藍(lán)牙設(shè)備身份,克服了藍(lán)牙設(shè)備身份固定,數(shù)據(jù)發(fā)送的方式單一,只能由外圍藍(lán)牙設(shè)備向中心藍(lán)牙設(shè)備發(fā)送數(shù)據(jù),而外圍藍(lán)牙設(shè)備無法自組網(wǎng)傳輸數(shù)據(jù),使本發(fā)明可以不斷更新非代理節(jié)點(diǎn)藍(lán)牙設(shè)備身份,將外圍非代理節(jié)點(diǎn)藍(lán)牙設(shè)備自組網(wǎng)發(fā)送數(shù)據(jù)包和接收數(shù)據(jù)包。
附圖說明
圖1為本發(fā)明的流程圖;
圖2為本發(fā)明非代理節(jié)點(diǎn)藍(lán)牙設(shè)備與代理節(jié)點(diǎn)設(shè)備連接圖;
圖3為本發(fā)明的非代理節(jié)點(diǎn)藍(lán)牙設(shè)備在不同位置發(fā)送數(shù)據(jù)包所需時(shí)間的三維柱狀圖。
具體實(shí)施方式
下面結(jié)合附圖對(duì)本發(fā)明做進(jìn)一步的描述。
參照?qǐng)D1,本發(fā)明的具體實(shí)施步驟如下。
步驟1,劃分區(qū)域。
選擇任意一個(gè)人口密集的區(qū)域,將所選取的區(qū)域,按照每隔20m的距離分成n個(gè)子區(qū)域,將每個(gè)子區(qū)域中位置固定的智能設(shè)備設(shè)置為該區(qū)域的代理節(jié)點(diǎn)設(shè)備。
在所選取的區(qū)域中,設(shè)定n個(gè)代理節(jié)點(diǎn)設(shè)備。
將所有子區(qū)域中除代理節(jié)點(diǎn)設(shè)備之外的智能設(shè)備,設(shè)置為非代理節(jié)點(diǎn)設(shè)備。
步驟2,確定非代理節(jié)點(diǎn)最大數(shù)量。
每個(gè)子區(qū)域中非代理節(jié)點(diǎn)設(shè)備最大數(shù)量
其中,表示每一個(gè)子區(qū)域中第i個(gè)區(qū)域非代理節(jié)點(diǎn)設(shè)備最大數(shù)量,VZH表示每一個(gè)子區(qū)域中代理節(jié)點(diǎn)設(shè)備的發(fā)送速度,ti表示每一個(gè)子區(qū)域中第i個(gè)區(qū)域代理節(jié)點(diǎn)設(shè)備發(fā)送所有數(shù)據(jù)所需要的時(shí)間,Vs表示每一個(gè)子區(qū)域中非代理節(jié)點(diǎn)設(shè)備的發(fā)送速度,T表示每一個(gè)子區(qū)域中非代理節(jié)點(diǎn)設(shè)備發(fā)送所有數(shù)據(jù)所需要的時(shí)間,*表示乘法操作。
從每個(gè)子區(qū)域的代理節(jié)點(diǎn)設(shè)備中,選擇滿足匹配條件的代理節(jié)點(diǎn)設(shè)備:
k={k|min(θjk)}
其中,θjk表示在每個(gè)子區(qū)域中第j個(gè)非代理節(jié)點(diǎn)設(shè)備和第k個(gè)代理節(jié)點(diǎn)設(shè)備的連線與該非代理節(jié)點(diǎn)設(shè)備移動(dòng)方向所在直線之間的夾角,k=1,...,n,n表示代理節(jié)點(diǎn)設(shè)備的總數(shù),arccos表示反余弦操作,Oj表示第j個(gè)非代理節(jié)點(diǎn)設(shè)備的移動(dòng)方向向量,·表示點(diǎn)乘操作,Ok表示非代理節(jié)點(diǎn)設(shè)備與任意一個(gè)區(qū)域代理節(jié)點(diǎn)設(shè)備的連線的方向向量,×表示叉乘操作,k表示符合匹配條件的第k個(gè)代理節(jié)點(diǎn)設(shè)備,|表示取集合操作,min表示求最小值操作。
步驟3,生成路由表。
第一步,選擇符合具有藍(lán)牙4.0協(xié)議的非代理節(jié)點(diǎn)設(shè)備作為非代理節(jié)點(diǎn)藍(lán)牙設(shè)備。
第二步,任意選取一個(gè)子區(qū)域,啟動(dòng)所選子區(qū)域中所有非代理節(jié)點(diǎn)藍(lán)牙設(shè)備的藍(lán)牙。
第三步,將搜索所選子區(qū)域中其他啟動(dòng)藍(lán)牙的非代理節(jié)點(diǎn)藍(lán)牙設(shè)備的路由信息包括物理地址MacAdr,上級(jí)Master、最少經(jīng)過的非代理節(jié)點(diǎn)設(shè)備數(shù)MinHops和區(qū)域號(hào)ZoneID,在非代理節(jié)點(diǎn)設(shè)備中生成電子表格。
第四步,將搜索到的其他啟動(dòng)藍(lán)牙的非代理節(jié)點(diǎn)藍(lán)牙設(shè)備的路由信息,在非代理節(jié)點(diǎn)藍(lán)牙設(shè)備中生成路由表。
判斷所有子區(qū)域中的非代理節(jié)點(diǎn)藍(lán)牙設(shè)備是否都生成路由表,若是,則執(zhí)行步驟4,否則,執(zhí)行第二步。
步驟4,更新路由表。
第一步,重新搜索任意一個(gè)子區(qū)域內(nèi)其他非代理節(jié)點(diǎn)藍(lán)牙設(shè)備的路由信息。
第二步,將重新搜索后的路由信息替換非代理節(jié)點(diǎn)藍(lán)牙設(shè)備中原有路由表的路由信息。
第三步,判斷是否更新完所有子區(qū)域中的非代理節(jié)點(diǎn)藍(lán)牙設(shè)備的路由表,若是,則執(zhí)行步驟5,否則,執(zhí)行第一步。
步驟5,確定非代理節(jié)點(diǎn)藍(lán)牙設(shè)備身份。
當(dāng)子區(qū)域內(nèi)不存在相同區(qū)域號(hào)的非代理節(jié)點(diǎn)藍(lán)牙設(shè)備時(shí),選擇符合非代理節(jié)點(diǎn)藍(lán)牙設(shè)備的主設(shè)備的條件的非代理節(jié)點(diǎn)藍(lán)牙設(shè)備作為其他非代理節(jié)點(diǎn)藍(lán)牙設(shè)備的主設(shè)備:
其中,表示任意一個(gè)子區(qū)域中第A個(gè)非代理節(jié)點(diǎn)藍(lán)牙設(shè)備和第p個(gè)代理節(jié)點(diǎn)設(shè)備的連線與該子區(qū)域中第A個(gè)非代理節(jié)點(diǎn)藍(lán)牙設(shè)備和第q個(gè)非代理節(jié)點(diǎn)藍(lán)牙設(shè)備的連線的夾角,表示每一個(gè)子區(qū)域中第A個(gè)非代理節(jié)點(diǎn)藍(lán)牙設(shè)備和第p個(gè)代理節(jié)點(diǎn)設(shè)備的連線與該非代理節(jié)點(diǎn)藍(lán)牙設(shè)備移動(dòng)方向所在直線之間的夾角,ε表示數(shù)值為10°的閾值。
當(dāng)子區(qū)域內(nèi)存在相同區(qū)域號(hào)的非代理節(jié)點(diǎn)藍(lán)牙設(shè)備時(shí),從任意一個(gè)子區(qū)域的區(qū)域號(hào)相同的非代理節(jié)點(diǎn)藍(lán)牙設(shè)備中,從該非代理節(jié)點(diǎn)藍(lán)牙設(shè)備到代理節(jié)點(diǎn)設(shè)備所經(jīng)過非代理節(jié)點(diǎn)藍(lán)牙設(shè)備的數(shù)量中選擇最小的非代理節(jié)點(diǎn)藍(lán)牙設(shè)備,作為其他非代理節(jié)點(diǎn)藍(lán)牙設(shè)備的主設(shè)備身份。
連接主設(shè)備的其他非代理節(jié)點(diǎn)藍(lán)牙設(shè)備,將已連接主設(shè)備的其他非代理節(jié)點(diǎn)藍(lán)牙設(shè)備作為該主設(shè)備的從設(shè)備身份。
步驟6,判斷所有子區(qū)域中的非代理節(jié)點(diǎn)藍(lán)牙設(shè)備是否都確認(rèn)了設(shè)備身份,若是,則執(zhí)行步驟7,否則,執(zhí)行步驟5。
步驟7,構(gòu)建路由樹。
第一步,將隨機(jī)選取的一個(gè)子區(qū)域中任意一個(gè)主設(shè)備與該主設(shè)備的從設(shè)備對(duì)應(yīng)連接。
第二步,將隨機(jī)選取的一個(gè)子區(qū)域的代理節(jié)點(diǎn)設(shè)備與該區(qū)域的主設(shè)備對(duì)應(yīng)連接。
第三步,將所選子區(qū)域中已連接主設(shè)備的區(qū)域代理節(jié)點(diǎn)設(shè)置為路由樹的樹根節(jié)點(diǎn),已連接從設(shè)備和區(qū)域代理的主設(shè)備設(shè)置為路由樹的樹枝節(jié)點(diǎn),其他非代理節(jié)點(diǎn)藍(lán)牙設(shè)備設(shè)置為路由樹的樹葉節(jié)點(diǎn)。
第四步,判斷所有子區(qū)域是否完成了構(gòu)建路由樹,若是,則執(zhí)行步驟8,否則,執(zhí)行第一步。
步驟8,搜集數(shù)據(jù)。
第一步,啟動(dòng)任意一個(gè)子區(qū)域內(nèi)所有非代理節(jié)點(diǎn)藍(lán)牙設(shè)備的全球定位系統(tǒng)GPS。
第二步,將非代理節(jié)點(diǎn)藍(lán)牙設(shè)備的全球定位系統(tǒng)GPS搜集到的地理位置、運(yùn)動(dòng)速度信息、運(yùn)動(dòng)方向的信息包裝成數(shù)據(jù)包。
第三步,判斷所有子區(qū)域是否完成了數(shù)據(jù)的搜集,若是,則執(zhí)行步驟9,否則,執(zhí)行第一步。
步驟9,判斷非代理節(jié)點(diǎn)藍(lán)牙設(shè)備是否是主設(shè)備,若是,則執(zhí)行步驟12,否則,執(zhí)行步驟10。
步驟10,發(fā)送數(shù)據(jù)包。
第一步,所有子區(qū)域的從設(shè)備不間斷向其主設(shè)備發(fā)送連接請(qǐng)求。
第二步,開啟所有從設(shè)備的發(fā)送線程。
第三步,所有從設(shè)備將存儲(chǔ)的數(shù)據(jù)包發(fā)送與其對(duì)應(yīng)的主設(shè)備。
第四步,判斷主設(shè)備是否接收了從設(shè)備的數(shù)據(jù)包,若是,則執(zhí)行步驟11,否則,執(zhí)行步驟第一步。
步驟11,判斷從設(shè)備是否完成發(fā)送數(shù)據(jù)包,若是,則執(zhí)行步驟12,否則,執(zhí)行步驟10。
步驟12,接收數(shù)據(jù)包。
第一步,檢測子區(qū)域內(nèi)從設(shè)備的連接請(qǐng)求。
第二步,開啟所有主設(shè)備的接受線程。
第三步,判斷是否有從設(shè)備發(fā)送數(shù)據(jù)包,若是,則執(zhí)行第四步,否則,執(zhí)行第一步。
第四步,所有主設(shè)備接收與其對(duì)應(yīng)的從設(shè)備的數(shù)據(jù)包。
步驟13,判斷主設(shè)備是否接收了從設(shè)備的數(shù)據(jù)包,若是,則執(zhí)行步驟12,否則,執(zhí)行步驟14。
步驟14,連接所選子區(qū)域中符合藍(lán)牙4.0協(xié)議連接距離的代理節(jié)點(diǎn)。
步驟15,向代理節(jié)點(diǎn)發(fā)送所有接收的數(shù)據(jù)包。
步驟16,判斷代理節(jié)點(diǎn)設(shè)備是否接收所選區(qū)域內(nèi)所有非代理節(jié)點(diǎn)藍(lán)牙設(shè)備的數(shù)據(jù)包,若是,則執(zhí)行步驟19,否則,執(zhí)行步驟17。
步驟17,清除所選區(qū)域內(nèi)非代理節(jié)點(diǎn)藍(lán)牙設(shè)備的主設(shè)備身份。
步驟18,判斷所選區(qū)域內(nèi)是否存在沒有身份的非代理節(jié)點(diǎn)藍(lán)牙設(shè)備,若是,則執(zhí)行步驟4,否則,執(zhí)行步驟19。
步驟19,關(guān)閉主設(shè)備的接收線程或從設(shè)備的發(fā)送線程。
本發(fā)明的多跳藍(lán)牙組網(wǎng)效果可以通過下述仿真實(shí)驗(yàn)得到驗(yàn)證。
1.仿真條件:
本發(fā)明的仿真實(shí)驗(yàn)的環(huán)境是:Windows 7,MATLAB 2013b。采用MATLAB 2013b中生成的隨機(jī)點(diǎn)作為人口密集區(qū)域中的非代理節(jié)點(diǎn)藍(lán)牙設(shè)備。
2.仿真內(nèi)容:
本發(fā)明的仿真實(shí)驗(yàn)的效果圖,如圖2所示,橫坐標(biāo)代表人口密集區(qū)域的長,縱坐標(biāo)代表人口密集區(qū)域的寬,坐標(biāo)中有1000個(gè)小三角形代表1000個(gè)非代理節(jié)點(diǎn)藍(lán)牙設(shè)備,坐標(biāo)中4個(gè)中心點(diǎn)代表4個(gè)代理節(jié)點(diǎn)設(shè)備。
藍(lán)牙自組網(wǎng)的仿真實(shí)驗(yàn)通過運(yùn)行matlab文件來進(jìn)行。在實(shí)驗(yàn)中,通過非代理節(jié)點(diǎn)藍(lán)牙設(shè)備之間不斷確定和連接主設(shè)備的方式形成藍(lán)牙自組網(wǎng)的樹型結(jié)構(gòu),獲取仿真數(shù)據(jù)。
將本發(fā)明的方法應(yīng)用于25人在33m*24m的真實(shí)的矩形空地中,得到數(shù)據(jù)傳輸時(shí)間與地理位置關(guān)系的效果圖,如圖3所示,橫坐標(biāo)代表矩形空地的長,縱坐標(biāo)代表空地的寬,豎坐標(biāo)代表平均數(shù)據(jù)傳輸時(shí)間。
3.仿真結(jié)果分析
從圖2中可以看出,本發(fā)明的方法中藍(lán)牙自組網(wǎng)中總的連接智能設(shè)備的數(shù)量占人口密集區(qū)域設(shè)備總數(shù)的90%以上,本發(fā)明的方法比普通的人流數(shù)據(jù)搜集方法更優(yōu),這是因?yàn)椴捎梅谴砉?jié)點(diǎn)藍(lán)牙設(shè)備具有的主設(shè)備和從設(shè)備身份,從而形成樹狀的藍(lán)牙自組網(wǎng),降低了代理節(jié)點(diǎn)設(shè)備的負(fù)載,提高了藍(lán)牙自組網(wǎng)可容納的非代理節(jié)點(diǎn)藍(lán)牙設(shè)備的數(shù)量。從圖3中可以看出,本發(fā)明的方法中在任意一個(gè)子區(qū)域中,非代理節(jié)點(diǎn)藍(lán)牙設(shè)備距離代理節(jié)點(diǎn)設(shè)備越遠(yuǎn),給代理節(jié)點(diǎn)設(shè)備發(fā)送數(shù)據(jù)的時(shí)間越長。系統(tǒng)最大時(shí)延不超過20s。