前言:想要寫出一篇引人入勝的文章?我們特意為您整理了藍牙標(biāo)簽信息管理系統(tǒng)的設(shè)計與實現(xiàn)范文,希望能給你帶來靈感和參考,敬請閱讀。
【摘要】傳統(tǒng)RFID電子標(biāo)簽有著通信距離短、需要匹配讀寫器等缺點,在物聯(lián)網(wǎng)的應(yīng)用中受到一定限制。本文設(shè)計并實現(xiàn)了基于BLE技術(shù)的藍牙標(biāo)簽管理系統(tǒng),該系統(tǒng)設(shè)計了新型藍牙標(biāo)簽,在Android平臺下使用Java語言開發(fā)APP,通過Android智能移動終端APP與藍牙標(biāo)簽通信實現(xiàn)數(shù)據(jù)的讀寫。采用Java2EE技術(shù)開發(fā)Web后臺,MySQL實現(xiàn)數(shù)據(jù)庫管理,融合藍牙技術(shù)和移動通信技術(shù)將數(shù)據(jù)與信息更新至Web后臺。該系統(tǒng)驗證了藍牙標(biāo)簽管理系統(tǒng)的可行性,并為電子標(biāo)簽系統(tǒng)提供了新的解決方案。
【關(guān)鍵詞】BLE技術(shù)藍牙標(biāo)簽Android平臺開發(fā)Web后臺管理系統(tǒng)
引言
本項目基于藍牙4.2技術(shù)[1]標(biāo)準(zhǔn)設(shè)計了一款新型藍牙標(biāo)簽,并通過智能移動終端APP取代了傳統(tǒng)的固定或手持RFID讀寫器,通過后臺實時管理和監(jiān)控標(biāo)簽信息。該系統(tǒng)集成了智能移動終端APP、數(shù)據(jù)庫、移動通信等技術(shù),為電子標(biāo)簽系統(tǒng)提供了新的解決方案。它由藍牙4.2標(biāo)簽、智能移動終端APP和基于Web的后臺管理系統(tǒng)三大部分構(gòu)成。同傳統(tǒng)RFID標(biāo)簽[2]相比,該系統(tǒng)具有讀寫距離更遠、獲取數(shù)據(jù)速度更快、功耗更低、安全更高、功能擴展能力更強的特點,可實現(xiàn)大范圍物品和人員的精確管理。藍牙標(biāo)簽信息管理系統(tǒng)應(yīng)用前景廣泛、商業(yè)價值高,可以用作于RFID標(biāo)簽技術(shù)的重要補充。
一、系統(tǒng)簡介
藍牙標(biāo)簽管理系統(tǒng)由藍牙標(biāo)簽硬件、智能移動終端APP、Web后臺管理系統(tǒng)3個部分組成。智能移動終端APP可以通過藍牙技術(shù)讀取和寫入信息,Web后臺管理系統(tǒng)[3]和智能移動終端APP可以實現(xiàn)實時信息交互。藍牙標(biāo)簽信息管理系統(tǒng)系統(tǒng)具有如下特點:(1)藍牙標(biāo)簽比傳統(tǒng)RFID標(biāo)簽讀寫距離更遠,低功耗[4],安全性高,功能擴展能力強。(2)智能移動終端APP取代了傳統(tǒng)的固定或手持RFID讀寫器,更靈活。(3)Web后臺管理系統(tǒng),可實現(xiàn)各類信息精確和可視化的管理,長期保存方便進行大數(shù)據(jù)分析。(4)作為RFID標(biāo)簽技術(shù)的重要補充,系統(tǒng)部署簡單,大大節(jié)省成本,系統(tǒng)兼容性好,商業(yè)價值高。(5)藍牙標(biāo)簽除了進行物品管理,還可以進一步實現(xiàn)室內(nèi)定位、身份識別[5]等功能。
二、系統(tǒng)設(shè)計
2.1藍牙標(biāo)簽設(shè)計
藍牙標(biāo)簽核心部分為NRF52832藍牙芯片。電源部分中電容主要是為了濾波,使電源更加穩(wěn)定,其中使用的電池為CR2032紐扣電池,UART部分為串口預(yù)留部分,主要為后續(xù)擴展應(yīng)用提供接口。下行接口為Jtag口。按鈕中,按鈕1為功能選擇按鍵,按鈕2為復(fù)位鍵。LED部分中,LED0為進入模式選擇指示燈,LED1為藍牙標(biāo)簽?zāi)J街甘緹?,LED2為藍牙信標(biāo)模式指示燈。
2.2智能移動終端APP設(shè)計
安卓平臺(4.4版本及以上)通過GATT協(xié)議庫支持BLE通信協(xié)議軟件程序的開發(fā),必須聲明藍牙權(quán)BLUETOOTH,是因為這是智能移動終端APP中使用藍牙功能的前提,諸如請求連接、接受連接和傳輸數(shù)據(jù)等藍牙通信皆需要用到此權(quán)限。同時,為了能夠使智能移動終端APP啟動設(shè)備發(fā)現(xiàn)或操縱藍牙設(shè)置,必須聲明BLUETOOTH_ADMIN權(quán)限??梢允褂肁ndroidStudio自帶的googleAPI,來幫助完成以上所說的聲明藍牙權(quán)限。
2.3Web后臺管理系統(tǒng)設(shè)計
藍牙標(biāo)簽后臺子系統(tǒng)用于管理“藍牙標(biāo)簽”軟件使用過程中涉及到的所有信息。子系統(tǒng)是使用MySQL數(shù)據(jù)庫管理和Java語言開發(fā)的機遇B/S結(jié)構(gòu)的在線系統(tǒng)。采用MVC軟件設(shè)計典范,一個部件里聚集這些業(yè)務(wù)邏輯,不需要重新編寫業(yè)務(wù)邏輯。藍牙標(biāo)簽后臺子系統(tǒng)中的組織結(jié)構(gòu)設(shè)計主要有數(shù)據(jù)層,接口層,數(shù)據(jù)庫操作層以及服務(wù)層。智能移動終端APP請求Web后臺做出相應(yīng)的JSON響應(yīng),以完成與智能移動終端APP與Web后臺之間的通信。服務(wù)層封裝了數(shù)據(jù)層對象,然后設(shè)計對數(shù)據(jù)庫的操作和調(diào)用封裝對象實現(xiàn)業(yè)務(wù)邏輯。為考慮到后期增添和修改功能,設(shè)計每個模塊時應(yīng)獨立且大小適中,因此設(shè)計初期模塊按照來源,藍牙標(biāo)簽后臺子系統(tǒng)管理的信息可以基于應(yīng)用場景對標(biāo)簽信息進行設(shè)置和定義。
三、系統(tǒng)實現(xiàn)
3.1開發(fā)環(huán)境
智能移動終端APP在安卓系統(tǒng)下開發(fā),通過谷歌出品的AndroidStudio使用Java編程語言開發(fā)。Web后臺管理系統(tǒng)分為成兩子系統(tǒng)開發(fā),其中,數(shù)據(jù)庫子系統(tǒng)由MySQL數(shù)據(jù)庫開發(fā),MySQL數(shù)據(jù)庫在NavicatforMySQL下開發(fā)和實現(xiàn);后臺管理子系統(tǒng)Web界面則是使用Java編程語言在Eclipse平臺開發(fā),其中JDK版本是JavaEE8,Web應(yīng)用服務(wù)器采用Tomcat。
3.2藍牙標(biāo)簽開發(fā)
根據(jù)藍牙標(biāo)簽原理圖制作成PCB板,經(jīng)過加工、焊接等工作完成藍牙標(biāo)簽硬件制作,由于藍牙標(biāo)簽要進行通信,需通過軟件對藍牙標(biāo)簽進行通信初始化設(shè)置。首先,需要初始化藍牙設(shè)置:初始化定時器,設(shè)置為1分頻,初始化協(xié)議棧handle模塊,設(shè)置連接主從機的連接數(shù)量,使能協(xié)議棧,注冊handle模塊到藍牙處理事件中。同時對按鍵,LED燈等外設(shè)初始化。其次配置標(biāo)簽?zāi)J剑和ㄟ^構(gòu)造藍牙標(biāo)簽結(jié)構(gòu)體,把minor、major和company_identifier的值寫進結(jié)構(gòu)體。設(shè)置廣播數(shù)據(jù):把標(biāo)簽信息傳遞給廣播數(shù)據(jù)結(jié)構(gòu)體,廣播類型設(shè)置為不可連接、廣播間隔為0、廣播超時為0。最后,把參數(shù)和數(shù)據(jù)注冊到協(xié)議棧中,開始廣播。最后配置信標(biāo)模式:構(gòu)造廣播數(shù)據(jù)結(jié)構(gòu)體,把信標(biāo)為全名和低功耗可發(fā)現(xiàn)模式寫入結(jié)構(gòu)體,廣播類型為:廣播間隔為187.5ms、廣播超時0、快速連接,同時把參數(shù)和數(shù)據(jù)注冊到協(xié)議棧中,開始廣播。藍牙標(biāo)簽實物成品。
3.3智能移動終端APP開發(fā)
首先設(shè)置BLE:雖然現(xiàn)在的手機基本都支持BLE,但是考慮到程序的健碩性,這個檢查是必需的。其次進行發(fā)現(xiàn)BLE設(shè)置:使用startLeScan()方法發(fā)現(xiàn)BLE設(shè)備,使用該方法的前提是實現(xiàn)它的回調(diào)函數(shù)設(shè)置BluetoothAdapter.LeScanCallback參數(shù),即返回掃描結(jié)果Device、ScanRecord——Device里面包含設(shè)備的mac地址和設(shè)備的名稱,scanRecord的內(nèi)容是BLE設(shè)備發(fā)出的廣播包數(shù)據(jù)。最后,實現(xiàn)智能移動終端APP與Web后臺通信:選擇JSON作為數(shù)據(jù)交互的方法。Android訪問遠程服務(wù)器前端,獲取并解析網(wǎng)絡(luò)上的JSON,再將獲取到的解析JSON格式的輸入流轉(zhuǎn)換成List,顯示到相對應(yīng)的Activity頁面上。
3.4Web后臺的實現(xiàn)
首先,創(chuàng)建數(shù)據(jù)庫,并插入了一個用戶。其次,創(chuàng)建VO類:用于對應(yīng)數(shù)據(jù)庫以使用DAO類中的代碼。再者,定義DAO的接口類:查詢是否存在這個用戶的方法是findLogin(Useruser)。緊接著,定義DAO的實現(xiàn)類——相當(dāng)于Mode(模型層):對用戶名和密碼進行驗證,如果驗證成功,則通過VO類將用戶數(shù)據(jù)取出并返回。然后,新建一個Servlet類——相當(dāng)于Controller(控制層)。最后,始界面Login.jsp——相當(dāng)于View(顯示層)。對于Web服務(wù)器與Tomcat通信問題:因為Tomcat服務(wù)器是一個免費的開放源代碼的Web應(yīng)用輕量級服務(wù)器,所以需要建立MySQL和java的連接。主要方法是下載鏈接用的jar包,jar包為MySQL官方提供的mysql-connector-java-5.1.39-bin.jar,然后在實際項目中引用該jar包。
四、結(jié)論
根據(jù)上述的設(shè)計方案,順利完成系統(tǒng)開發(fā),驗證了該系統(tǒng)的可行性。藍牙標(biāo)簽可用作RFID標(biāo)簽的重要補充,應(yīng)用于各種場合。
參考文獻
[1]丁磊等.基于藍牙4.0的低功耗電子貨架標(biāo)簽設(shè)計[J].電子技術(shù)應(yīng)用,2014,40(05):28-30.
[2]黃玉蘭.基于物聯(lián)網(wǎng)的RFID電子標(biāo)簽研究進展[J].電訊技術(shù),2013,53(04):522-529.
[3]高嘉澤等.面向移動應(yīng)用的后端服務(wù)平臺[J].計算機系統(tǒng)應(yīng)用,2014,23(02):22-27.
作者:劉立豐 鐘慧琳 夏靖波 張曉燕 杜小甫 單位:廈門大學(xué)嘉庚學(xué)院
本站为第三方开放式学习交流平台,所有内容均为用户上传,仅供参考,不代表本站立场。若内容不实请联系在线客服删除,服务时间:8:00~21:00。