喻彩麗,李俊龍
汕尾職業(yè)技術學院,廣東汕尾,516600
隨著社會生活節(jié)奏的不斷加快,人們的行為習慣也發(fā)生著不同形式的變化。對隨身物品的看護總是容易出現(xiàn)疏漏,例如錢包、手機、鑰匙等,而當發(fā)現(xiàn)丟失時這些小物件往往不容易被找到。為了應對這種情況的發(fā)生,市面上出現(xiàn)了種類繁多的防丟器,不僅可以單純地應用到物體的防丟方面,更可以應用到老人和兒童群體的防走失上。當需要防丟的目標數目增加時,傳統(tǒng)藍牙設備僅可進行一對一連接的通信方式,這便滿足不了用戶的需求。針對目前藍牙防丟器存在的這一局限性,設計一款高可靠低功耗廣連接能夠滿足用戶需求的防丟器。
藍牙無線通信技術是全球廣泛使用的短距離無線標準之一,將傳統(tǒng)藍牙、高速藍牙和低功耗藍牙技術合而為一的藍牙4.0,在具有無線通信上的固有優(yōu)勢的同時還增加了低功耗、高速率等特點。
藍牙4.0BLE技術較傳統(tǒng)藍牙技術有以下優(yōu)勢:在進行無線通信的過程中,由于電磁波很容易受到外界因素的干擾,在系統(tǒng)數據的傳輸中,具有不可消除的不可靠性。而藍牙4.0規(guī)范在射頻基帶協(xié)議鏈路管理協(xié)議中采用了可靠性措施[1],此外為了最大程度地減少無線電波頻段間的干擾,使用了自適應跳頻技術,以保證藍牙4.0的數據傳輸的可靠性。
傳統(tǒng)藍牙設備在喚醒之前一直處于待機狀態(tài),耗電量極大。藍牙4.0為了彌補這一缺陷,使用深度睡眠模式來代替?zhèn)鹘y(tǒng)藍牙的待機空閑狀態(tài)。經過強化后的數據傳輸功耗較傳統(tǒng)藍牙降低了百分之九十[1]。藍牙4.0的有效傳輸距離較傳統(tǒng)藍牙有了極大提高,通過加密算法對數據包加密和認證,提高了數據傳輸的安全性。
隨著無線通信技術的不斷發(fā)展,各種各樣的無線接入技術層出不窮,方便快捷的無線網絡接入為用戶提供了前所未有的體驗。Mesh組網技術以其自組織、自管理、魯棒性等獨特的性能[2],逐漸成為無線網絡接入的一種有效方式。目前Mesh組網已憑借其獨有的優(yōu)勢,開始從概念演化到日常生活、生產中。藍牙Mesh組網不屬于無線電技術的范疇,它是一種可用于構建包含大量藍牙設備或者節(jié)點的多對多網絡連接技術[3]。
藍牙Mesh網絡的框架主要劃分為兩部分:用戶管理層和設備管理層,通過藍牙通信鏈路的建立將它們有效地連接。由用戶手機組成的用戶管理層可以對處于Mesh網絡中的設備進行配置、添加和控制監(jiān)聽等操作,由各種應用場景設備構成的設備應用層可以用來滿足對特定場景的需求。在網絡中,信息從一個節(jié)點到另一個節(jié)點,Mesh組網的本質已經不再是一對一的廣播方式,而是可以進行多節(jié)點路徑和多跳方式的數據傳輸,屬于一種網狀網絡。應用Mesh組網后的網絡容量具有可擴展性,使整個藍牙通信網絡的負載節(jié)點數量有了極大的提高;其次,Mesh組網還有以下優(yōu)點。
1.2.1 高可靠性
對于傳統(tǒng)網絡拓撲結構來說,當某一鏈路或者某一結點發(fā)生故障時,往往會導致整個通信網絡的癱瘓。在Mesh組網中采用多路徑或者多跳的方式進行組網,當某一結點或鏈路發(fā)生故障時可以經由其他路徑進行信息的傳送,保證通信的正常進行,極大地提高了通信的可靠性。
1.2.2 便捷式組網
由于Mesh組網具有自管理、自組織的特點[4],當需要將新的設備加入Mesh網絡中時,僅僅需要啟動新設備的電源,Mesh網絡就會對設備進行廣播搜索,自主將新設備添加到網絡中。這一智能組網過程不僅簡化了入網方式,更為場景應用的開發(fā)設計提供了便利。
常用的RSSI定位算法模型如圖1所示。
圖1 RSSI算法模型
圖1在防丟器的應用中采用三邊定位,這是一種簡單的幾何模型。該模型已知坐標中三個點的坐標,并且得知三點分別與第四點之間的距離,通過幾何關系可以求出目標點的坐標。
整個系統(tǒng)可分為兩個部分:智能手機端和防丟器。硬件部分的設計是采用Nordic半導體公司生產的nRF52832藍牙芯片作為主控芯片,外部電路基于IK-52832DK開發(fā)板,通過APP將手機端與防丟器建立通信連接。硬件系統(tǒng)布局如圖2所示。
圖2 硬件結構
nRF52832芯片是32位的微處理器,具有512KB的片內flash和64KB的片內RAM,采用單電源供電,支持多協(xié)議,具有超低的功耗和靈活的外設接口,具備優(yōu)異的無線通信性能,適用于短距離的物聯(lián)網通信應用場景,如可穿戴設備、BLE鼠標、2.4G遙控器等。
由艾克姆科技設計的IK-52832DK開發(fā)板采用分離式設計[6],所有I/O口通過排針和排母的方式引出,極大方便了開發(fā)時對引腳的分配與應用。開發(fā)板還具有天線接口、USB轉換電路和OLED顯示屏等接口,在電路構成上主要包含電源、指示燈、按鍵電路和3V有源蜂鳴器。該開發(fā)板完全兼容nRF52DK開發(fā)板,并增加了紅外傳感接口等實用的功能
開發(fā)板的供電渠道有兩種方式:USB供電和外部DC電源供電。通過USB接口給開發(fā)板供電,用數據線將開發(fā)板與移動電源連接后,移動電源通過USB接口輸出5V電源。一般情況下,5V電源供電后最大的電流為500mA,在未安裝對電流有更大需求的其他功能模塊的前提下,通過USB模式供電足以[7]。此外,在開發(fā)板上提供了一個外部DC電源接口,可以通過外部電源來為安裝了大耗電量模塊后的開發(fā)板進行供電。在本設計中我們選擇用移動電源通過USB端口為開發(fā)板提供5V電源。
開發(fā)板上設置了四個用戶指示燈D1-D4,由GPIO端口來進行控制。當GPIO端口輸出為高電平時,LED兩端電平狀態(tài)相同,無電流經過,處于熄滅狀態(tài);當GPIO端口輸出低電平狀態(tài)時,LED兩端電平狀態(tài)不相同,有電流通過,處于點亮狀態(tài);同時指示燈電路可以通過跳線斷開方便操作。開發(fā)板上還有四個用戶按鍵S1-S4,由GPIO端口來控制。當按鍵按下時IO口輸入為低電平狀態(tài);當按鍵被釋放時,IO口輸入為高電平狀態(tài)[8]。設計中用四個指示燈的亮滅來表示藍牙防丟棄的不同狀態(tài),因此將按鍵作為防丟器的操作功能鍵。
本設計使用了JLINK下載器來進行程序的下載與仿真,該下載器將USB接口通過六芯排線與計算機相連,在連接的同時也在為開發(fā)板供電。當處于連接狀態(tài)時,此時JLINK下載器的指示燈常亮;在進行下載時可以看到指示燈開始閃爍,當閃爍停止后表明程序已經下載完畢。
軟件部分主要包括兩個部分:嵌入軟件和應用軟件,其中應用軟件使用的是開源的藍牙測試軟件,藍牙m(xù)esh組網是在藍牙4.0BLE協(xié)議的基礎上延伸的技術,即BLE的體系結構[9]。
物理層可進行高斯頻移鍵控,工作在2.4GHz ISM頻段,支持37個自適應調頻的數據信道,在鏈路層進行通信連接建立過程中的廣播掃描建立和維護連接,以正確的方式進行數據的組織、檢驗和加密。通過主機控制接口來完成主機與控制器之間的命令及數據傳輸,邏輯鏈路控制與適配協(xié)議層為上層數據提供封裝服務,從而使邏輯上許可端到端的通信。在安全管理層提供藍牙通信配對時的連接建立和密鑰的分發(fā),用戶可在屬性協(xié)議層進行讀寫操作,在通用屬性配置文件定義了一些標準方法,通用訪問配置文件負責對設備的接入方式與過程進行處理。
藍牙m(xù)esh組網的結構機制在BLE標準協(xié)議的基礎上進行擴展,主要由BLE加上組網協(xié)議和無需維護拓撲的路由組成。在系統(tǒng)網絡中,網絡ID唯一標識網絡,設備ID唯一標識設備[10]。網絡無中心節(jié)點,當其中一個設備損壞時并不影響其他設備。
因為Nordic將藍牙協(xié)議棧與應用程序分開,所以下載的時候應該分開下載,其BLE協(xié)議是以二進制文件的形式提供的。對于協(xié)議棧的下載使用nRFgo Studio下載,將HEX協(xié)議文件“s132_NRF52_3.0.0_softdevice.hex”下載到開發(fā)板中,對于程序下載使用MDK5,程序主要是通過ble_proximity_s132設備的距離測算程序來調用定時器timer_init()、按鍵及LED指示button_led_init()、藍牙BLE協(xié)議棧ble_stack_init()、匹配管理peer_manager_init()、通用訪問文件gap_params_init()、廣播及尋找advertising_init()、通信連接conn_params_int()等子程序來實現(xiàn)防丟功能。程序控制機制如圖3所示。
圖3 程序控制機制
經過實際的操作測試后,發(fā)現(xiàn)防丟器與智能手機之間在多建筑物的情況下,有效通信距離可達5米。應用了mesh組網協(xié)議后的防丟器有效彌補了傳統(tǒng)藍牙防丟器僅可以進行一對一的連接通信的缺陷,比傳統(tǒng)藍牙防丟器更加安全,可連接數量更多。其主要實現(xiàn)了以下功能:
(1)當防丟器超過預設距離后,手機端給出警報提示;
(2)通過防丟器可以主動查找手機,播放手機鈴聲;
(3)一部手機連接多個防丟器,防丟器間相互獨立。
防丟器在日常生活中的使用范圍比較廣泛,一款高可靠低功耗廣連接的防丟器,不僅可以為人們生活中的疏漏提供保障而且可以有效防范柔弱群體的走失,有很高的使用價值和意義。采用nRF52832藍牙芯片并以開發(fā)板為基礎進行開發(fā)設計,在開發(fā)過程中有很多參考資料和產品級的例程可供參考,設計的防丟器性能優(yōu)越能夠滿足用戶的基本需求,而且Mesh組網方式更加靈活,簡化了網絡拓撲結構,其自組網的特性使程序的設計與開發(fā)變得十分簡便,這不僅減小了開發(fā)周期和難度,而且能夠給予開發(fā)者更多的啟示和經驗。