国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于超高頻RFID 的圖書定位系統(tǒng)設(shè)計

2020-11-02 07:59:56夏曉雨馮思玲
現(xiàn)代計算機 2020年27期
關(guān)鍵詞:輪詢上位標簽

夏曉雨,馮思玲

(1.桂林電子科技大學國防生學院,桂林 541000;2.海南大學信息與通信工程學院,???570100)

0 引言

近年來物聯(lián)網(wǎng)作為繼計算機、互聯(lián)網(wǎng)與移動通信網(wǎng)絡(luò)之后的又一次世界信息產(chǎn)業(yè)革命而得到了快速的發(fā)展,越來越多的物聯(lián)網(wǎng)設(shè)備應(yīng)用于我們的日常生活中,給人們帶來了極大的便利,各式各樣的傳感器滲入已經(jīng)我們生活的各個角落,但是在一些傳統(tǒng)行業(yè)里物聯(lián)網(wǎng)的發(fā)展卻有些緩慢,例如在圖書館內(nèi),目前的圖書館內(nèi)圖書的清點與錯架整理都需要人工來完成[1]。在智能社會的今天,我們所做的工作就是將需要多次重復(fù)勞動交給機器,以減少人工的使用,將勞動者從枯燥的重復(fù)勞動解放出來,使勞動者有更多的精力去投入到人的身心健康發(fā)展中。但目前對圖書定位的研究并不豐富,其中有一部分是基于條形碼∕二維碼的圖像識別圖書定位系統(tǒng),條形碼∕二維碼是一種應(yīng)用十分廣泛的自動識別技術(shù),但是目前圖像識別技術(shù)發(fā)展仍然不夠完善并且圖像識別技術(shù)無法對那些識別部分污損或破損的書籍進行識別,并且如果有讀者擋在識別用的攝像頭前極易造成識別誤差,而RFID 與之相比優(yōu)勢十分明顯:不需要光源,甚至可以透過外部材料讀取數(shù)據(jù);使用壽命長,能在惡劣環(huán)境下工作;能夠輕易嵌入或附著在不同形狀、類型的產(chǎn)品[2]。使用RFID 技術(shù)的一些研究使用的是高頻和低頻RFID 進行定位,高頻和低頻RFID 由于頻率不高導(dǎo)致在多標簽環(huán)境下,識別速度較慢,識別的錯誤率過高,而且識別距離較短,且大多數(shù)圖書館都設(shè)置有基于特高頻RFID 的自助圖書借閱系統(tǒng)和電子防竊圍欄,在應(yīng)用時并不需要進行更換,能夠在現(xiàn)有硬件基礎(chǔ)上改造來達到目的,經(jīng)濟上具有較強的可行性。

1 主要技術(shù)基礎(chǔ)

1.1 特高頻RRFFIIDD

無線電的射頻可以根據(jù)頻率和它的波長分成不同的波段,而特高頻(Ultra High Frequency)。處于波長為1m~1mm 的微波頻段,其頻率范圍為 300MHz 到3GHz。在中國其工作頻率被定義為 800MHz~900MHz。ISO 18000-6C∕EPC C1G2 是國際標準化組織為特高頻RFID 制定的標準細則,其中詳細規(guī)定了特高頻RFID 的防碰撞算法。標簽與閱讀器經(jīng)過無線信道進行數(shù)據(jù)信息交互啊,多個信號會在信道中交疊互相影響,導(dǎo)致標簽信息無法正確讀取,即發(fā)生碰撞。特高頻相比于高頻與低頻RFID 的最大優(yōu)勢就是其規(guī)定了多標簽時的防碰撞算法使其具有在短時間內(nèi)多標簽識別的能力。這對于圖書的識別與定位是極為重要的。

1.2 UUHHFF定向線極化平板天線

天線在標簽和閱讀器間傳遞射頻信號。它一方面給無源的電子標簽提供電能,另一方面也通過它接收電子標簽,上發(fā)出的信息,它也可向電子標簽發(fā)射寫入的信息[3]。這個天線有兩個個屬性首先它是線極化天線,再者它是定向天線。

天線的線極化(Omnidirectional Antenna)方式簡單來說,像太陽光形成的影子一樣,當收信天線和極化方向一樣的時候,這個影子最大感應(yīng)出的信號最強,而圓極化,無論收信天線的極化方向怎樣改變,電磁波在任何方向上形成的影子都是一樣的,所感應(yīng)出的信號也都是相同的。

全向天線(Omnidirectional Antenna)其發(fā)射電磁波在空間中可以看成一個球面,可以向各個方向發(fā)送。

定向天線(Directional Antenna)顧名思義,它向特定的方向發(fā)射和接收的電磁波,并且發(fā)送的是圓錐型電磁波,因為電磁波都集中起來,增益比較高,而對于本設(shè)計來講能夠防止旁邊的書架產(chǎn)生的影響。

1.3 IISSOO 1188000000-6C標準中的防碰撞算法

ISO∕IEC 18000-6C 通信協(xié)議定義了 RFID 系統(tǒng)操作的物理要求和邏輯要求,RFID 的防碰撞有硬件和軟件兩種方法,其中在硬件中共有四種分別是:空分多址(SDMA)、頻分多址(FDMA)、時分多址(TDMA)、碼分多址(CDMA),這些技術(shù)的優(yōu)點是時間延遲小,但是會大大增加系統(tǒng)的成本和復(fù)雜程度,另一種軟件的方法,一是使用根據(jù)曼徹斯特編碼的二進制算法和它的改進后的算法,二是通過隨機數(shù)產(chǎn)生器產(chǎn)生隨機數(shù)的隨機時隙算法和它的改進算法,這雖然會帶來時間延遲的增加,但是由于成本低,便于修改,實現(xiàn)起來系統(tǒng)的復(fù)雜程度較低。故我們所用的基于ISO 18000-6C 標準的閱讀器和標簽是通過隨機數(shù)產(chǎn)生器產(chǎn)生隨機數(shù)的隨機時隙算法來實現(xiàn)防碰撞。

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

2.1 系統(tǒng)工作流程

如果將整個系統(tǒng)進行抽象,整個系統(tǒng)可以分為三個部分:部署在書架上的超高頻RFID 傳感器、上位機和相關(guān)程序,數(shù)據(jù)庫和網(wǎng)頁服務(wù)器。工作流程如圖1所示:

(1)上位機程序通過輪詢部署在書架上的超高頻RFID 傳感器將書架信息緩存在上位機臨時數(shù)據(jù)表中,等待處理。

(2)上位機程序?qū)⑴R時數(shù)據(jù)表中的數(shù)據(jù)寫入數(shù)據(jù)庫,并操作數(shù)據(jù)庫對其進行處理。

(3)基于數(shù)據(jù)庫數(shù)據(jù)向管理員或讀者通過上位機程序或Web 網(wǎng)頁展示圖書信息和狀態(tài)。

圖1 系統(tǒng)工作流程

2.2 上位機程序的設(shè)計

(1)傳感器連接情況模塊

本模塊使用傳感器商家配套的動態(tài)鏈接庫制作,分 別 名 為 RFID_Reader_Cmds.dll 和 RFID_Reader_Com.dll,根據(jù)說明文檔,取得從串口發(fā)送回上位機的信息的方法由 SP 類 GetInstance().GetPortNames()方法實現(xiàn),配合WinForm 模板內(nèi)的ListView 控件能夠提供傳感器的連接情況如圖2-圖3 所示。

圖2 傳感器列表初始狀態(tài)

圖3 已連接傳感器時狀態(tài)

代碼如下所示:

(2)循環(huán)識別模塊

在系統(tǒng)運行過程中需要進行輪詢傳感器并將數(shù)據(jù)與初始數(shù)據(jù)對比,但配套程序給的輪詢指令并不合適,問題主要有兩點,第一,多次輪詢的次數(shù)有限制,只能由0-65535 次中選擇。第二,多次輪詢指令只能設(shè)置輪詢次數(shù),并不能改變輪詢的時間間隔,傳感器中內(nèi)置的MCU 只關(guān)心收到的命令次數(shù)并不關(guān)心時間間隔。且MCU 中的固件是閉源的,并不能更改它內(nèi)部的程序邏輯,需要使用WinForm 里面 System.Windows.Form.Timer 方法,這個方法本質(zhì)上是一個定時器,在用戶規(guī)定的時間間隔重復(fù)的執(zhí)行某個命令,代碼如下:

(3)數(shù)據(jù)消抖模塊

在系統(tǒng)測試時經(jīng)常出現(xiàn)標簽誤識別的狀況,這是由于傳感器產(chǎn)生了抖動,根據(jù)多次測試,當連續(xù)識別5次后,只會得到1-2 次錯誤標簽,根據(jù)測試結(jié)果用代碼構(gòu)建了數(shù)據(jù)消抖程序,它的工作流程如圖4 所示。在消抖程序中使用了一個臨時表,輪詢傳感器五次并記錄接收到標簽的次數(shù),將次數(shù)小于3 的數(shù)據(jù)保留。其余刪去,主要代碼如下:

圖4 數(shù)據(jù)消抖工作流程

2.3 數(shù)據(jù)庫及網(wǎng)頁服務(wù)器設(shè)計

(1)數(shù)據(jù)庫設(shè)計

本設(shè)計的數(shù)據(jù)庫共有五個表,分別為Read_First、Read_noton、Read_Refresh、Read_Wrong、Read_stable,其中Read_stable 表儲存圖書館內(nèi)所有登記在冊的圖書,表Read_First 表作為圖書離架定位基礎(chǔ)表,基礎(chǔ)表將在每次開始運行時重新寫入,與從傳感器傳來的目前的在架圖書信息進行比對,來獲得錯架圖書和離架圖書的信息。

表Read_Refresh 臨時儲存這一次閱讀器查詢的結(jié)果,表內(nèi)的數(shù)據(jù)與Read_First 表比對得到錯架圖書,和離架圖書的信息,并在獲得的信息儲存完畢后,于下一次讀取之前清空,防止下一次寫入時發(fā)生數(shù)據(jù)錯誤。

表 Read_noton 通 過 比 對 表 Read_First 和 表Read_Refresh 的EPC 列的不同獲得離架圖書并將EPC存入數(shù)據(jù)庫。

表 Read_Wrong 通過比對表 Read_First 和表Read_Refresh 中PORT 列不同而EPC 相同這兩個約束條件找出錯架圖書并將EPC 存入數(shù)據(jù)庫。

(2)數(shù)據(jù)處理

為了將數(shù)據(jù)庫中的數(shù)據(jù)處理,在上位機程序中嵌入SQL 語句在獲取信息的同時進行處理。部分代碼如下:

(3)網(wǎng)頁服務(wù)器設(shè)計

本設(shè)計選擇使用MVC 模式作為Web 的架構(gòu)模式,MVC 由模型、視圖、控制器的英文的第一個字母的縮寫構(gòu)成。不同于以往的其他模式,MCV 將元素按照模型、視圖、控制器分開,它把原來混在一起的各個元素分開把復(fù)雜的程序簡化,而且對于大型的項目能夠更好地將開發(fā)人員專注與一個組件,而不需要太多關(guān)注其他的部分。本文僅展示模型與控制器的初始化

(1)模型的初始化

在本設(shè)計生成了一個MVC 的模板以后,為了更清楚的分開各個元素,在它的模型的基礎(chǔ)上又分出了WebModel 模型并且作為類庫添加到解決方案中,并且由于要和數(shù)據(jù)庫交換數(shù)據(jù)所以按照數(shù)據(jù)庫的結(jié)構(gòu)來構(gòu)建模板中的模型,在這里使用System.Data.Sqlclient 的庫訪問數(shù)據(jù)庫,在初始化完WebModel 后也要在項目里初始化一個Model 與它對應(yīng)。

(2)控制器的初始化

同模型一樣將控制器的操作邏輯作為類庫寫在項目的外部,由于模型只是與數(shù)據(jù)庫交流,只獲得數(shù)據(jù),并不對數(shù)據(jù)進行處理,而處理的工作就交給了控制器來完成,并且它和數(shù)據(jù)的實體沒有關(guān)系。部分代碼如下:

3 系統(tǒng)測試效果

固定在書架上的天線與傳感器如圖5 所示,圖中三本書作為測試之用,圖6 為上位機程序主界面,其可用操作

為:

圖5 固定在書架上的天線

圖6 上位機程序初始化界面

(1)定位書籍將目前在架圖書寫入Read_First 表

(2)開始輪詢傳感器并將數(shù)據(jù)存入數(shù)據(jù)庫處理

(3)進行快速盤點,并在上位機程序中展示,可選擇刪除或者導(dǎo)入數(shù)據(jù)庫

(4)向讀者展示圖書情況如圖7 所示

(5)進行錯架識別如圖8 所示

圖7 Web網(wǎng)頁

圖8 錯架識別模塊

4 結(jié)語

本文給出了一種基于超高頻RFID 的圖書定位系統(tǒng),該系統(tǒng)可用于解決圖書館內(nèi)存在的對圖書在架與錯架信息識別的低效的問題,具有一定的實際意義。用C#語言實現(xiàn)上位程序使得其兼容性有效提高并由利于圖書館根據(jù)自身情況進行二次開發(fā),進一步提高圖書使館的信息化水平。

猜你喜歡
輪詢上位標簽
基于等概率的ASON業(yè)務(wù)授權(quán)設(shè)計?
無懼標簽 Alfa Romeo Giulia 200HP
車迷(2018年11期)2018-08-30 03:20:32
特斯拉 風云之老阿姨上位
車迷(2018年12期)2018-07-26 00:42:22
不害怕撕掉標簽的人,都活出了真正的漂亮
海峽姐妹(2018年3期)2018-05-09 08:21:02
“三扶”齊上位 決戰(zhàn)必打贏
基于ZigBee和VC上位機的教室智能監(jiān)測管理系統(tǒng)
標簽化傷害了誰
依托站點狀態(tài)的兩級輪詢控制系統(tǒng)時延特性分析
自動化學報(2016年8期)2016-04-16 03:38:56
利用時間輪詢方式操作DDR3實現(xiàn)多模式下數(shù)據(jù)重排
以新思路促推現(xiàn)代農(nóng)業(yè)上位
學習月刊(2015年3期)2015-07-09 03:51:04
阳原县| 东光县| 岳阳县| 西充县| 花垣县| 南平市| 南宫市| 华蓥市| 城市| 炎陵县| 湟源县| 繁峙县| 沙洋县| 新源县| 黑河市| 兴国县| 江津市| 镇赉县| 华容县| 长葛市| 甘泉县| 河北省| 巧家县| 广水市| 德清县| 仪征市| 包头市| 云阳县| 濮阳县| 通榆县| 延安市| 洞头县| 禄丰县| 农安县| 彝良县| 双鸭山市| 留坝县| 龙江县| 明溪县| 乐陵市| 定远县|