999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于RSSI定位的RFID物品管理門禁系統設計*

2015-08-14 08:03:24亢雄偉高澤華高峰房延鵬
單片機與嵌入式系統應用 2015年11期
關鍵詞:程序

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

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

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

引 言

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

1 系統設計

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

1.1 電路設計

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

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

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

1.2 硬件相關程序

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

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

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

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

① 將讀取的十六進制數轉成十進制,記為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轉為dBm后的值,其中,RSSI_offset是一個偏移值,由于本系統的主頻為433MHz,數據速率為250kbps,根據CC1110的數據手冊,這個值取為73。硬件發送端和接收端的程序流程圖分別如圖2和圖3所示。

標簽負責發送攜帶自身ID信息的數據幀,幀結構如圖4所示。

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

圖2 標簽端的發送程序流程

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

讀卡器負責接收數據,并將其解析并重新封裝成新的數據幀發給服務器,幀結構如圖5所示。

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

圖4 標簽發送的數據幀結構

圖5 讀卡器發送的數據幀結構

1.3 服務器端程序

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

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

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

圖6 服務器端程序流程

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

2 定位方法

2.1 RSSI確定距離

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

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

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

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

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

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

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

圖8 RSSI和距離的擬合關系

2.2 定位算法

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

圖9 定位算法示意圖

2.3 結果分析

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

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

結 語

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

[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的監獄智能定位系統的設計與實現[J].杭州電子科技大學學報,2014,34(1):71-73.

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

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

[5]劉艷,吳蒙.基于ZigBee技術的室內定位系統的研究[J].計算機技術與發展,2014,24(4):181-183.

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

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

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

猜你喜歡
程序
給Windows添加程序快速切換欄
電腦愛好者(2020年6期)2020-05-26 09:27:33
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
基于VMM的程序行為異常檢測
偵查實驗批準程序初探
我國刑事速裁程序的構建
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
恐怖犯罪刑事訴訟程序的完善
主站蜘蛛池模板: 国产乱论视频| 四虎永久在线视频| 亚洲黄色网站视频| 亚洲女同欧美在线| 亚洲精品国产精品乱码不卞| 日韩在线视频网站| 亚洲国产精品一区二区第一页免 | 人妻中文字幕无码久久一区| 国产亚洲精品97在线观看 | 久久久久人妻一区精品色奶水| 亚洲第一视频网| 欧美午夜理伦三级在线观看| 国产香蕉97碰碰视频VA碰碰看| 免费高清毛片| 免费A∨中文乱码专区| 一区二区三区在线不卡免费| 国产欧美日韩18| 国产成人免费| 国产黄在线免费观看| 91小视频在线观看免费版高清| 国产日韩精品欧美一区灰| 亚洲综合激情另类专区| 五月天久久婷婷| 亚洲区第一页| 色哟哟国产精品一区二区| 91成人免费观看| 自拍偷拍欧美日韩| 日韩毛片基地| 欧美中文字幕在线播放| 2020国产在线视精品在| 亚瑟天堂久久一区二区影院| 亚洲精品视频免费看| 2020极品精品国产| 日韩人妻无码制服丝袜视频| 国产区免费| 99成人在线观看| 欧美视频在线播放观看免费福利资源| 91最新精品视频发布页| 成人va亚洲va欧美天堂| 亚洲香蕉在线| 国产福利在线免费观看| 激情无码字幕综合| 97亚洲色综久久精品| 欧美无遮挡国产欧美另类| 伊伊人成亚洲综合人网7777| 香蕉久久国产精品免| 19国产精品麻豆免费观看| 亚洲—日韩aV在线| 亚洲天堂福利视频| 欧美国产日韩另类| 波多野结衣无码中文字幕在线观看一区二区| 欧美色视频网站| 婷婷六月综合网| 18禁黄无遮挡网站| 国产精品对白刺激| 亚洲欧美另类视频| 久久大香香蕉国产免费网站| 国产尤物视频网址导航| 毛片基地美国正在播放亚洲| 亚洲首页国产精品丝袜| 亚洲欧美综合在线观看| 精品国产三级在线观看| 天堂在线亚洲| 激情五月婷婷综合网| 欧美午夜小视频| 大陆国产精品视频| 国产精品女在线观看| 欧美激情,国产精品| 国产乱人伦AV在线A| 国产激情国语对白普通话| 亚洲毛片网站| 久久网欧美| 99re热精品视频国产免费| 亚洲视频欧美不卡| 午夜福利视频一区| 激情国产精品一区| 都市激情亚洲综合久久| 日韩区欧美国产区在线观看| 婷婷激情亚洲| 免费一看一级毛片| 国产xxxxx免费视频| 久久96热在精品国产高清|