本發(fā)明涉及醫(yī)療藍(lán)牙手環(huán)監(jiān)測領(lǐng)域,特別涉及一種藍(lán)牙手環(huán)的監(jiān)測數(shù)據(jù)的廣播方法及裝置。
背景技術(shù):
隨著物聯(lián)網(wǎng)的普及,藍(lán)牙手環(huán)的使用越來越廣泛,特別是在醫(yī)療行業(yè)。傳統(tǒng)的藍(lán)牙手環(huán)采用的廣播機(jī)制和方法不能滿足現(xiàn)實(shí)的需要,如:操作藍(lán)牙手環(huán)的動(dòng)作和當(dāng)前藍(lán)牙手環(huán)的變化數(shù)據(jù)不會(huì)通過BLE廣播出來,這給藍(lán)牙手環(huán)的使用帶來極大的局限性,不能在醫(yī)療行業(yè)的發(fā)揮更大的作用。同時(shí),藍(lán)牙手環(huán)與藍(lán)牙主設(shè)備間的通信方式需要采用建立連接,一對(duì)一通信的模式,雙方的通信效率很低,占用帶寬比較多,容量低。一對(duì)一模式下,在一定時(shí)間內(nèi),只能兩個(gè)藍(lán)牙設(shè)備間通信,不能實(shí)現(xiàn)多個(gè)手環(huán)同時(shí)上送/廣播數(shù)據(jù)的情形。
普通的藍(lán)牙BLE廣播包,一般只能加載31個(gè)字節(jié),其中1個(gè)字節(jié)是長度,一個(gè)字節(jié)是藍(lán)牙廣播類型,加上UUID,實(shí)際能傳遞的藍(lán)牙手環(huán)當(dāng)前信息很有限,如Ibeacon基站只傳遞2~3個(gè)信息,使用受到局限。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題在于,針對(duì)現(xiàn)有技術(shù)的上述缺陷,提供一種能高效傳遞藍(lán)牙手環(huán)當(dāng)前狀態(tài)數(shù)據(jù),在有效獲取藍(lán)牙手環(huán)位置信息和當(dāng)前數(shù)據(jù)的同時(shí),提高系統(tǒng)接入的容量,降低與藍(lán)牙BLE接收設(shè)備間的數(shù)據(jù)流量,避免重復(fù)操作的藍(lán)牙手環(huán)的監(jiān)測數(shù)據(jù)的廣播方法及裝置。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:構(gòu)造一種藍(lán)牙手環(huán)監(jiān)測數(shù)據(jù)的廣播方法,其特征在于,包括如下步驟:
A)對(duì)藍(lán)牙手環(huán)不同的監(jiān)測數(shù)據(jù)進(jìn)行分類,得到監(jiān)測數(shù)據(jù)的數(shù)據(jù)類型ID為0X0000~0X7FFF和0X8000~0XFFFF;所述監(jiān)測數(shù)據(jù)的格式包括依次排列的長度、藍(lán)牙廣播類型、廠家BLE廣播包類型、藍(lán)牙手環(huán)出廠編號(hào)低2字節(jié)、藍(lán)牙手環(huán)出廠編號(hào)高2字節(jié)、心率值、心率值采集時(shí)刻的類UNIX時(shí)間戳低2字節(jié)、監(jiān)測數(shù)據(jù)類型0、監(jiān)測數(shù)據(jù)的值0低2字節(jié)、監(jiān)測數(shù)據(jù)的值0高2字節(jié)、監(jiān)測數(shù)據(jù)類型1、監(jiān)測數(shù)據(jù)的值1低2字節(jié)、監(jiān)測數(shù)據(jù)的值1高2字節(jié)、類UNIX時(shí)間戳低1字節(jié)、類UNIX時(shí)間戳高3字節(jié)、睡眠狀態(tài)、電池當(dāng)下容量、未佩戴藍(lán)牙手環(huán)、發(fā)射強(qiáng)度值和校驗(yàn)值;
B)當(dāng)當(dāng)前監(jiān)測數(shù)據(jù)的數(shù)據(jù)類型ID在0X0000~0X7FFF之間時(shí),對(duì)所述當(dāng)前監(jiān)測數(shù)據(jù)進(jìn)行壓縮,得到藍(lán)牙BLE廣播包;所述藍(lán)牙BLE廣播包對(duì)應(yīng)位置的低2字節(jié)表示實(shí)際值,高2字節(jié)表示獲取所述實(shí)際值時(shí)刻的類UNIX時(shí)間戳低2字節(jié);或者
當(dāng)所述當(dāng)前監(jiān)測數(shù)據(jù)的數(shù)據(jù)類型ID在0X8000~0XFFFF之間時(shí),所述當(dāng)前監(jiān)測數(shù)據(jù)為所述藍(lán)牙BLE廣播包;所述當(dāng)前監(jiān)測數(shù)據(jù)的4字節(jié)為無壓縮的實(shí)際值;
C)在所述監(jiān)測數(shù)據(jù)類型0、監(jiān)測數(shù)據(jù)的值0、監(jiān)測數(shù)據(jù)類型1和監(jiān)測數(shù)據(jù)的值1之間輪番將所述藍(lán)牙手環(huán)的當(dāng)前監(jiān)測數(shù)據(jù)填充到所述藍(lán)牙BLE廣播包中,經(jīng)過加密和校驗(yàn)處理后,將當(dāng)前藍(lán)牙BLE廣播包廣播出去,并由藍(lán)牙BLE接收設(shè)備接收;
D)所述藍(lán)牙BLE接收設(shè)備對(duì)所述當(dāng)前藍(lán)牙BLE廣播包進(jìn)行解壓縮。
在本發(fā)明所述的藍(lán)牙手環(huán)監(jiān)測數(shù)據(jù)的廣播方法中,所述步驟D)進(jìn)一步包括如下步驟:
D1)所述藍(lán)牙BLE接收設(shè)備將所述當(dāng)前藍(lán)牙BLE廣播包的類UNIX時(shí)間戳高2字節(jié)與對(duì)應(yīng)監(jiān)測數(shù)據(jù)的類UNIX時(shí)間戳低2字節(jié)組成一個(gè)4字節(jié)的組合數(shù);
D2)將所述4字節(jié)的組合數(shù)與所述當(dāng)前藍(lán)牙BLE廣播包的類UNIX時(shí)間戳比較,并判斷差值是否小于32768,如是,則認(rèn)為所述4字節(jié)的組合數(shù)是采集時(shí)刻,否則,將所述4字節(jié)的組合數(shù)減去0X10000,得到采集時(shí)刻的類UNIX時(shí)間戳。
在本發(fā)明所述的藍(lán)牙手環(huán)監(jiān)測數(shù)據(jù)的廣播方法中,所述長度為0X1E,所述藍(lán)牙廣播類型為0XFF,所述校驗(yàn)采用CRC8校驗(yàn);所述藍(lán)牙手環(huán)的唯一ID由所述藍(lán)牙手環(huán)出廠編號(hào)低2字節(jié)、藍(lán)牙手環(huán)出廠編號(hào)高2字節(jié)和所述藍(lán)牙手環(huán)的MAC地址組合得到。
在本發(fā)明所述的藍(lán)牙手環(huán)監(jiān)測數(shù)據(jù)的廣播方法中,所述心率值、睡眠狀態(tài)、電池當(dāng)下容量和未佩戴藍(lán)牙手環(huán)的狀態(tài)在固定位置,每次都廣播;所述監(jiān)測數(shù)據(jù)在所述監(jiān)測數(shù)據(jù)類型0位置廣播的優(yōu)先級(jí)高于在所述監(jiān)測數(shù)據(jù)類型1位置的優(yōu)先級(jí)。
在本發(fā)明所述的藍(lán)牙手環(huán)監(jiān)測數(shù)據(jù)的廣播方法中,所述長度占用1個(gè)字節(jié),所述藍(lán)牙廣播類型占用1個(gè)字節(jié),所述廠家BLE廣播包類型占用1個(gè)字節(jié),所述心率值占用1個(gè)字節(jié),所述監(jiān)測數(shù)據(jù)類型0占用2個(gè)字節(jié),所述監(jiān)測數(shù)據(jù)類型1占用2個(gè)字節(jié),所述睡眠狀態(tài)占用1個(gè)字節(jié),所述電池當(dāng)下容量占用1個(gè)字節(jié),所述未佩戴藍(lán)牙手環(huán)占用1個(gè)字節(jié),所述發(fā)射強(qiáng)度值占用1個(gè)字節(jié),所述校驗(yàn)值占用1個(gè)字節(jié)。
本發(fā)明還涉及一種實(shí)現(xiàn)上述藍(lán)牙手環(huán)監(jiān)測數(shù)據(jù)的廣播方法的裝置,包括:
分類單元:用于對(duì)藍(lán)牙手環(huán)不同的監(jiān)測數(shù)據(jù)進(jìn)行分類,得到監(jiān)測數(shù)據(jù)的數(shù)據(jù)類型ID為0X0000~0X7FFF和0X8000~0XFFFF;所述監(jiān)測數(shù)據(jù)的格式包括依次排列的長度、藍(lán)牙廣播類型、廠家BLE廣播包類型、藍(lán)牙手環(huán)出廠編號(hào)低2字節(jié)、藍(lán)牙手環(huán)出廠編號(hào)高2字節(jié)、心率值、心率值采集時(shí)刻的類UNIX時(shí)間戳低2字節(jié)、監(jiān)測數(shù)據(jù)類型0、監(jiān)測數(shù)據(jù)的值0低2字節(jié)、監(jiān)測數(shù)據(jù)的值0高2字節(jié)、監(jiān)測數(shù)據(jù)類型1、監(jiān)測數(shù)據(jù)的值1低2字節(jié)、監(jiān)測數(shù)據(jù)的值1高2字節(jié)、類UNIX時(shí)間戳低1字節(jié)、類UNIX時(shí)間戳高3字節(jié)、睡眠狀態(tài)、電池當(dāng)下容量、未佩戴藍(lán)牙手環(huán)、發(fā)射強(qiáng)度值和校驗(yàn)值;
壓縮單元:用于當(dāng)當(dāng)前監(jiān)測數(shù)據(jù)的數(shù)據(jù)類型ID在0X0000~0X7FFF之間時(shí),對(duì)所述當(dāng)前監(jiān)測數(shù)據(jù)進(jìn)行壓縮,得到藍(lán)牙BLE廣播包;所述藍(lán)牙BLE廣播包對(duì)應(yīng)位置的低2字節(jié)表示實(shí)際值,高2字節(jié)表示獲取所述實(shí)際值時(shí)刻的類UNIX時(shí)間戳低2字節(jié);或者
當(dāng)所述當(dāng)前監(jiān)測數(shù)據(jù)的數(shù)據(jù)類型ID在0X8000~0XFFFF之間時(shí),所述當(dāng)前監(jiān)測數(shù)據(jù)為所述藍(lán)牙BLE廣播包;所述當(dāng)前監(jiān)測數(shù)據(jù)的4字節(jié)為無壓縮的實(shí)際值;
加密校驗(yàn)廣播單元:用于在所述監(jiān)測數(shù)據(jù)類型0、監(jiān)測數(shù)據(jù)的值0、監(jiān)測數(shù)據(jù)類型1和監(jiān)測數(shù)據(jù)的值1之間輪番將所述藍(lán)牙手環(huán)的當(dāng)前監(jiān)測數(shù)據(jù)填充到所述藍(lán)牙BLE廣播包中,經(jīng)過加密和校驗(yàn)處理后,將當(dāng)前藍(lán)牙BLE廣播包廣播出去,并由藍(lán)牙BLE接收設(shè)備接收;
解壓縮單元:用于使所述藍(lán)牙BLE接收設(shè)備對(duì)所述當(dāng)前藍(lán)牙BLE廣播包進(jìn)行解壓縮。
在本發(fā)明所述的裝置中,所述解壓縮單元進(jìn)一步包括:
字節(jié)組合模塊:用于使所述藍(lán)牙BLE接收設(shè)備將所述當(dāng)前藍(lán)牙BLE廣播包的類UNIX時(shí)間戳高2字節(jié)與對(duì)應(yīng)監(jiān)測數(shù)據(jù)的類UNIX時(shí)間戳低2字節(jié)組成一個(gè)4字節(jié)的組合數(shù);
比較模塊:用于將所述4字節(jié)的組合數(shù)與所述當(dāng)前藍(lán)牙BLE廣播包的類UNIX時(shí)間戳比較,并判斷差值是否小于32768,如是,則認(rèn)為所述4字節(jié)的組合數(shù)是采集時(shí)刻,否則,將所述4字節(jié)的組合數(shù)減去0X10000,得到采集時(shí)刻的類UNIX時(shí)間戳。
在本發(fā)明所述的裝置中,所述長度為0X1E,所述藍(lán)牙廣播類型為0XFF,所述校驗(yàn)采用CRC8校驗(yàn);所述藍(lán)牙手環(huán)的唯一ID由所述藍(lán)牙手環(huán)出廠編號(hào)低2字節(jié)、藍(lán)牙手環(huán)出廠編號(hào)高2字節(jié)和所述藍(lán)牙手環(huán)的MAC地址組合得到。
在本發(fā)明所述的裝置中,所述心率值、睡眠狀態(tài)、電池當(dāng)下容量和未佩戴藍(lán)牙手環(huán)的狀態(tài)在固定位置,每次都廣播;所述監(jiān)測數(shù)據(jù)在所述監(jiān)測數(shù)據(jù)類型0位置廣播的優(yōu)先級(jí)高于在所述監(jiān)測數(shù)據(jù)類型1位置的優(yōu)先級(jí)。
在本發(fā)明所述的裝置中,所述長度占用1個(gè)字節(jié),所述藍(lán)牙廣播類型占用1個(gè)字節(jié),所述廠家BLE廣播包類型占用1個(gè)字節(jié),所述心率值占用1個(gè)字節(jié),所述監(jiān)測數(shù)據(jù)類型0占用2個(gè)字節(jié),所述監(jiān)測數(shù)據(jù)類型1占用2個(gè)字節(jié),所述睡眠狀態(tài)占用1個(gè)字節(jié),所述電池當(dāng)下容量占用1個(gè)字節(jié),所述未佩戴藍(lán)牙手環(huán)占用1個(gè)字節(jié),所述發(fā)射強(qiáng)度值占用1個(gè)字節(jié),所述校驗(yàn)值占用1個(gè)字節(jié)。
實(shí)施本發(fā)明的藍(lán)牙手環(huán)的監(jiān)測數(shù)據(jù)的廣播方法及裝置,具有以下有益效果:由于對(duì)藍(lán)牙手環(huán)不同的監(jiān)測數(shù)據(jù)進(jìn)行分類,得到監(jiān)測數(shù)據(jù)的數(shù)據(jù)類型ID;數(shù)據(jù)類型ID在0X0000~0X7FFF之間時(shí),對(duì)當(dāng)前監(jiān)測數(shù)據(jù)進(jìn)行壓縮,得到藍(lán)牙BLE廣播包;藍(lán)牙BLE廣播包對(duì)應(yīng)位置的低2字節(jié)表示實(shí)際值,高2字節(jié)表示獲取所述實(shí)際值時(shí)刻的類UNIX時(shí)間戳低2字節(jié);這樣就可以使得藍(lán)牙BLE接收設(shè)備很容易剔除重復(fù)的BLE廣播信息,降低其與藍(lán)牙BLE接收設(shè)備間的數(shù)據(jù)流量,避免重復(fù)操作;另外,在監(jiān)測數(shù)據(jù)類型0、監(jiān)測數(shù)據(jù)的值0、監(jiān)測數(shù)據(jù)類型1和監(jiān)測數(shù)據(jù)的值1之間輪番將所述藍(lán)牙手環(huán)的當(dāng)前監(jiān)測數(shù)據(jù)填充到所述藍(lán)牙BLE廣播包中,經(jīng)過加密和校驗(yàn)處理后廣播出去,并由藍(lán)牙BLE接收設(shè)備接收,這樣可以實(shí)現(xiàn)藍(lán)牙手環(huán)監(jiān)測數(shù)據(jù)的高效傳送和接收,提高系統(tǒng)的時(shí)效性和穩(wěn)定性;所以其能高效傳遞藍(lán)牙手環(huán)當(dāng)前狀態(tài)數(shù)據(jù),在有效獲取藍(lán)牙手環(huán)位置信息和當(dāng)前數(shù)據(jù)的同時(shí),提高系統(tǒng)接入的容量,降低與藍(lán)牙BLE接收設(shè)備間的數(shù)據(jù)流量,避免重復(fù)操作。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明藍(lán)牙手環(huán)的監(jiān)測數(shù)據(jù)的廣播方法及裝置一個(gè)實(shí)施例中方法的流程圖;
圖2為所述實(shí)施例中藍(lán)牙BLE接收設(shè)備對(duì)當(dāng)前藍(lán)牙BLE廣播包進(jìn)行解壓縮的具體流程圖;
圖3為所述實(shí)施例中監(jiān)測數(shù)據(jù)的格式列表;
圖4為所述實(shí)施例中部分監(jiān)測數(shù)據(jù)的壓縮格式列表;
圖5為所述實(shí)施例中裝置的結(jié)構(gòu)示意圖;
圖6為所述實(shí)施例中監(jiān)測數(shù)據(jù)中單個(gè)監(jiān)測數(shù)據(jù)的發(fā)送次數(shù)與其丟失率的對(duì)應(yīng)表。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
在本發(fā)明藍(lán)牙手環(huán)的監(jiān)測數(shù)據(jù)的廣播方法及裝置實(shí)施例中,其藍(lán)牙手環(huán)監(jiān)測數(shù)據(jù)的廣播方法的流程圖如圖1所示。圖1中,該藍(lán)牙手環(huán)監(jiān)測數(shù)據(jù)的廣播方法包括如下步驟:
步驟S01對(duì)藍(lán)牙手環(huán)不同的監(jiān)測數(shù)據(jù)進(jìn)行分類,得到監(jiān)測數(shù)據(jù)的數(shù)據(jù)類型ID為0X0000~0X7FFF和0X8000~0XFFFF:本步驟中,對(duì)藍(lán)牙手環(huán)不同的監(jiān)測數(shù)據(jù)進(jìn)行分類,給監(jiān)測數(shù)據(jù)的每個(gè)數(shù)據(jù)類型進(jìn)行編號(hào),得到監(jiān)測數(shù)據(jù)的數(shù)據(jù)類型ID為0X0000~0X7FFF和0X8000~0XFFFF。藍(lán)牙手環(huán)作為藍(lán)牙BLE從設(shè)備。上述藍(lán)牙BLE是一種低功耗藍(lán)牙標(biāo)準(zhǔn),即Bluetooth Low Energy,它是低成本、短距離、可互操作的魯棒性無線技術(shù),工作在免許可的2.4GHz ISM射頻頻段。
圖3為本實(shí)施例中監(jiān)測數(shù)據(jù)的格式列表,圖3中,監(jiān)測數(shù)據(jù)的格式包括自始端到末端依次排列的長度、藍(lán)牙廣播類型、廠家BLE廣播包類型、藍(lán)牙手環(huán)出廠編號(hào)低2字節(jié)、藍(lán)牙手環(huán)出廠編號(hào)高2字節(jié)、心率值、心率值采集時(shí)刻的類UNIX時(shí)間戳低2字節(jié)、監(jiān)測數(shù)據(jù)類型0、監(jiān)測數(shù)據(jù)的值0低2字節(jié)、監(jiān)測數(shù)據(jù)的值0高2字節(jié)、監(jiān)測數(shù)據(jù)類型1、監(jiān)測數(shù)據(jù)的值1低2字節(jié)、監(jiān)測數(shù)據(jù)的值1高2字節(jié)、類UNIX時(shí)間戳低1字節(jié)、類UNIX時(shí)間戳高3字節(jié)、睡眠狀態(tài)、電池當(dāng)下容量、未佩戴藍(lán)牙手環(huán)、發(fā)射強(qiáng)度值和校驗(yàn)值。
其中,長度占用1個(gè)字節(jié),藍(lán)牙廣播類型占用1個(gè)字節(jié),廠家BLE廣播包類型占用1個(gè)字節(jié),心率值占用1個(gè)字節(jié),監(jiān)測數(shù)據(jù)類型0占用2個(gè)字節(jié),監(jiān)測數(shù)據(jù)類型1占用2個(gè)字節(jié),睡眠狀態(tài)占用1個(gè)字節(jié),電池當(dāng)下容量占用1個(gè)字節(jié),未佩戴藍(lán)牙手環(huán)占用1個(gè)字節(jié),發(fā)射強(qiáng)度值占用1個(gè)字節(jié),校驗(yàn)值占用1個(gè)字節(jié)。
另外,長度為固定的0X1E,藍(lán)牙廣播類型固定為0XFF。對(duì)于廠家BLE廣播包類型,針對(duì)加密或不加密,圖3中,以“T”、“h”、“i”、“n”、“K”、“e”、“r”區(qū)分,其中,T表示普通版不加密的數(shù)據(jù),K表示普通版加密后的數(shù)據(jù);h表示快速版不加密的數(shù)據(jù),i表示快速版加密后的數(shù)據(jù);廠家BLE廣播包類型未定義的數(shù)值(除“T”、“h”、“i”、“n”、“K”、“e”、“r”以外的),留給藍(lán)牙監(jiān)測系列產(chǎn)品(藍(lán)牙手環(huán)、智能門禁或智能水浸等藍(lán)牙采集設(shè)備)定義使用;藍(lán)牙BLE接收設(shè)備接收到數(shù)據(jù)后,根據(jù)此字節(jié)數(shù)值的定義,解析出實(shí)際的數(shù)據(jù)。即通過此字節(jié),將監(jiān)測數(shù)據(jù)進(jìn)行分類。將心率值、睡眠狀態(tài)、電池當(dāng)下容量和未佩戴藍(lán)牙手環(huán)等狀態(tài)在固定位置,每次廣播,通過這樣的方式來提高系統(tǒng)的效率。對(duì)于非藍(lán)牙手環(huán)的其他設(shè)備,智能門禁,智能水浸等,主要區(qū)別是在固定位置填充的數(shù)據(jù)類型不同。
上述監(jiān)測數(shù)據(jù)的格式中的校驗(yàn)采用CRC8校驗(yàn),其生成多項(xiàng)式為g(x)=x8+x5+x4+1,其中,x為待校驗(yàn)的監(jiān)測數(shù)據(jù),g(x)為校驗(yàn)結(jié)果值。
步驟S02當(dāng)當(dāng)前監(jiān)測數(shù)據(jù)的數(shù)據(jù)類型ID在0X0000~0X7FFF之間時(shí),對(duì)當(dāng)前監(jiān)測數(shù)據(jù)進(jìn)行壓縮,得到藍(lán)牙BLE廣播包;或者當(dāng)當(dāng)前監(jiān)測數(shù)據(jù)的數(shù)據(jù)類型ID在0X8000~0XFFFF之間時(shí),當(dāng)前監(jiān)測數(shù)據(jù)的值為實(shí)際值:本實(shí)施例中,根據(jù)醫(yī)療用藍(lán)牙手環(huán)的實(shí)際情況,將監(jiān)測數(shù)據(jù)壓縮成2字節(jié),并帶上類UNIX時(shí)間戳的低2字節(jié)數(shù)據(jù),組成4字節(jié)數(shù)值廣播出來,其壓縮格式為圖4所示。本步驟中,當(dāng)當(dāng)前監(jiān)測數(shù)據(jù)的數(shù)據(jù)類型ID在0X0000~0X7FFF之間時(shí),對(duì)當(dāng)前監(jiān)測數(shù)據(jù)進(jìn)行壓縮,得到藍(lán)牙BLE廣播包,該藍(lán)牙BLE廣播包對(duì)應(yīng)位置的低2字節(jié)表示實(shí)際值,高2字節(jié)表示獲取實(shí)際值時(shí)刻的類UNIX時(shí)間戳低2字節(jié)。
對(duì)于類UNIX時(shí)間戳,系統(tǒng)采用4字節(jié)表示,定義為無符號(hào)類型(非標(biāo)準(zhǔn)的UNIX時(shí)間戳),即當(dāng)前時(shí)間距離1970年1月1日00:00:00的秒數(shù)。0x00000000表示的是1970年1月1日00:00:00(北京時(shí)間:1970年1月1日08:00:00),而0XFFFFFFFF對(duì)應(yīng)的是2106年2月7日06:28:15(北京時(shí)間:2106年2月7日14:28:15)。上述類UNIX時(shí)間戳均指監(jiān)測數(shù)據(jù)所在的藍(lán)牙BLE廣播包的類UNIX時(shí)間戳,而非藍(lán)牙BLE接收設(shè)備的類UNIX時(shí)間戳。
當(dāng)當(dāng)前監(jiān)測數(shù)據(jù)的數(shù)據(jù)類型ID在0X8000~0XFFFF之間時(shí),當(dāng)前監(jiān)測數(shù)據(jù)的值為實(shí)際值,對(duì)應(yīng)的監(jiān)測數(shù)據(jù)是無壓縮的數(shù)據(jù),即其4字節(jié)為無壓縮的實(shí)際值。此壓縮方法對(duì)于醫(yī)療監(jiān)護(hù)系統(tǒng)來說,可以使得藍(lán)牙BLE接收設(shè)備很容易剔除重復(fù)的BLE廣播信息,降低其與藍(lán)牙BLE接收設(shè)備間的數(shù)據(jù)流量,避免重復(fù)操作。例如:當(dāng)天運(yùn)動(dòng)步數(shù)的數(shù)據(jù)類型定義為0X8000,表示的是當(dāng)天已經(jīng)走過的步數(shù),用4字節(jié)表示,此類數(shù)據(jù)的時(shí)效性要求不高,差幾分鐘都可以接受,故不在其廣播包數(shù)據(jù)值中填充類UNIX時(shí)間戳,而是藍(lán)牙接收設(shè)備采用一種近似的處理方法:使用藍(lán)牙手環(huán)廣播時(shí)刻的類UNIX時(shí)間戳作為其時(shí)間。
通過對(duì)監(jiān)測數(shù)據(jù)的值進(jìn)行特殊處理的壓縮算法,將監(jiān)測數(shù)據(jù)的實(shí)際值和獲得監(jiān)測數(shù)據(jù)的藍(lán)牙手環(huán)時(shí)刻放在一起,以利于藍(lán)牙BLE接收設(shè)備獲得詳細(xì)的信息,同時(shí)也利于藍(lán)牙BLE接收設(shè)備分辨出重復(fù)的數(shù)據(jù)。
步驟S03在監(jiān)測數(shù)據(jù)類型0、監(jiān)測數(shù)據(jù)的值0、監(jiān)測數(shù)據(jù)類型1和監(jiān)測數(shù)據(jù)的值1之間輪番將藍(lán)牙手環(huán)的當(dāng)前監(jiān)測數(shù)據(jù)填充到藍(lán)牙BLE廣播包中,經(jīng)過加密和校驗(yàn)處理后,將當(dāng)前藍(lán)牙BLE廣播包廣播出去,并由藍(lán)牙BLE接收設(shè)備接收:本實(shí)施例中,對(duì)各個(gè)監(jiān)測數(shù)據(jù)作了優(yōu)先級(jí)的處理,0表示優(yōu)先級(jí)最高,出現(xiàn)這類的監(jiān)測數(shù)據(jù)時(shí),優(yōu)先在監(jiān)測數(shù)據(jù)0的位置輪番廣播出來;1表示優(yōu)先級(jí)次之,主要在監(jiān)測數(shù)據(jù)1的位置廣播出來,在沒有比它優(yōu)先級(jí)更高監(jiān)測數(shù)據(jù)的情況下,可以在監(jiān)測數(shù)據(jù)0的位置輪番廣播出來;數(shù)值越大,其優(yōu)先級(jí)越低。也就是說,監(jiān)測數(shù)據(jù)在監(jiān)測數(shù)據(jù)類型0位置廣播的優(yōu)先級(jí)高于在監(jiān)測數(shù)據(jù)類型1位置的優(yōu)先級(jí)。
本步驟中,在監(jiān)測數(shù)據(jù)類型0、監(jiān)測數(shù)據(jù)的值0、監(jiān)測數(shù)據(jù)類型1和監(jiān)測數(shù)據(jù)的值1之間輪番將藍(lán)牙手環(huán)的當(dāng)前監(jiān)測數(shù)據(jù)填充到藍(lán)牙BLE廣播包中,經(jīng)過加密和校驗(yàn)處理后,將當(dāng)前藍(lán)牙BLE廣播包廣播出去,并由藍(lán)牙BLE接收設(shè)備接收。本實(shí)施例中,上述加密采用的是AES加密方式,也就是對(duì)圖2中描述的部分信息進(jìn)行加密,加密的密碼在藍(lán)牙手環(huán)啟用時(shí)設(shè)置,此密碼通過專用的設(shè)置工具設(shè)置。
值得一提的是,藍(lán)牙BLE廣播包包含藍(lán)牙手環(huán)信息、監(jiān)測數(shù)據(jù)信息和藍(lán)牙手環(huán)獲得監(jiān)測數(shù)據(jù)的時(shí)間,這樣可以解決監(jiān)測數(shù)據(jù)來源、多個(gè)信息內(nèi)容以及每個(gè)監(jiān)測數(shù)據(jù)的有效期問題,使得藍(lán)牙BLE廣播功能得到更廣泛的應(yīng)用。
步驟S04藍(lán)牙BLE接收設(shè)備對(duì)當(dāng)前藍(lán)牙BLE廣播包進(jìn)行解壓縮:本步驟中,藍(lán)牙BLE接收設(shè)備對(duì)當(dāng)前藍(lán)牙BLE廣播包進(jìn)行解壓縮。
因?yàn)樾穆手?、睡眠狀態(tài)、電池當(dāng)下容量和未佩戴藍(lán)牙手環(huán)每次都會(huì)在監(jiān)測數(shù)據(jù)的固定位置,所以每次都需要廣播出去,其不需要輪番填充、輪番廣播。通過此種在藍(lán)牙廣播信息段固定位置填充固定類型的監(jiān)測數(shù)據(jù)和動(dòng)態(tài)分時(shí)輪番填充藍(lán)牙BLE監(jiān)測數(shù)據(jù)的方法,單次多量,每次傳遞更多的監(jiān)測數(shù)據(jù)信息;同時(shí)單個(gè)藍(lán)牙BLE廣播包重復(fù)發(fā)送,這樣組合成多次多量的廣播模式,實(shí)現(xiàn)藍(lán)牙手環(huán)監(jiān)測數(shù)據(jù)的高效傳送和接收,提高系統(tǒng)的時(shí)效性和穩(wěn)定性,如圖6所示的對(duì)應(yīng)表。本發(fā)明能高效傳遞藍(lán)牙手環(huán)當(dāng)前狀態(tài)數(shù)據(jù),在有效獲取藍(lán)牙手環(huán)位置信息和當(dāng)前數(shù)據(jù)的同時(shí),提高系統(tǒng)接入的容量,降低與藍(lán)牙BLE接收設(shè)備間的數(shù)據(jù)流量,避免重復(fù)操作。
本實(shí)施例中,藍(lán)牙手環(huán)的唯一ID由藍(lán)牙手環(huán)出廠編號(hào)低2字節(jié)、藍(lán)牙手環(huán)出廠編號(hào)高2字節(jié)和藍(lán)牙手環(huán)的MAC地址組合得到。這樣就可以區(qū)分不同的藍(lán)牙手環(huán)(藍(lán)牙BLE廣播設(shè)備)。
值得一提的是,本實(shí)施例中,藍(lán)牙手環(huán)需要對(duì)監(jiān)測數(shù)據(jù)做時(shí)間統(tǒng)計(jì)處理,超過一定時(shí)間的監(jiān)測數(shù)據(jù)做無效處理(一般情況下是1~100分鐘,即60~6000秒),如心率監(jiān)測的有效時(shí)間是5分鐘,在監(jiān)測到心率值后的5分鐘內(nèi),都是有效;超過5分鐘,則藍(lán)牙手環(huán)將該監(jiān)測數(shù)據(jù)丟棄;其他監(jiān)測數(shù)據(jù)也按照同樣的方法進(jìn)行處理,只是具體的數(shù)值可能有差別。這樣,每個(gè)監(jiān)測數(shù)據(jù)都帶有類UNIX時(shí)間戳,很容易被藍(lán)牙BLE接收設(shè)備識(shí)別出來,從而剔除掉那些重復(fù)發(fā)送的藍(lán)牙BLE廣播包,又不會(huì)因?yàn)樗{(lán)牙BLE無連接,丟掉部分監(jiān)測數(shù)據(jù)。類UNIX時(shí)間戳的另一個(gè)用處是,當(dāng)前藍(lán)牙手環(huán)的時(shí)間與各監(jiān)測數(shù)據(jù)獲得時(shí)刻的類UNIX時(shí)間戳比較,藍(lán)牙BLE接收設(shè)備很容易判斷出該監(jiān)測數(shù)據(jù)是否已經(jīng)過時(shí)(無效),也容易得到藍(lán)牙手環(huán)獲得該監(jiān)測數(shù)據(jù)已經(jīng)過去了多少秒。
對(duì)于本實(shí)施例而言,上述步驟S04還可進(jìn)一步細(xì)化,其細(xì)化后的流程圖如圖2所示。圖2中,上述步驟S04進(jìn)一步包括:
步驟S41藍(lán)牙BLE接收設(shè)備將當(dāng)前藍(lán)牙BLE廣播包的類UNIX時(shí)間戳高2字節(jié)與對(duì)應(yīng)監(jiān)測數(shù)據(jù)的類UNIX時(shí)間戳低2字節(jié)組成一個(gè)4字節(jié)的組合數(shù):本步驟中,藍(lán)牙BLE接收設(shè)備將當(dāng)前藍(lán)牙BLE廣播包的類UNIX時(shí)間戳高2字節(jié)與對(duì)應(yīng)監(jiān)測數(shù)據(jù)的類UNIX時(shí)間戳低2字節(jié)組成一個(gè)4字節(jié)的組合數(shù)。
步驟S42將4字節(jié)的組合數(shù)與當(dāng)前藍(lán)牙BLE廣播包的類UNIX時(shí)間戳比較,并判斷差值是否小于32768:本步驟中,將4字節(jié)的組合數(shù)與當(dāng)前藍(lán)牙BLE廣播包的類UNIX時(shí)間戳比較,并判斷其差值是否小于32768,如果判斷的結(jié)果為是,則執(zhí)行步驟S43;否則,執(zhí)行步驟S44。
步驟S43認(rèn)為4字節(jié)的組合數(shù)是采集時(shí)刻:如果上述步驟S42的判斷結(jié)果為是,則執(zhí)行本步驟。本步驟中,認(rèn)為上述4字節(jié)的組合數(shù)是采集時(shí)刻。
步驟S44將4字節(jié)的組合數(shù)減去0X10000,得到采集時(shí)刻的類UNIX時(shí)間戳:如果上述步驟S42的判斷結(jié)果為否,則執(zhí)行本步驟。本步驟中,將上述4字節(jié)的組合數(shù)減去0X10000,得到采集時(shí)刻的類UNIX時(shí)間戳。
藍(lán)牙手環(huán)對(duì)系統(tǒng)內(nèi)的各個(gè)監(jiān)測數(shù)據(jù),根據(jù)上述的規(guī)則BLE廣播出來。采用監(jiān)測數(shù)據(jù)在其有效期內(nèi),多次重復(fù)廣播的方式,降低藍(lán)牙手環(huán)的監(jiān)測數(shù)據(jù)的丟失率。藍(lán)牙手環(huán)通過設(shè)置每個(gè)監(jiān)測數(shù)據(jù)發(fā)送次數(shù)的方式(另一種實(shí)現(xiàn)方法:藍(lán)牙BLE接收設(shè)備設(shè)置各種監(jiān)測數(shù)據(jù)的有效期,比如1分鐘,5分鐘),在一定的時(shí)間內(nèi)保證某個(gè)監(jiān)測數(shù)據(jù)被發(fā)送足夠多次,就降低了該監(jiān)測數(shù)據(jù)被丟失的概率(參照?qǐng)D6分析),從而提高了該監(jiān)測數(shù)據(jù)被上送到藍(lán)牙BLE接收設(shè)備的成功率,系統(tǒng)的可靠性得到保證。
本實(shí)施例還涉及一種實(shí)現(xiàn)上述藍(lán)牙手環(huán)監(jiān)測數(shù)據(jù)的廣播方法的裝置,其結(jié)構(gòu)示意圖如圖5所示,圖5中,該裝置包括分類單元11、壓縮單元12、加密校驗(yàn)廣播單元13和解壓縮單元14;其中,分類單元11用于對(duì)藍(lán)牙手環(huán)不同的監(jiān)測數(shù)據(jù)進(jìn)行分類,得到監(jiān)測數(shù)據(jù)的數(shù)據(jù)類型ID為0X0000~0X7FFF和0X8000~0XFFFF;監(jiān)測數(shù)據(jù)的格式包括依次排列的長度、藍(lán)牙廣播類型、廠家BLE廣播包類型、藍(lán)牙手環(huán)出廠編號(hào)低2字節(jié)、藍(lán)牙手環(huán)出廠編號(hào)高2字節(jié)、心率值、心率值采集時(shí)刻的類UNIX時(shí)間戳低2字節(jié)、監(jiān)測數(shù)據(jù)類型0、監(jiān)測數(shù)據(jù)的值0低2字節(jié)、監(jiān)測數(shù)據(jù)的值0高2字節(jié)、監(jiān)測數(shù)據(jù)類型1、監(jiān)測數(shù)據(jù)的值1低2字節(jié)、監(jiān)測數(shù)據(jù)的值1高2字節(jié)、類UNIX時(shí)間戳低1字節(jié)、類UNIX時(shí)間戳高3字節(jié)、睡眠狀態(tài)、電池當(dāng)下容量、未佩戴藍(lán)牙手環(huán)、發(fā)射強(qiáng)度值和校驗(yàn)值;壓縮單元12用于當(dāng)當(dāng)前監(jiān)測數(shù)據(jù)的數(shù)據(jù)類型ID在0X0000~0X7FFF之間時(shí),對(duì)當(dāng)前監(jiān)測數(shù)據(jù)進(jìn)行壓縮,得到藍(lán)牙BLE廣播包;藍(lán)牙BLE廣播包的低2字節(jié)表示實(shí)際值,高2字節(jié)表示獲取所述實(shí)際值時(shí)刻的類UNIX時(shí)間戳低2字節(jié);或者當(dāng)當(dāng)前監(jiān)測數(shù)據(jù)的數(shù)據(jù)類型ID在0X8000~0XFFFF之間時(shí),當(dāng)前監(jiān)測數(shù)據(jù)為所述藍(lán)牙BLE廣播包;當(dāng)前監(jiān)測數(shù)據(jù)的4字節(jié)為無壓縮的實(shí)際值。
加密校驗(yàn)廣播單元13用于在監(jiān)測數(shù)據(jù)類型0、監(jiān)測數(shù)據(jù)的值0、監(jiān)測數(shù)據(jù)類型1和監(jiān)測數(shù)據(jù)的值1之間輪番將藍(lán)牙手環(huán)的當(dāng)前監(jiān)測數(shù)據(jù)填充到藍(lán)牙BLE廣播包中,經(jīng)過加密和校驗(yàn)處理后廣播出去,并由藍(lán)牙BLE接收設(shè)備接收。解壓縮單元14用于使藍(lán)牙BLE接收設(shè)備對(duì)當(dāng)前藍(lán)牙BLE廣播包進(jìn)行解壓縮。本發(fā)明能高效傳遞藍(lán)牙手環(huán)當(dāng)前狀態(tài)數(shù)據(jù),在有效獲取藍(lán)牙手環(huán)位置信息和當(dāng)前數(shù)據(jù)的同時(shí),提高系統(tǒng)接入的容量,降低與藍(lán)牙BLE接收設(shè)備間的數(shù)據(jù)流量,避免重復(fù)操作。
本實(shí)施例中,解壓縮單元14進(jìn)一步包括字節(jié)組合模塊141和比較模塊142;其中,字節(jié)組合模塊141用于使藍(lán)牙BLE接收設(shè)備將當(dāng)前藍(lán)牙BLE廣播包的類UNIX時(shí)間戳高2字節(jié)與對(duì)應(yīng)監(jiān)測數(shù)據(jù)的類UNIX時(shí)間戳低2字節(jié)組成一個(gè)4字節(jié)的組合數(shù);比較模塊142用于將4字節(jié)的組合數(shù)與當(dāng)前藍(lán)牙BLE廣播包的類UNIX時(shí)間戳比較,并判斷差值是否小于32768,如是,則認(rèn)為4字節(jié)的組合數(shù)是采集時(shí)刻,否則,將4字節(jié)的組合數(shù)減去0X10000,得到采集時(shí)刻的類UNIX時(shí)間戳。
值得一提的是,上述長度占用1個(gè)字節(jié),藍(lán)牙廣播類型占用1個(gè)字節(jié),廠家BLE廣播包類型占用1個(gè)字節(jié),心率值占用1個(gè)字節(jié),監(jiān)測數(shù)據(jù)類型0占用2個(gè)字節(jié),監(jiān)測數(shù)據(jù)類型1占用2個(gè)字節(jié),睡眠狀態(tài)占用1個(gè)字節(jié),電池當(dāng)下容量占用1個(gè)字節(jié),未佩戴藍(lán)牙手環(huán)占用1個(gè)字節(jié),發(fā)射強(qiáng)度值占用1個(gè)字節(jié),校驗(yàn)值占用1個(gè)字節(jié)。
值得一提的是,本實(shí)施例中,上述長度為0X1E,藍(lán)牙廣播類型為0XFF,校驗(yàn)采用CRC8校驗(yàn);藍(lán)牙手環(huán)的唯一ID由藍(lán)牙手環(huán)出廠編號(hào)低2字節(jié)、藍(lán)牙手環(huán)出廠編號(hào)高2字節(jié)和藍(lán)牙手環(huán)的MAC地址組合得到,這樣就可以區(qū)分不同的藍(lán)牙手環(huán)。
值得一提的是,本實(shí)施例中,采用將同一種類型數(shù)據(jù)分成兩段描述的方式,這樣就方便加密字段的分類處理,可以進(jìn)行部分加密或分段加密等,如上述:心率值、類UNIX時(shí)間戳低1字節(jié)、類UNIX時(shí)間戳高3字節(jié),以及藍(lán)牙手環(huán)出廠編號(hào)低2字節(jié)、藍(lán)牙手環(huán)出廠編號(hào)高2字節(jié)、監(jiān)測數(shù)據(jù)的值0低2字節(jié)、監(jiān)測數(shù)據(jù)的值1低2字節(jié)、睡眠狀態(tài)等,可參見圖3。
在本發(fā)明的裝置中,心率值、睡眠狀態(tài)、電池當(dāng)下容量和未佩戴藍(lán)牙手環(huán)的狀態(tài)在固定位置,每次都廣播。通過這樣的方式來提高系統(tǒng)的效率。
對(duì)監(jiān)測數(shù)據(jù)里做了優(yōu)先級(jí)處理,監(jiān)測數(shù)據(jù)在監(jiān)測數(shù)據(jù)類型0位置廣播的優(yōu)先級(jí)高于在監(jiān)測數(shù)據(jù)類型1位置的優(yōu)先級(jí)。
總之,本發(fā)明解決藍(lán)牙手環(huán)與藍(lán)牙收發(fā)設(shè)備間的通信效率低下、容量低的問題:提供藍(lán)牙手環(huán)不與藍(lán)牙主設(shè)備間建立連接,通過BLE廣播的方式,實(shí)現(xiàn)高效傳遞藍(lán)牙手環(huán)當(dāng)前狀態(tài)數(shù)據(jù)的方法,在有效獲取藍(lán)牙手環(huán)的位置信息和當(dāng)前數(shù)據(jù)的同時(shí),提高系統(tǒng)接入的容量。本發(fā)明采用的多次多量發(fā)送藍(lán)牙BLE廣播包的方法,并所有監(jiān)測量都附帶時(shí)間戳,使得藍(lán)牙BLE接收設(shè)備很容易剔除重復(fù)的藍(lán)牙BLE廣播信息,降低其與藍(lán)牙BLE接收設(shè)備間的數(shù)據(jù)流量,避免重復(fù)操作。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。