當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]物流在整個(gè)企業(yè)的供應(yīng)鏈中占有非常重要的比重。通過(guò)RFID的批量識(shí)別,實(shí)現(xiàn)物流的出庫(kù),入庫(kù),和分揀流程。通過(guò)GPS定位系統(tǒng),實(shí)時(shí)獲取車(chē)輛在途信息。通過(guò)服務(wù)器和數(shù)據(jù)中心的實(shí)

物流在整個(gè)企業(yè)的供應(yīng)鏈中占有非常重要的比重。通過(guò)RFID的批量識(shí)別,實(shí)現(xiàn)物流的出庫(kù),入庫(kù),和分揀流程。通過(guò)GPS定位系統(tǒng),實(shí)時(shí)獲取車(chē)輛在途信息。通過(guò)服務(wù)器和數(shù)據(jù)中心的實(shí)時(shí)數(shù)據(jù)分析和報(bào)表功能,可能掌握企業(yè)資源的動(dòng)態(tài)變化。智能物流系統(tǒng)大幅提升整個(gè)供應(yīng)鏈的效率。

1 系統(tǒng)方案

在本設(shè)計(jì)中采用固定式RFID的讀卡器來(lái)采集信息,由串口發(fā)送至ARM11為核心的數(shù)據(jù)處理終端進(jìn)行處理。因此該系統(tǒng)分為兩個(gè)部分。

第一部分:RFID電子標(biāo)簽信息的采集,主要是選擇固定式的讀卡器來(lái)識(shí)別RFID標(biāo)簽信息并發(fā)向終端;

第二部分:數(shù)據(jù)采集,該部分以ARM11為核心處理器的數(shù)據(jù)處理終端,在終端上搭載Linux操作系統(tǒng),并安裝有數(shù)據(jù)庫(kù)SQLite和QT/E來(lái)進(jìn)行數(shù)據(jù)的采集和存儲(chǔ)。

2 實(shí)現(xiàn)模塊

本系統(tǒng)的實(shí)現(xiàn)依賴于以下4個(gè)功能模塊:1)RFID信息的采集;2)串口數(shù)據(jù)的實(shí)時(shí)讀取;3)SQLite數(shù)據(jù)的操作;4)Qt/E用戶界面的設(shè)計(jì)。

2.1 RFID電子信息的采集

2.1.1 RFID電子標(biāo)簽

RFID電子標(biāo)簽分為被動(dòng)標(biāo)簽(Passive tags)和主動(dòng)標(biāo)簽(Aetlve tags)兩種。主動(dòng)標(biāo)簽自身帶有電池供電,讀/寫(xiě)距離較遠(yuǎn),同時(shí)體積較大,與被動(dòng)標(biāo)簽相比成本更高,也稱為有源標(biāo)簽。被動(dòng)標(biāo)簽由閱讀器產(chǎn)生的磁場(chǎng)中獲得工作所需的能量,成本很低并具有很長(zhǎng)的使用壽命,比主動(dòng)標(biāo)簽更小也更輕,讀寫(xiě)距離則較近,也稱為無(wú)源標(biāo)簽。一般來(lái)說(shuō),無(wú)源標(biāo)簽是取代條形碼標(biāo)簽的主要發(fā)展方向,有源標(biāo)簽因?yàn)槠溟L(zhǎng)距離識(shí)別的優(yōu)勢(shì),主要應(yīng)用于大型的高速運(yùn)動(dòng)物體的標(biāo)識(shí)識(shí)別之上。如機(jī)動(dòng)車(chē)的跟蹤和識(shí)別、動(dòng)物或人類身份的跟蹤和識(shí)別。

下面主要是以無(wú)源標(biāo)簽為例介紹其原理和性能的。

RFID電子標(biāo)簽由天線和專用芯片組成,天線是存塑料片基上鍍上的銅膜線圈,在塑料基片上還嵌有體積非常小的集成電路芯片,在這個(gè)集成電路芯片中有高速的射頻接口,控制單元,EEPROM 3個(gè)模塊組成。如圖1所示。

 


2.1.2 電子標(biāo)簽識(shí)別系統(tǒng)

一個(gè)真正的RFID電子標(biāo)簽識(shí)別系統(tǒng)至少應(yīng)包含電子標(biāo)簽、閱讀器、數(shù)據(jù)處理和存儲(chǔ)的設(shè)備以及系統(tǒng)軟件。通常閱讀器與電腦相連,所讀取的標(biāo)簽信息被傳送到電腦上進(jìn)行下一步處理。閱讀器通過(guò)天線發(fā)送出一定頻率的射頻信號(hào),當(dāng)標(biāo)簽進(jìn)入這一定頻率的射頻信號(hào)磁場(chǎng)時(shí)產(chǎn)生感應(yīng)電流從而獲得電能,產(chǎn)生電壓供給電子標(biāo)簽內(nèi)集成電路工作,并通過(guò)自身的RFID電子標(biāo)簽天線發(fā)送出自身編碼等信息,由閱讀器接收天線接收讀取并解碼后送至電腦主機(jī)進(jìn)行相關(guān)處理。

2.1.3 射頻讀卡模塊

本設(shè)計(jì)采用的讀卡器是TX125系列射頻讀卡模塊。TX125系列非接觸IC卡射頻讀卡模塊采用125K射頻基站。當(dāng)有卡靠近模塊時(shí),模塊會(huì)以韋根或 UART方式輸出ID卡卡號(hào),用戶僅需簡(jiǎn)單的讀取即可。該讀卡模塊完全支持EM、TEMIC、TK及其兼容卡片的操作。

數(shù)據(jù)格式:6字節(jié)數(shù)據(jù),高位在前,格式為5字節(jié)數(shù)據(jù)+1字節(jié)校驗(yàn)和(異或和)。例如:卡號(hào)數(shù)據(jù)為0B00D5FOC7,則輸出為0x0B 0x00 0xD5 0xF0 0xC7 0xE9(校驗(yàn)和計(jì)算:0x0B^0x00^0xD5^0xF0^0xC7=0xE9)。第一個(gè)字節(jié)0x0B一般是廠家碼。中間4個(gè)字節(jié)0x00 0xD5 0xF0 0xC7是卡片的序列號(hào)。一般卡片上印刷的都是10進(jìn)制碼。例如:001402807213 61639。上面的數(shù)據(jù)可以通過(guò)轉(zhuǎn)換得到。轉(zhuǎn)換方式如下:將中間4個(gè)字節(jié)卡號(hào)0x00D5F0C7轉(zhuǎn)換為十進(jìn)制,即得001402807;將卡號(hào)的第二字節(jié)0xD5轉(zhuǎn)換為十進(jìn)制,即得213,將卡號(hào)的最后兩字節(jié)0xF0C7轉(zhuǎn)換為十進(jìn)制,即得61639。

在串口方式下,可工作存主動(dòng)與被動(dòng)模式。主動(dòng)模式:當(dāng)有卡進(jìn)入該射頻區(qū)域內(nèi)時(shí),主動(dòng)發(fā)出以上格式的卡號(hào)數(shù)據(jù)。被動(dòng)模式:CLK的下降沿觸發(fā)卡號(hào)的輸出,格式為以上數(shù)據(jù)格式。操作方法為:在準(zhǔn)備讀取卡號(hào)之前,打開(kāi)串口中斷并啟動(dòng)超時(shí)定時(shí)器(80 ms),將一直保持高電平的CLK置低電平,產(chǎn)生下降沿并一直保持低電平,等待卡號(hào)數(shù)據(jù)接收,若接收到卡號(hào)后存儲(chǔ)待用,若在等待過(guò)程中無(wú)數(shù)據(jù)接收,且超時(shí)定時(shí)器已經(jīng)溢出,則表示本次讀取卡號(hào)失敗;無(wú)論成功與失敗最后都將CLK重新置高電平,進(jìn)入待機(jī)以便下一次讀取卡號(hào)。

串口通訊協(xié)議,就是讀卡模塊以何種格式把讀取到的卡號(hào)發(fā)送出來(lái)。TX125支持韋根接口和串口兩種協(xié)議。UART接口一幀的數(shù)據(jù)格式為:1個(gè)起始位、 8個(gè)數(shù)據(jù)位、無(wú)奇偶校驗(yàn)位、1個(gè)停止位。波特率可選擇9 600 bps或者19 200 bps。在本設(shè)計(jì)中連接6 410網(wǎng)關(guān)設(shè)備的/dev/tty SAC1串口設(shè)備,選擇設(shè)置波特率為9 600。

采用多線程的方式等待RFID刷寫(xiě)讀卡器,主要函數(shù):pthread_create (&th_kb,NULL,KeyBoardPthread,0);pthread_creat (&rf_ rev,NULL,RFIDRevPthread,0)。建立兩個(gè)線程,第一個(gè)是以鍵盤(pán)輸入的方式讀寫(xiě)RFID信息,第二個(gè)線程的功能是監(jiān)控串口/dev /ttySAC1中的信息,已實(shí)現(xiàn)實(shí)時(shí)的捕捉刷寫(xiě)RFID標(biāo)簽信息。

2.2 串口數(shù)據(jù)的實(shí)時(shí)讀取

在linux操作系統(tǒng)中,對(duì)外設(shè)的訪問(wèn)往往都是使用open()函數(shù),以打開(kāi)文件的方式讀取數(shù)據(jù)。在本設(shè)計(jì)中對(duì)串口數(shù)據(jù)的瀆取也正是通過(guò)open()函數(shù)打開(kāi)/dev/ttySAC1這一串口驅(qū)動(dòng)文件,獲取由讀卡器發(fā)送給ARM11主核心板的數(shù)據(jù),實(shí)現(xiàn)函數(shù)為open(/dev /ttySAC1,O_RDWR | O_NOCTTY),標(biāo)志位為O_RDWR | O_NOCTTY,意義是系統(tǒng)以可讀寫(xiě)的方式打開(kāi)文件,如果欲打開(kāi)的文件為終端設(shè)備時(shí),則不會(huì)將該終端當(dāng)成進(jìn)程控制終端。

在打開(kāi)串口文件之前,我們要對(duì)串口進(jìn)行相應(yīng)的設(shè)置,具體步驟有以下幾步:串口屬性的設(shè)置,保存原先串口配置,激活選項(xiàng),設(shè)置波特率,設(shè)置字符大小,設(shè)置校驗(yàn),設(shè)置停止位,設(shè)置最少字符與等待時(shí)間,清楚串口緩沖,激活配置。設(shè)置由以下結(jié)構(gòu)體實(shí)現(xiàn):

 


成功打開(kāi)驅(qū)動(dòng)文件后,需要做的就是使用read()函數(shù)來(lái)讀出讀卡器發(fā)送的信號(hào),以判別貨品的類型,將其信息準(zhǔn)確的存入到數(shù)據(jù)庫(kù)。 Read()函數(shù)的函數(shù)原型為read(int fd,void*huf,size_t count),read()實(shí)現(xiàn)的功能是從參數(shù)fd所指的文件傳送count個(gè)字節(jié)到buf指針?biāo)傅膬?nèi)存中。讀出的數(shù)據(jù)將存入buf中,作為識(shí)別 RFID標(biāo)簽的依據(jù)。[!--empirenews.page--]

2.3 SQLite對(duì)數(shù)據(jù)的管理

在嵌入式設(shè)備上使用的數(shù)據(jù)庫(kù)有很多,比如MySQL。本設(shè)計(jì)選擇的是更為簡(jiǎn)便的數(shù)據(jù)庫(kù)SQLite。本設(shè)計(jì)中建立的是一個(gè)物流商品信息的數(shù)據(jù)庫(kù)系統(tǒng),包含的信息有:商品的名字(char型),商品的ID號(hào)(char型)以及商品的價(jià)格(int型)。這些信息都將被存放在table merchan dise中。

當(dāng)代表商品的RFID標(biāo)簽第一次刷寫(xiě)讀卡器的時(shí)候,系統(tǒng)將根據(jù)它的標(biāo)簽標(biāo)號(hào),唯一確定它的商品名、商品ID號(hào)以及價(jià)格,并把這些消息一次性寫(xiě)入到表 merchandise中。已經(jīng)存入庫(kù)中的商品RFID標(biāo)簽再次刷寫(xiě)讀卡器的時(shí)候,將作為該商品的出庫(kù)操作,系統(tǒng)將自動(dòng)的刪除該商品在數(shù)據(jù)庫(kù)中的信息。

存數(shù)據(jù)的管理部分,充分利用SQLite提供的便捷有效的API函數(shù):sqlite3_open(),sqlite3_exec()和sqlite3_close()等,打開(kāi)和操作數(shù)據(jù)庫(kù)文件。

在商品的整個(gè)入庫(kù)、出庫(kù)的操作中,數(shù)據(jù)的錄入和刪除將是由系統(tǒng)自動(dòng)完成,免去了人為的操作,大大提高了倉(cāng)庫(kù)管理的效率,減少了人力資源。

2.4 Qt/E用戶界面的設(shè)計(jì)

QT/E即Qt Embedded是挪威Trolletch公司的圖形化界面開(kāi)發(fā)工具。Qt的嵌入式版本,擁有較高的運(yùn)行效率,而且整體采用面向?qū)ο缶幊?,擁有良好的體系架構(gòu)和編程模式。在系統(tǒng)設(shè)計(jì)時(shí),為了使管理人員更好地管理倉(cāng)庫(kù)物品的信息,在開(kāi)發(fā)板上配備了一個(gè)4.2寸的觸摸屏,來(lái)提供良好的UI界面,以便觀察數(shù)據(jù)庫(kù)內(nèi)的存貨信息。

在本設(shè)計(jì)中,選擇QT來(lái)開(kāi)發(fā)UI界面。在主界面中,加入了一個(gè)Table View控件,用來(lái)綁定SQLite數(shù)據(jù)庫(kù)文件rfid_sqlite.db。在開(kāi)發(fā)過(guò)程中,添加頭文件“QSqlDatabase”,這是Qt用來(lái)連接數(shù)據(jù)庫(kù)所必備的頭文件,該頭文件下包含了很多的函數(shù)來(lái)操作數(shù)據(jù)庫(kù),將數(shù)據(jù)信息呈現(xiàn)給用戶。語(yǔ)句QSqlDatabase db=QSqlDatabase::addDatabase(“QSQLITE”),指明了Qt所需要連接的數(shù)據(jù)庫(kù)類型為SQLite,接著再通過(guò) db.setDatabaseName(“rfid_sqlite.db”)來(lái)打開(kāi)鏈接系統(tǒng)所需要的數(shù)據(jù)庫(kù),默認(rèn)路徑為當(dāng)前文件夾,顯示結(jié)果如圖2所示。

 


3 實(shí)現(xiàn)功能

本設(shè)計(jì)的目的是通過(guò)RFID的批量識(shí)別,實(shí)現(xiàn)物流的出庫(kù)、入庫(kù)和分揀流程。通過(guò)服務(wù)器和數(shù)據(jù)中心的文時(shí)數(shù)據(jù)分析和報(bào)表功能,掌握企業(yè)資源的動(dòng)態(tài)變化。本系統(tǒng)中選擇使用固定式的低頻率的讀卡器,來(lái)實(shí)現(xiàn)商品信息的錄入與刪除,模擬了四種不同的商品:A,B,C,D,對(duì)應(yīng)相應(yīng)的商品ID。商品入庫(kù)的時(shí)候,依此把RFID標(biāo)簽放在讀卡器上進(jìn)行刷寫(xiě),終端部分通過(guò)對(duì)串口/dev/ttyrSAC1的實(shí)時(shí)監(jiān)測(cè),當(dāng)數(shù)據(jù)刷寫(xiě)的時(shí)候,在RFID標(biāo)簽ID鑒別的函數(shù)體內(nèi),以ID號(hào)為判別依據(jù),調(diào)用數(shù)據(jù)庫(kù)操作文件sqlite.c中定義好的函數(shù)體sqliteDB_opt_add(char*na me,char*id,int price)錄入商品信息;在商品出庫(kù)時(shí),再次刷寫(xiě)需要出入庫(kù)的RFID標(biāo)簽,系統(tǒng)將自動(dòng)識(shí)別該商品的刷寫(xiě)次數(shù),來(lái)鑒別其操作方式是出庫(kù)還是入庫(kù)。當(dāng)判斷出是第二次刷寫(xiě)時(shí),將調(diào)用函數(shù)體sqliteDB_opt_delete_by_id(char*id),從數(shù)據(jù)庫(kù)中刪除該商品的信息,以達(dá)到數(shù)據(jù)出庫(kù)的操作。標(biāo)簽的首次刷寫(xiě)視為商品的入庫(kù),第二次刷寫(xiě)視為出庫(kù)操作,這一信息的錄入與刪除,用戶可以從UI界面的Table View控件內(nèi)實(shí)時(shí)觀察到。

4 結(jié)論

本設(shè)計(jì)以ARM11微處理器為核心,結(jié)合了Linux操作系統(tǒng)和TX125系列射頻讀卡模塊實(shí)現(xiàn)了智能物流的貨品管理系統(tǒng)。重點(diǎn)實(shí)現(xiàn)了在嵌入式設(shè)備系統(tǒng)中進(jìn)行數(shù)據(jù)庫(kù)的開(kāi)發(fā)以及UI用戶界面等的開(kāi)發(fā)和移植。經(jīng)實(shí)驗(yàn)證明,該系統(tǒng)實(shí)現(xiàn)了物品出庫(kù)和入庫(kù)的管理功能,方便實(shí)用。充分凸顯了RFID技術(shù)在當(dāng)下有著較強(qiáng)的實(shí)用性,更體現(xiàn)了嵌入式系統(tǒng)給日常生活帶來(lái)了的極大便利,為物流行業(yè)帶了很大的收效。本設(shè)計(jì)還有很多需要繼續(xù)完善的地方,如要給每個(gè)物品加上GPS 定位,以實(shí)現(xiàn)客戶和物流公司對(duì)物品流向的監(jiān)測(cè)。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉