一種基于低功耗藍牙技術的數據交互方法以及采用該方法的信標裝置和信標數據交互裝置的制造方法
【技術領域】
[0001]本發(fā)明涉及藍牙無線通信技術領域,尤其涉及一種基于低功耗藍牙技術(BLE)的信標裝置和數據交互方法。
【背景技術】
[0002]隨著短距離無線通信技術的發(fā)展,Beacon(信標)應用也越來越多的出現在人們面前。Beacon裝置的主要工作方式就是通過無線向周圍廣播發(fā)送設備自己的ID以及特定的信息,因此可廣泛應用在商業(yè)廣告、室內定位等場合。而隨著藍牙4.0規(guī)范的發(fā)布,其中推出的低功耗藍牙(簡稱BLE)技術開始在以iPhone為代表的智能手機等移動終端上普及,越來越多的外設也開始支持BLE技術。BLE技術最大的特點就是低功耗,并且相對傳統藍牙、Wifi等技術協議更簡單、成本更低,此外其本身具有的廣播工作模式則特別適合Beacon的應用。
[0003]因此,在2013年,美國蘋果公司率先推出了iBeacon的Beacon方案,采用的就是BLE技術,而2015年,谷歌公司也同樣推出了名為Eddy stone的Beacon方案,同樣基于BLE技術。目前,基于BLE技術的Beacon裝置和應用已開始進入大幅成長的階段。
[0004]對于Beacon裝置(以下均指基于BLE技術的Beacon裝置),除了用于發(fā)送信息的廣播工作模式,還需要支持數據配置的功能,以方便廠商對廣播發(fā)送的信息進行配置和更新。對于Beacon裝置進行數據配置目前主要有兩種方法:
[0005]第一種方式:Beacon裝置只有BLE通信模塊,主設備通過無線方式,先建立BLE連接,在連接模式下,進行數據交互。
[0006]第二種方式:需要Beacon裝置有UART串口或類似的標準通信接口,其他主設備通過該接口與Beacon裝置進行數據交互。
[0007]在BLE技術規(guī)范當中,設備的鏈路層(Link Layer)共支持五種狀態(tài)機,S卩,Standby狀態(tài)、Scanning狀態(tài)、Initiating狀態(tài)、Adverti sing狀態(tài)和Connect1n狀態(tài),可分別根據實際應用處于不同的工作狀態(tài)。對于采用BLE技術的設備而言,工作模式的多寡即涉及到軟硬件設計的復雜度,因而相應影響到BLE芯片的功耗和成本。
[0008]此外,BLE技術規(guī)范當中,連接狀態(tài)下的數據通信還定義了相應的協議棧,作為BLE設備之間數據交互的統一標準,也是相當一部分軟硬件資源。因此,對于Beacon裝置而言,如果采用BLE無線連接方式進行數據交換,需要加入標準的協議棧支持,耗費資源也較大。而對于前述第2種數據交互方式,則無需加入協議棧的支持,顯然可以節(jié)省此部分的軟硬件資源,但代價是增加其他數據通信接口,同樣也要付出相應的軟硬件成本。
[0009]總而言之,目前基于低功耗藍牙(BLE)技術的Beacon裝置均采用完整的BLE方案,支持BLE規(guī)范當中的廣播、掃描、連接建立等模式,以及相應的軟件協議棧。其中Beacon裝置在實現最常用的發(fā)送廣告數據、定位信息等功能時采用的是BLE的廣播模式;而對Beacon裝置內的數據進行配置和更新,則往往通過與其他藍牙4.0終端建立連接后進行,即需要用到BLE的連接模式以及相關連接和數據通信處理的協議棧。對于采用BLE技術的設備而言,工作模式的多寡即涉及到軟硬件設計的復雜度,因而相應影響到BLE芯片的功耗和成本。
【發(fā)明內容】
[0010]本發(fā)明要解決的技術問題是提供一種基于低功耗藍牙BLE技術的Beacon裝置和數據交互方法,在滿足Beacon應用所需的廣播功能和數據配置功能的同時,大幅降低Beacon裝置的實現復雜度和成本。
[0011]為解決上述技術問題,本發(fā)明提供一種基于低功耗藍牙BLE技術的Beacon裝置,包括MCU模塊、存儲模塊、BLE參數配置模塊、BLE廣播模塊、可選的安全管理模塊、可選的固件升級模塊。
[0012]所述M⑶模塊用于所述Beacon裝置的主要功能控制以及BLE相關數據分析處理等。
[0013]所述存儲模塊用于存儲程序代碼、應用數據和其他配置信息。
[0014]所述BLE參數配置模塊用于對BLE廣播模塊的控制以及相關參數進行配置,相當于對BLE標準規(guī)范中的藍牙Host部分的協議棧進行大幅精簡:僅實現了GAP模塊并做簡化,并刪除了規(guī)范中定義的L2CAP、SM、GATT、ATT各項模塊。
[0015]所訴BLE廣播模塊符合BLE標準規(guī)范,實現了 BLE標準規(guī)范中的藍牙Contro I Ier部分。
[0016]所述BLE廣播模塊當中的Link Layer模塊只實現了Standby和Advertising兩種狀態(tài)機,刪除了 Scanning、Initiating 和Connect 1n 三種狀態(tài)機。
[0017]所述BLE廣播模塊至少支持BLE標準規(guī)范中的ADV_IND、SCAN_REQ以及SCAN_RSP三種數據包的處理,其中ADV_IND和SCAN_RSP分別為所述Beacon裝置發(fā)送的廣播包和掃描響應包,SCAN_REQ為接收到的掃描請求數據包。
[0018]在一個實施例中,所述可選的安全管理模塊用于數據交互中的數據進行加密和解密處理。
[0019]在一個實施例中,所述可選的固件升級模塊用于對所述裝置的固件進行升級。
[0020]為解決上述技術問題,本發(fā)明還提供一種基于低功耗藍牙BLE技術的Beacon數據交互裝置與所述Beacon裝置進行數據交互,包括MCU模塊、存儲模塊、人機交互模塊、BLE掃描模塊、可選的安全管理模塊、可選的固件升級模塊。
[0021]所述M⑶模塊用于所述Beacon數據交互裝置的主要功能控制和數據處理等
[0022]所述存儲模塊用于存儲程序代碼、應用數據和其他配置信息;
[0023]所述人機交互模塊用于對所述裝置進行人機交互,包括信息和數據的輸入,數據交互時的人機操作界面控制等;
[0024]所訴BLE掃描模塊符合BLE標準規(guī)范,實現了 BLE標準規(guī)范中的藍牙Contro I Ier部分;
[0025]所述BLE掃描模塊當中的LinkLayer子模塊至少實現了BLE標準規(guī)范中定義的Scanning這一狀態(tài)機;
[0026]所述BLE掃描模塊至少支持BLE標準規(guī)范中的ADV_IND、SCAN_REQ以及SCAN_RSP三種數據包的處理,其中,SCAN_REQ為所述Beacon數據交互裝置發(fā)送的掃描請求包,ADV_IND和SCAN_RSP為接收到的廣播包和掃描響應包;
[0027]所述可選的安全管理模塊用于數據交互中的數據進行加密和解密處理;
[0028]所述可選的固件升級模塊用于對所述裝置的固件進行升級。
[0029]為解決上述技術問題,本發(fā)明還提供一種與所述Beacon裝置進行數據交互的方法,包括步驟:
[0030]所述Beacon裝置上電運行進入廣播模式,發(fā)送ADV_IND廣播包,并監(jiān)聽SCAN_REQ請求包。
[0031 ] 一Beacon數據交互裝置監(jiān)聽所述Beacon裝置的ADV_IND廣播包,確定所述Beacon裝置已開始運行。
[0032]所述Beacon數據交互裝置將需要發(fā)送給所述Beacon裝置的數據進行處理生成為48bit的隨機類型的設備地址。
[0033]所述Beacon數據交互裝置將上述設備地址生成標準的SCAN_REQ掃描請求包,發(fā)送給所述Be