基于S3C2440處理器Linux平臺(tái)的物流配送系統(tǒng)設(shè)計(jì)
RFID模塊主要負(fù)責(zé)對(duì)當(dāng)前物流載體的數(shù)據(jù)采集,以獲得RFID定位信息,并將采集到的RFID信息通過藍(lán)牙模塊傳輸給S3C2440。GPS模塊根據(jù)衛(wèi)星定位獲得當(dāng)前位置信息,同樣通過藍(lán)牙模塊進(jìn)行傳輸(如距離比較近,也可以有線傳輸)。CellID模塊主要通過無(wú)線數(shù)據(jù)傳輸獲得定位信息,然后通過GPRS模塊傳輸給中心控制器。LCD模塊主要提供人機(jī)交互的功能,除了顯示屏外還需配備鍵盤等輸入設(shè)備,或者直接采用液晶屏。存儲(chǔ)器模塊除了擴(kuò)展的片外RAM外,還需給嵌入式數(shù)據(jù)庫(kù)提供一定的存儲(chǔ)空間。
2.4 軟件設(shè)計(jì)
2.4.1 軟件總體設(shè)計(jì)
如圖4所示,按照功能可以將軟件分為以下4部分。
圖4 軟件總體設(shè)計(jì)圖
① 用戶界面。要實(shí)現(xiàn)一個(gè)友好的用戶界面,以便用戶在S3C2440 LCD屏上直觀地獲得圖文并茂的信息,以及選擇服務(wù)功能和輸入信息。
② 地圖數(shù)據(jù)處理。主要實(shí)現(xiàn)電子地圖的數(shù)據(jù)組織、地圖顯示、地圖標(biāo)圖功能、定位導(dǎo)航功能,便于用戶使用地理信息的服務(wù)功能。終端處理的數(shù)據(jù)包括GPS數(shù)據(jù)、GIS數(shù)據(jù)、文本數(shù)據(jù)、多媒體數(shù)據(jù)。
③ GPS通信模塊。S3C2440模塊通過藍(lán)牙與GPS模塊相連接,對(duì)接收到的GPS數(shù)據(jù)進(jìn)行處理,才能得到所需要的定位信息(比如經(jīng)緯度數(shù)據(jù)等)。利用籃牙進(jìn)行串口通信的編程,包括打開串口、配置串口、發(fā)送接收數(shù)據(jù)、關(guān)閉串口4個(gè)步驟。
④ GPRS通信模塊。利用GPRS無(wú)線物流在S3C2440和控制中心之間進(jìn)行雙向通信。本文采用Web Service的方式來(lái)進(jìn)行。
2.4.2 GPS與RFID數(shù)據(jù)提取
GPS接收機(jī)只要處于工作狀態(tài),就會(huì)源源不斷地把接收并計(jì)算出的GPS導(dǎo)航定位信息通過串口傳送到計(jì)算機(jī)中。從串口接收數(shù)據(jù)后將其放置于緩存內(nèi),在沒有進(jìn)一步處理之前緩存中是一長(zhǎng)串字節(jié)流,這些信息在沒有經(jīng)過分類提取之前是無(wú)法加以利用的。因此,必須通過程序?qū)⒏鱾€(gè)字段的信息從緩存字節(jié)流中提取出來(lái),將其轉(zhuǎn)化成有實(shí)際意義的、可供使用的定位信息數(shù)據(jù)。例如,“$GPRMC”幀結(jié)構(gòu)的1、2、3、5、9段是我們需要得到的數(shù)據(jù),分別是時(shí)間、數(shù)據(jù)的可信度、緯度、經(jīng)度、日期。從“$GPRMC”幀中獲取定位數(shù)據(jù)的代碼如下:
for(int i=0;iDATALENGTH;i++){
if(Data[i]=$)//幀頭,SectionID為逗號(hào)計(jì)數(shù)器
SeetionID=0;
if(Data[i]==10)//幀尾
if(Data[i]=,)//逗號(hào)計(jì)數(shù)
SectionIiD++;
else{
switch(SeotionID){
case1: //提取出時(shí)間
m_sTime+=Data[i];
break;
case2: //判斷數(shù)據(jù)是否可信(GPS天線至少接收到3顆GPS衛(wèi)星時(shí)為A,可信)
if(Data[i]==A)
GPSParam[m_nNumberl].m_bVaIid=true;
break;
case3: //提取出緯度
m_sPositionY+=Data[i];
break;
case5: //提取出經(jīng)度
m_PositionX+=Data[i];
break;
case9://提取出日期
m_Date+二Data[i];
break;
default:
break;
}
}
}
RFID模塊通過串口將信息傳輸至移動(dòng)終端,信息傳輸流程如圖5所示。當(dāng)接收緩沖區(qū)內(nèi)字節(jié)個(gè)數(shù)達(dá)到或者超過該值后就取出數(shù)據(jù)并對(duì)相應(yīng)事件進(jìn)行處理。程序設(shè)計(jì)的主要任務(wù)是:讀出標(biāo)簽ID信息(讀ID命令);向標(biāo)簽寫入存放在數(shù)據(jù)庫(kù)中的數(shù)據(jù)信息(寫信息);讀取標(biāo)簽中寫入的數(shù)據(jù)信息,查詢數(shù)據(jù)庫(kù)以得到具體的產(chǎn)品信息(讀信息);實(shí)時(shí)顯示讀標(biāo)簽信息的結(jié)果。
評(píng)論