亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于RSSI定位的RFID物品管理門禁系統(tǒng)設(shè)計*

        2015-08-14 08:03:24亢雄偉高澤華高峰房延鵬
        關(guān)鍵詞:讀卡器服務器端線程

        亢雄偉,高澤華,高峰,房延鵬

        (北京郵電大學,北京100876)

        亢雄偉、房延鵬(碩士研究生),研究領(lǐng)域為物聯(lián)網(wǎng)中RFID和ZigBee技術(shù);高澤華(副教授),研究領(lǐng)域為無線移動IP與增值業(yè)務、射頻識別RFID與智能交通;高峰(博士),研究領(lǐng)域為WLAN技術(shù)。

        引 言

        門禁系統(tǒng)的關(guān)鍵在于當前物體位置的確定,只要能確定位置,就可以進行具體的邏輯判斷,本系統(tǒng)是基于接收信號強度指示(Receive Signal Strength Indicator,RSSI)定位原理而設(shè)計的,目前主要用來做貴重物品的防盜處理,當物品從屋內(nèi)移到屋外時,會發(fā)出警報信息,引起管理者的注意,從而達到防盜效果。

        1 系統(tǒng)設(shè)計

        整個系統(tǒng)由3部分組成,分別是電路設(shè)計、硬件程序以及服務器端程序。

        1.1 電路設(shè)計

        CC1110是TI公司的一款低功耗射頻識別芯片,硬件設(shè)計參考CC1110數(shù)據(jù)手冊中的推薦應用電路[1],電子標簽和讀卡器的射頻部分電路如圖1所示。

        圖1 標簽和讀卡器的射頻電路

        讀卡器由兩部分組成,除了上文所述的射頻電路外,還需要有一個能將串口數(shù)據(jù)轉(zhuǎn)成網(wǎng)口數(shù)據(jù)的模塊,本系統(tǒng)采用HLK-RM04模塊來實現(xiàn)這部分功能,通過配置參數(shù),可以自動將速率為57 600kbps的串口數(shù)據(jù)轉(zhuǎn)成網(wǎng)口數(shù)據(jù)。另外,配置參數(shù)時還需要指定遠端IP地址和端口,這里的IP地址應該設(shè)置成服務器的IP地址,端口號可以任意,但是服務器端程序監(jiān)聽的端口要與此處保持一致,因此,只要將讀卡器、路由器和服務器通過網(wǎng)線連接起來,就可以把讀卡器接收到的數(shù)據(jù)上傳到服務器。

        1.2 硬件相關(guān)程序

        系統(tǒng)硬件相關(guān)程序分成兩部分(一部分用來數(shù)據(jù)發(fā)送,另一部分用來數(shù)據(jù)接收),最后分別下載到標簽和讀卡器中,使得標簽和讀卡器可以正常工作,程序使用C語言開發(fā),采用IAR集成開發(fā)環(huán)境。

        發(fā)送端的作用是發(fā)送數(shù)據(jù),該部分的防碰撞算法如下:當信道被占用時,會等待一個1~10ms的隨機時間后再次發(fā)送數(shù)據(jù),如果連續(xù)發(fā)送3次都沒有成功,則表明發(fā)送失敗。為了實現(xiàn)低功耗,采用隨機休眠喚醒機制,休眠時間為0.7~1.7s的一個隨機數(shù),這樣就使得每個標簽的喚醒時間不同,從而提高該算法的魯棒性。

        接收端除了接收8個字節(jié)的標簽信息外,還要接收RSSI的值,CC1110提供了兩種獲得RSSI的方式:一種是配置寄存器PKTCTRL1.APPEND_STATUS=1,在這種方式下,RSSI值會自動添加到接收數(shù)據(jù)幀的后面;另一種是直接讀取RSSI寄存器的值[1]。為了方便處理,本系統(tǒng)采用第一種方式,配置寄存器PKTCTRL1=0x04,將接收到的數(shù)據(jù)存儲后再取得下一位接收的數(shù)據(jù),即本次接收得到的RSSI。

        讀取到的RSSI是以二進制補碼的形式存放的,需要將單位轉(zhuǎn)為dBm,轉(zhuǎn)換方式如下:

        ① 將讀取的十六進制數(shù)轉(zhuǎn)成十進制,記為RSSI_dec;

        ② 如果RSSI_dec≥128,則 RSSI_dBm = (RSSI_dec-128)/2-RSSI_offset;

        ③ 如果RSSI_dec<128,則 RSSI_dBm = RSSI_dec/2-RSSI_offset。

        通過以上步驟,得到的RSSI_dBm就是RSSI轉(zhuǎn)為dBm后的值,其中,RSSI_offset是一個偏移值,由于本系統(tǒng)的主頻為433MHz,數(shù)據(jù)速率為250kbps,根據(jù)CC1110的數(shù)據(jù)手冊,這個值取為73。硬件發(fā)送端和接收端的程序流程圖分別如圖2和圖3所示。

        標簽負責發(fā)送攜帶自身ID信息的數(shù)據(jù)幀,幀結(jié)構(gòu)如圖4所示。

        幀中第1個字節(jié)為固定的0x4C,用來在接收端進行驗證和同步,第2個字節(jié)代表標簽的電量信息,0x00表示電量正常,0x10表示電量過低,這一位被接收端解析后,會重新設(shè)為0x00。第3~8個字節(jié)是一個不重復的序列號,整個數(shù)據(jù)幀構(gòu)成一個標簽的ID號碼。讀卡器接收數(shù)據(jù)成功后,可以獲得指向該數(shù)據(jù)幀幀頭的指針,從這個指針開始讀取數(shù)據(jù),讀到的前8個字節(jié)就是標簽發(fā)送的數(shù)據(jù)幀,第9個字節(jié)是本次接收的RSSI值。

        圖2 標簽端的發(fā)送程序流程

        圖3 讀卡器端的接收程序流程

        讀卡器負責接收數(shù)據(jù),并將其解析并重新封裝成新的數(shù)據(jù)幀發(fā)給服務器,幀結(jié)構(gòu)如圖5所示。

        幀中的第1個字節(jié)為幀頭,固定取值為0xE5;第3個字節(jié)為總幀長,因為是18個字節(jié),因此取值為0x12;第7~8個字節(jié)是讀卡器ID;第9~16個字節(jié)是標簽的ID號碼;第17個字節(jié)是RSSI值。

        圖4 標簽發(fā)送的數(shù)據(jù)幀結(jié)構(gòu)

        圖5 讀卡器發(fā)送的數(shù)據(jù)幀結(jié)構(gòu)

        1.3 服務器端程序

        服務器端程序采用Java編寫,編程依據(jù)是通過讀卡器接收到的RSSI值來確定當前標簽與讀卡器之間的距離,最后利用定位算法來確定該標簽的坐標。該部分用來實時監(jiān)測每個讀卡器上報的信息,最后進行數(shù)據(jù)的分析和處理,并將結(jié)果顯示出來,具體流程如圖6所示。

        首先對讀卡器的RM04模塊進行設(shè)置,網(wǎng)絡協(xié)議選擇為TCP客戶端,遠端IP設(shè)置為服務器的IP地址,端口設(shè)置為6000,串口參數(shù)波特率選擇57 600,并啟用DHCP,這樣就可以通過網(wǎng)絡將讀卡器封裝的數(shù)據(jù)幀上傳到服務器。

        服務器端啟用一條線程一直監(jiān)聽6000端口,網(wǎng)絡中每接入一個讀卡器,服務器就會啟用一條新線程作為客戶端線程,該線程專門用來接收該讀卡器上傳的數(shù)據(jù),因為讀卡器封裝的數(shù)據(jù)幀以18個字節(jié)為單位,所以這條線程以18個字節(jié)為單位不斷接收網(wǎng)線上傳的數(shù)據(jù),每接收到一幀數(shù)據(jù)就進行解析,并根據(jù)RSSI和距離的關(guān)系換算出當前標簽到讀卡器的距離d,最后將讀卡器ID和距離以鍵值對的形式保存在同一個Map中。

        圖6 服務器端程序流程

        同時,再額外啟用一條線程,專門對各個讀卡器保存在Map中的數(shù)據(jù)做統(tǒng)一處理。這條線程和其他的線程之間通過Java的線程同步技術(shù)CyclicBarrier來實現(xiàn)同步,所有的線程之間彼此等待,當所有客戶端都讀取一幀數(shù)據(jù)之后喚醒數(shù)據(jù)處理線程來處理數(shù)據(jù),處理的方式是根據(jù)定位算法計算出當前標簽的坐標,并把計算結(jié)果顯示出來,處理完成后再通知其他線程繼續(xù)讀取數(shù)據(jù),如此循環(huán)。

        2 定位方法

        2.1 RSSI確定距離

        RSSI反映了特定信道下的接收信號強度等級,在無線應用中,可以通過RSSI來評估當前發(fā)送者到接收者的距離,計算公式如下:

        式中,P(d)代表收發(fā)距離為d時接收的RSSI值,單位為dBm;p(d0)為路徑損耗指數(shù),一般取值2~5;ε是一個均值為0的高斯隨機變量。

        選取d0為1m時,就可以得到RSSI和距離的關(guān)系,但是RSSI在實際中受到環(huán)境變化的影響較大,需要進行擬合,才能降低誤差。

        圖7是距離為1m時實際測量的135個RSSI值,從中可以看出,當距離不變、環(huán)境不變的情況下,讀取到的RSSI值變化幅度很小,故可以測量不同距離下的RSSI并計算其平均值,最后根據(jù)平均值來擬合RSSI和距離的關(guān)系。

        圖7 距離為1m時RSSI的實測值

        與測量距離為1m時的方法相同,再去測量不同距離下的RSSI值,測量距離分別為2m、3m、4m、5m、7.5m、9m、12.4m、14.7m、17.8m,最后取平均值,并使用 Matlab進行曲線擬合,擬合結(jié)果如圖8所示。

        從圖8中可以看出,隨著距離的增大,RSSI不斷降低,當距離超過10m時,趨于穩(wěn)定,最后通過擬合的曲線來驗證誤差,得到誤差的均值為1.27,方差為1.44。這說明擬合結(jié)果精確度較高,最后擬合的多項式是RSSI=-0.02d3+0.8d2-10.77d-28.35,d的取值范圍為0~18m,這樣就得到了RSSI和距離的關(guān)系,根據(jù)每次接收到的RSSI,解這個方程就能得到距離d的值。

        圖8 RSSI和距離的擬合關(guān)系

        2.2 定位算法

        給服務器連接3個讀卡器,并為其選取合適的中心坐標,記為 A(x1,y1)、B(x2,y2)、C(x3,y3),每個讀卡器都讀取一幀數(shù)據(jù),并通過RSSI值來計算當前標簽到各個讀卡器的距離,得到d1、d2、d3,以 A、B、C為圓心、d1、d2、d3為半徑,可以畫出3個圓,根據(jù)這3個圓來確定標簽當前的位置,定位算法示意圖如圖9所示。

        圖9 定位算法示意圖

        2.3 結(jié)果分析

        將3個固定坐標設(shè)置為(-3.04,0)、(4.15,4.05)、(3.87,0),單位為 m。當標簽處于坐標(1,1)時,程序進行了100組的坐標計算,最后計算平均值,得到的結(jié)果是(1.27,1.48),與實際位置非常接近,方差為0.15。

        門禁系統(tǒng)的實現(xiàn)需要確定門的坐標,坐標的設(shè)定和門的寬度w、厚度t有關(guān)。首先需要確定門的一邊的中點為坐標原點(0,0),其次設(shè)定4個坐標作為門限值,分別為(0,-t/2-1)、(0,t/2+1)、(w,-t/2-1)、(w,t/2+1);然后將3個讀卡器中的兩個放在門外,一個放在門內(nèi),使得三者的交叉區(qū)覆蓋門的范圍;最后將程序計算出來的坐標(x,y)和門的坐標進行對比,當x>t/2+1+0.15、標簽當前狀態(tài)在門外同時成立,或者t/2<x<t/2+1+0.15、y>w或y<0,并且標簽當前狀態(tài)在門外同時成立時,判決為進門,并更新標簽的狀態(tài)為門內(nèi);當x<-t/2-1-0.15、標簽當前狀態(tài)在門內(nèi)同時成立,或者-t/2-1-0.15<x<-t/2、y>w或y<0并且標簽當前狀態(tài)在門內(nèi)同時成立時,判決為出門,并更新標簽的狀態(tài)為門外。

        結(jié) 語

        本文介紹了一種以RSSI定位原理為基礎(chǔ)而設(shè)計的物品管理門禁系統(tǒng),重點做了RSSI與距離關(guān)系的擬合,效果較為理想。系統(tǒng)的設(shè)計難點在于硬件相關(guān)程序的編寫、RSSI的測量,以及服務器端程序的控制。通過借鑒Web開發(fā)中的分層思想,使得整個系統(tǒng)結(jié)構(gòu)清晰,分成了3級,每一級各司其職,標簽和讀卡器之間可通過無線電波進行交互,讀卡器和服務器之間通過網(wǎng)絡交互,這種設(shè)計有利于日后進行系統(tǒng)維護并提高擴充性。

        [1]TexasInstruments.CC1110PRELIMINARY Data Sheet[EB/OL].(2010-07)[2015-06].http://www.lierda.com/upload/product/down_path/070122/032237200 1169 434729.pdf.

        [2]丁海強,何熊熊,莊華亮,等.基于RFID的監(jiān)獄智能定位系統(tǒng)的設(shè)計與實現(xiàn)[J].杭州電子科技大學學報,2014,34(1):71-73.

        [3]李文仲,段朝玉.CC1110/CC2510無線單片機和無線自組織網(wǎng)絡入門與實戰(zhàn)[M].北京:北京航空航天大學出版社,2008.

        [4]李文仲,段朝玉.CC1010無線SoC高級應用[M].北京:北京航空航天大學出版社,2007.

        [5]劉艷,吳蒙.基于ZigBee技術(shù)的室內(nèi)定位系統(tǒng)的研究[J].計算機技術(shù)與發(fā)展,2014,24(4):181-183.

        [6]張潔穎,孫懋珩,王俠.基于RSSI和LQI的動態(tài)距離估計算法[J].電子測量技術(shù),2007,30(2):141-144.

        [7]張潔穎.基于ZigBee網(wǎng)絡的定位跟蹤研究與實現(xiàn)[D].上海:同濟大學,2007.

        [8]侯亞娜,胡維平.無線傳感器網(wǎng)絡中基于聚類平均的定位算法[J].計算機應用研究,2010,27(4):1455-1457.

        猜你喜歡
        讀卡器服務器端線程
        與淘汰命運抗爭 看懂筆記本的讀卡器
        淺析異步通信層的架構(gòu)在ASP.NET 程序中的應用
        成功(2018年10期)2018-03-26 02:56:14
        淺談linux多線程協(xié)作
        基于EMV非接通信規(guī)范的非接觸讀卡器設(shè)計
        為二維碼識別的獻禮之作——評測平治二維碼門禁讀卡器
        在Windows中安裝OpenVPN
        MATLAB實現(xiàn)組態(tài)王中TCP/IP讀卡器監(jiān)控方法
        Linux線程實現(xiàn)技術(shù)研究
        網(wǎng)頁防篡改中分布式文件同步復制系統(tǒng)
        么移動中間件線程池并發(fā)機制優(yōu)化改進
        日韩Va亚洲va欧美Ⅴa久久| 国产精品精品自在线拍| 中文字幕aⅴ人妻一区二区| 国产精品黄在线观看免费软件 | 亚洲国产精品美女久久久| 国产福利不卡视频在线| 亚洲a无码综合a国产av中文| 777米奇色8888狠狠俺去啦| 久久久久久久久888| 91青青草久久| 中文亚洲一区二区三区| 国产精品对白一区二区三区| 性生交片免费无码看人| 国产欧美亚洲精品a| 国产丝袜免费精品一区二区 | 日本一区二区三区爱爱视频 | 久久久亚洲精品一区二区三区| 色伦专区97中文字幕| 精品久久亚洲一级α| 国内国外日产一区二区| 国产毛片视频一区二区| 亚洲综合av一区二区三区| 成年女人毛片免费观看97| 久久青青草视频免费观看| 成人国产高清av一区二区三区 | 欧美freesex黑人又粗又大| 国产欧美日本亚洲精品一4区| 99视频偷拍视频一区二区三区| 亚洲视频一区二区三区视频| 亚洲精品国产suv一区88| 丰满多毛少妇做爰视频| 日韩av一区在线播放| 中文字幕av熟女中文av| 中国人妻与老外黑人| 嫩草影院未满十八岁禁止入内| 国产成人精品蜜芽视频| 亚洲国产日韩一区二区三区四区| 精品av熟女一区二区偷窥海滩| 日韩a无v码在线播放| 无码啪啪人妻| 国产精品一区二区三区在线观看|