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
恐怖犯罪刑事訴訟程序的完善
主站蜘蛛池模板: 免费啪啪网址| 在线国产资源| 福利国产在线| 国产男人的天堂| 欧美伦理一区| 91在线精品免费免费播放| 老色鬼欧美精品| 午夜色综合| 国产精品yjizz视频网一二区| 欧美人与动牲交a欧美精品| 亚洲 欧美 偷自乱 图片| 国禁国产you女视频网站| 国产午夜无码专区喷水| 夜色爽爽影院18禁妓女影院| 园内精品自拍视频在线播放| 亚洲视频免费在线看| 久久特级毛片| 亚洲人成网站在线播放2019| 国产成在线观看免费视频| 国产免费久久精品99re丫丫一| 亚洲网综合| 黄色网址手机国内免费在线观看| 中文字幕人妻无码系列第三区| 一区二区三区四区在线| 在线不卡免费视频| 无码AV动漫| 日韩成人免费网站| 国产新AV天堂| 国产精品吹潮在线观看中文| 午夜福利在线观看入口| 婷婷六月天激情| 亚洲香蕉在线| 亚洲成人77777| 国产欧美网站| 色噜噜在线观看| 亚洲日韩欧美在线观看| 日本亚洲最大的色成网站www| 4虎影视国产在线观看精品| 中文字幕欧美日韩| 亚洲天堂日韩av电影| 狠狠色丁香婷婷| 影音先锋亚洲无码| 啪啪啪亚洲无码| 国产乱子伦一区二区=| 91色老久久精品偷偷蜜臀| 国产欧美一区二区三区视频在线观看| 亚洲视频四区| 国产伦精品一区二区三区视频优播 | 亚洲青涩在线| 夜夜高潮夜夜爽国产伦精品| 亚洲精品视频网| 欧美日本在线观看| 亚洲人妖在线| 精品偷拍一区二区| 天天色综网| 1级黄色毛片| 91精品伊人久久大香线蕉| 亚洲午夜综合网| 一本无码在线观看| 99视频在线免费| 激情综合网址| 国产成人无码综合亚洲日韩不卡| 日本手机在线视频| 亚洲va在线观看| 久久综合色天堂av| 国产一区亚洲一区| 日本精品一在线观看视频| 97国产在线观看| 亚洲欧美h| 波多野衣结在线精品二区| 国产成人精品男人的天堂| 三级国产在线观看| 国产人免费人成免费视频| 欧美在线天堂| 啪啪啪亚洲无码| 福利在线不卡一区| 国产高清在线精品一区二区三区| 亚洲最大情网站在线观看| 日韩毛片免费观看| 看国产一级毛片| 欧美成人精品一级在线观看| 无码专区第一页|