公務(wù)員期刊網(wǎng) 論文中心 正文

藍(lán)牙標(biāo)簽信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了藍(lán)牙標(biāo)簽信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)范文,希望能給你帶來靈感和參考,敬請閱讀。

藍(lán)牙標(biāo)簽信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

【摘要】傳統(tǒng)RFID電子標(biāo)簽有著通信距離短、需要匹配讀寫器等缺點(diǎn),在物聯(lián)網(wǎng)的應(yīng)用中受到一定限制。本文設(shè)計(jì)并實(shí)現(xiàn)了基于BLE技術(shù)的藍(lán)牙標(biāo)簽管理系統(tǒng),該系統(tǒng)設(shè)計(jì)了新型藍(lán)牙標(biāo)簽,在Android平臺(tái)下使用Java語言開發(fā)APP,通過Android智能移動(dòng)終端APP與藍(lán)牙標(biāo)簽通信實(shí)現(xiàn)數(shù)據(jù)的讀寫。采用Java2EE技術(shù)開發(fā)Web后臺(tái),MySQL實(shí)現(xiàn)數(shù)據(jù)庫管理,融合藍(lán)牙技術(shù)和移動(dòng)通信技術(shù)將數(shù)據(jù)與信息更新至Web后臺(tái)。該系統(tǒng)驗(yàn)證了藍(lán)牙標(biāo)簽管理系統(tǒng)的可行性,并為電子標(biāo)簽系統(tǒng)提供了新的解決方案。

【關(guān)鍵詞】BLE技術(shù)藍(lán)牙標(biāo)簽Android平臺(tái)開發(fā)Web后臺(tái)管理系統(tǒng)

引言

本項(xiàng)目基于藍(lán)牙4.2技術(shù)[1]標(biāo)準(zhǔn)設(shè)計(jì)了一款新型藍(lán)牙標(biāo)簽,并通過智能移動(dòng)終端APP取代了傳統(tǒng)的固定或手持RFID讀寫器,通過后臺(tái)實(shí)時(shí)管理和監(jiān)控標(biāo)簽信息。該系統(tǒng)集成了智能移動(dòng)終端APP、數(shù)據(jù)庫、移動(dòng)通信等技術(shù),為電子標(biāo)簽系統(tǒng)提供了新的解決方案。它由藍(lán)牙4.2標(biāo)簽、智能移動(dòng)終端APP和基于Web的后臺(tái)管理系統(tǒng)三大部分構(gòu)成。同傳統(tǒng)RFID標(biāo)簽[2]相比,該系統(tǒng)具有讀寫距離更遠(yuǎn)、獲取數(shù)據(jù)速度更快、功耗更低、安全更高、功能擴(kuò)展能力更強(qiáng)的特點(diǎn),可實(shí)現(xiàn)大范圍物品和人員的精確管理。藍(lán)牙標(biāo)簽信息管理系統(tǒng)應(yīng)用前景廣泛、商業(yè)價(jià)值高,可以用作于RFID標(biāo)簽技術(shù)的重要補(bǔ)充。

一、系統(tǒng)簡介

藍(lán)牙標(biāo)簽管理系統(tǒng)由藍(lán)牙標(biāo)簽硬件、智能移動(dòng)終端APP、Web后臺(tái)管理系統(tǒng)3個(gè)部分組成。智能移動(dòng)終端APP可以通過藍(lán)牙技術(shù)讀取和寫入信息,Web后臺(tái)管理系統(tǒng)[3]和智能移動(dòng)終端APP可以實(shí)現(xiàn)實(shí)時(shí)信息交互。藍(lán)牙標(biāo)簽信息管理系統(tǒng)系統(tǒng)具有如下特點(diǎn):(1)藍(lán)牙標(biāo)簽比傳統(tǒng)RFID標(biāo)簽讀寫距離更遠(yuǎn),低功耗[4],安全性高,功能擴(kuò)展能力強(qiáng)。(2)智能移動(dòng)終端APP取代了傳統(tǒng)的固定或手持RFID讀寫器,更靈活。(3)Web后臺(tái)管理系統(tǒng),可實(shí)現(xiàn)各類信息精確和可視化的管理,長期保存方便進(jìn)行大數(shù)據(jù)分析。(4)作為RFID標(biāo)簽技術(shù)的重要補(bǔ)充,系統(tǒng)部署簡單,大大節(jié)省成本,系統(tǒng)兼容性好,商業(yè)價(jià)值高。(5)藍(lán)牙標(biāo)簽除了進(jìn)行物品管理,還可以進(jìn)一步實(shí)現(xiàn)室內(nèi)定位、身份識(shí)別[5]等功能。

二、系統(tǒng)設(shè)計(jì)

2.1藍(lán)牙標(biāo)簽設(shè)計(jì)

藍(lán)牙標(biāo)簽核心部分為NRF52832藍(lán)牙芯片。電源部分中電容主要是為了濾波,使電源更加穩(wěn)定,其中使用的電池為CR2032紐扣電池,UART部分為串口預(yù)留部分,主要為后續(xù)擴(kuò)展應(yīng)用提供接口。下行接口為Jtag口。按鈕中,按鈕1為功能選擇按鍵,按鈕2為復(fù)位鍵。LED部分中,LED0為進(jìn)入模式選擇指示燈,LED1為藍(lán)牙標(biāo)簽?zāi)J街甘緹?,LED2為藍(lán)牙信標(biāo)模式指示燈。

2.2智能移動(dòng)終端APP設(shè)計(jì)

安卓平臺(tái)(4.4版本及以上)通過GATT協(xié)議庫支持BLE通信協(xié)議軟件程序的開發(fā),必須聲明藍(lán)牙權(quán)BLUETOOTH,是因?yàn)檫@是智能移動(dòng)終端APP中使用藍(lán)牙功能的前提,諸如請求連接、接受連接和傳輸數(shù)據(jù)等藍(lán)牙通信皆需要用到此權(quán)限。同時(shí),為了能夠使智能移動(dòng)終端APP啟動(dòng)設(shè)備發(fā)現(xiàn)或操縱藍(lán)牙設(shè)置,必須聲明BLUETOOTH_ADMIN權(quán)限??梢允褂肁ndroidStudio自帶的googleAPI,來幫助完成以上所說的聲明藍(lán)牙權(quán)限。

2.3Web后臺(tái)管理系統(tǒng)設(shè)計(jì)

藍(lán)牙標(biāo)簽后臺(tái)子系統(tǒng)用于管理“藍(lán)牙標(biāo)簽”軟件使用過程中涉及到的所有信息。子系統(tǒng)是使用MySQL數(shù)據(jù)庫管理和Java語言開發(fā)的機(jī)遇B/S結(jié)構(gòu)的在線系統(tǒng)。采用MVC軟件設(shè)計(jì)典范,一個(gè)部件里聚集這些業(yè)務(wù)邏輯,不需要重新編寫業(yè)務(wù)邏輯。藍(lán)牙標(biāo)簽后臺(tái)子系統(tǒng)中的組織結(jié)構(gòu)設(shè)計(jì)主要有數(shù)據(jù)層,接口層,數(shù)據(jù)庫操作層以及服務(wù)層。智能移動(dòng)終端APP請求Web后臺(tái)做出相應(yīng)的JSON響應(yīng),以完成與智能移動(dòng)終端APP與Web后臺(tái)之間的通信。服務(wù)層封裝了數(shù)據(jù)層對象,然后設(shè)計(jì)對數(shù)據(jù)庫的操作和調(diào)用封裝對象實(shí)現(xiàn)業(yè)務(wù)邏輯。為考慮到后期增添和修改功能,設(shè)計(jì)每個(gè)模塊時(shí)應(yīng)獨(dú)立且大小適中,因此設(shè)計(jì)初期模塊按照來源,藍(lán)牙標(biāo)簽后臺(tái)子系統(tǒng)管理的信息可以基于應(yīng)用場景對標(biāo)簽信息進(jìn)行設(shè)置和定義。

三、系統(tǒng)實(shí)現(xiàn)

3.1開發(fā)環(huán)境

智能移動(dòng)終端APP在安卓系統(tǒng)下開發(fā),通過谷歌出品的AndroidStudio使用Java編程語言開發(fā)。Web后臺(tái)管理系統(tǒng)分為成兩子系統(tǒng)開發(fā),其中,數(shù)據(jù)庫子系統(tǒng)由MySQL數(shù)據(jù)庫開發(fā),MySQL數(shù)據(jù)庫在NavicatforMySQL下開發(fā)和實(shí)現(xiàn);后臺(tái)管理子系統(tǒng)Web界面則是使用Java編程語言在Eclipse平臺(tái)開發(fā),其中JDK版本是JavaEE8,Web應(yīng)用服務(wù)器采用Tomcat。

3.2藍(lán)牙標(biāo)簽開發(fā)

根據(jù)藍(lán)牙標(biāo)簽原理圖制作成PCB板,經(jīng)過加工、焊接等工作完成藍(lán)牙標(biāo)簽硬件制作,由于藍(lán)牙標(biāo)簽要進(jìn)行通信,需通過軟件對藍(lán)牙標(biāo)簽進(jìn)行通信初始化設(shè)置。首先,需要初始化藍(lán)牙設(shè)置:初始化定時(shí)器,設(shè)置為1分頻,初始化協(xié)議棧handle模塊,設(shè)置連接主從機(jī)的連接數(shù)量,使能協(xié)議棧,注冊handle模塊到藍(lán)牙處理事件中。同時(shí)對按鍵,LED燈等外設(shè)初始化。其次配置標(biāo)簽?zāi)J剑和ㄟ^構(gòu)造藍(lán)牙標(biāo)簽結(jié)構(gòu)體,把minor、major和company_identifier的值寫進(jìn)結(jié)構(gòu)體。設(shè)置廣播數(shù)據(jù):把標(biāo)簽信息傳遞給廣播數(shù)據(jù)結(jié)構(gòu)體,廣播類型設(shè)置為不可連接、廣播間隔為0、廣播超時(shí)為0。最后,把參數(shù)和數(shù)據(jù)注冊到協(xié)議棧中,開始廣播。最后配置信標(biāo)模式:構(gòu)造廣播數(shù)據(jù)結(jié)構(gòu)體,把信標(biāo)為全名和低功耗可發(fā)現(xiàn)模式寫入結(jié)構(gòu)體,廣播類型為:廣播間隔為187.5ms、廣播超時(shí)0、快速連接,同時(shí)把參數(shù)和數(shù)據(jù)注冊到協(xié)議棧中,開始廣播。藍(lán)牙標(biāo)簽實(shí)物成品。

3.3智能移動(dòng)終端APP開發(fā)

首先設(shè)置BLE:雖然現(xiàn)在的手機(jī)基本都支持BLE,但是考慮到程序的健碩性,這個(gè)檢查是必需的。其次進(jìn)行發(fā)現(xiàn)BLE設(shè)置:使用startLeScan()方法發(fā)現(xiàn)BLE設(shè)備,使用該方法的前提是實(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ù)。最后,實(shí)現(xiàn)智能移動(dòng)終端APP與Web后臺(tái)通信:選擇JSON作為數(shù)據(jù)交互的方法。Android訪問遠(yuǎn)程服務(wù)器前端,獲取并解析網(wǎng)絡(luò)上的JSON,再將獲取到的解析JSON格式的輸入流轉(zhuǎn)換成List,顯示到相對應(yīng)的Activity頁面上。

3.4Web后臺(tái)的實(shí)現(xiàn)

首先,創(chuàng)建數(shù)據(jù)庫,并插入了一個(gè)用戶。其次,創(chuàng)建VO類:用于對應(yīng)數(shù)據(jù)庫以使用DAO類中的代碼。再者,定義DAO的接口類:查詢是否存在這個(gè)用戶的方法是findLogin(Useruser)。緊接著,定義DAO的實(shí)現(xiàn)類——相當(dāng)于Mode(模型層):對用戶名和密碼進(jìn)行驗(yàn)證,如果驗(yàn)證成功,則通過VO類將用戶數(shù)據(jù)取出并返回。然后,新建一個(gè)Servlet類——相當(dāng)于Controller(控制層)。最后,始界面Login.jsp——相當(dāng)于View(顯示層)。對于Web服務(wù)器與Tomcat通信問題:因?yàn)門omcat服務(wù)器是一個(gè)免費(fèi)的開放源代碼的Web應(yīng)用輕量級服務(wù)器,所以需要建立MySQL和java的連接。主要方法是下載鏈接用的jar包,jar包為MySQL官方提供的mysql-connector-java-5.1.39-bin.jar,然后在實(shí)際項(xiàng)目中引用該jar包。

四、結(jié)論

根據(jù)上述的設(shè)計(jì)方案,順利完成系統(tǒng)開發(fā),驗(yàn)證了該系統(tǒng)的可行性。藍(lán)牙標(biāo)簽可用作RFID標(biāo)簽的重要補(bǔ)充,應(yīng)用于各種場合。

參考文獻(xiàn)

[1]丁磊等.基于藍(lán)牙4.0的低功耗電子貨架標(biāo)簽設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2014,40(05):28-30.

[2]黃玉蘭.基于物聯(lián)網(wǎng)的RFID電子標(biāo)簽研究進(jìn)展[J].電訊技術(shù),2013,53(04):522-529.

[3]高嘉澤等.面向移動(dòng)應(yīng)用的后端服務(wù)平臺(tái)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2014,23(02):22-27.

作者:劉立豐 鐘慧琳 夏靖波 張曉燕 杜小甫 單位:廈門大學(xué)嘉庚學(xué)院

精選范文推薦