基于嵌入式的物流管理無線PDA終端系統(tǒng)
科技的發(fā)展帶來了物流業(yè)的巨大變化,從機械化向自動化、智能化發(fā)展。我國物流業(yè)起步較晚,目前還處于人工管理或半自動管理狀態(tài),效率不高。隨著物流業(yè)的發(fā)展,倉儲規(guī)模不斷擴大,貨物種類不斷增多,帶來一系列連鎖反應(yīng),導(dǎo)致傳統(tǒng)的物流業(yè)日漸吃力。
設(shè)計將嵌入式擴展技術(shù)系統(tǒng)應(yīng)用于物流控制領(lǐng)域,采用嵌入式處理器以及豐富的外圍擴展接口,用液晶觸摸屏顯示貨物信息,實現(xiàn)了人機交互。結(jié)合條碼采集器,實現(xiàn)實時實地采集數(shù)據(jù)信息,并通過無線傳輸實時連接服務(wù)器數(shù)據(jù)庫;實現(xiàn)的功能有:貨物實時出入庫;實時查詢貨物信息及時調(diào)度;簡便快捷、避免人為錯誤、精簡人力、管理庫存、縮短繁雜程序、節(jié)省時間、提高服務(wù)質(zhì)量等。
系統(tǒng)實現(xiàn)了一個倉儲物流管理系統(tǒng),由上位機程序、單片機、無線通信模塊、PDA終端組成。上位機程序具有登錄、系統(tǒng)設(shè)置、個人信息修改、入庫登記、入庫瀏覽、出庫登記、出庫瀏覽、庫存登記、庫存瀏覽和查詢等功能。
同時PDA終端具有登錄、入庫、出庫、查詢的功能。貨物、管理員及存貨人信息全部通過條形碼掃描儀錄入PDA終端。通過觸摸屏進行人機交互。PDA終端通過無線通信模塊與上位機進行必要的數(shù)據(jù)交互。
1 系統(tǒng)組成
系統(tǒng)由PC、MSP430單片機、RF24L01無線模塊、ARM處理器、觸摸屏、SD卡、條形碼掃描儀組成,如圖1所示。
2 PC上位機軟硬件設(shè)計
2.1 上位機軟件設(shè)計概述
系統(tǒng)應(yīng)用于倉庫的物流管理,需要較好的應(yīng)用程序界面,同時需要滿足跨平臺的要求,因而使用C#程序設(shè)計語言和Access數(shù)據(jù)庫,在Visual Studio 2010下使用.NET開發(fā)環(huán)境完成上位機程序及數(shù)據(jù)庫的設(shè)計。.NET環(huán)境具有良好的跨平臺性和優(yōu)秀的GUI界面交互能力。
上位機軟件主要實現(xiàn)的功能是組織和保存數(shù)據(jù)庫。系統(tǒng)管理員進行系統(tǒng)管理、個人信息修改、出庫、入庫、查詢以及處理PDA通過無線發(fā)送的處理請求。
2.2 上位機軟件總體架構(gòu)
首先管理員登錄進入主界面,創(chuàng)建系統(tǒng)操作主線程。在本機可以實現(xiàn)系統(tǒng)沒置、個人信息更改、查詢、出庫、入庫和瀏覽等功能。同時創(chuàng)建副線程上,實現(xiàn)和MSP430的串口通信處理PDA發(fā)來的處理請求,和主線程的數(shù)據(jù)交互使用事件和委托技術(shù)。使用多線程可以避免處理下位機請求時造成GUI失去響應(yīng)。軟件架構(gòu)如圖2所示。
2.3 上位機通信程序模塊
上位機通過配置計算機串口,接收和發(fā)送單片機數(shù)據(jù)和請求。通過多線程和事件委托技術(shù)實現(xiàn)數(shù)據(jù)交互。
當(dāng)串口收到單片機數(shù)據(jù)時,會在副線程引發(fā)事件,然后剮線程通過委托函數(shù),將數(shù)據(jù)交給主線程處理,從而實現(xiàn)了PDA終端的登錄、入庫、出庫、查詢的請求,并通過串口將處理的結(jié)果發(fā)送給單片機,實現(xiàn)流程如圖3所示。
2.4 上位機操作模塊
上位機也可以實現(xiàn)系統(tǒng)管理、個人信息修改、出庫、入庫、查詢及瀏覽的功能。這是在主線程上接收用戶的操作,引發(fā)事件,從而執(zhí)行相應(yīng)的響應(yīng)函數(shù)。
2.5 系統(tǒng)數(shù)據(jù)庫設(shè)計
系統(tǒng)數(shù)據(jù)庫分為兩部分;數(shù)據(jù)庫使用Access數(shù)據(jù)庫;驅(qū)動使用ADO.NET。
一是管理員表,字段有用戶名“ID”,用戶密碼“PWD”,用戶角色“RoleName”,用戶真實名“RealName”,用戶聯(lián)系方式“Phon e”。主鍵為用戶“ID”。
二是貨物信息表單,字段有入庫編號“InID”,貨物條碼“MID”,入庫時間“InDate”,送存人“InDealer”,入庫管理員“InSav er”,備注“Remark”,出庫日期“OutDate”,領(lǐng)取人“OutDealer”,出庫管理員“OutSaver”,庫存狀態(tài)“IsOut”。主鍵為“InID”。
2.6 單片機軟件流程
單片機軟件主要有兩個功能:一是實現(xiàn)無線模塊RF24L01的發(fā)送和接收;二是實現(xiàn)和上位機的通信,框圖如圖5所示。
3 PDA端軟硬件設(shè)計
3.1 PDA端設(shè)計概述
PDA端以S3C6410高性能嵌入式處理器為核心硬件平臺,以嵌入式Linux為操作系統(tǒng)。終端系統(tǒng)采用“硬件平臺+嵌入式操作系統(tǒng)+應(yīng)用軟件”的系統(tǒng)架構(gòu)來設(shè)計。硬件平臺以s3c6410為核心,采用核心板加主板的設(shè)計方式,并輔以必要的外圍電路。軟件部分包括嵌入式操作系統(tǒng)和驅(qū)動、應(yīng)用軟件。采用模塊化的設(shè)計,GUI界面采用QT/E進行設(shè)計,實現(xiàn)了3D效果。應(yīng)用軟件將條形碼掃描槍得到的數(shù)據(jù)處理后,通過無線模塊與上位機進行數(shù)據(jù)交互,完成操作員登錄、貨物入庫、出庫、查詢等功能。圖6為PDA端簡單的軟硬件框圖。
3.2 軟件設(shè)計
系統(tǒng)選用Linux操作系統(tǒng)的原因是其在嵌入式方面有著低成本、易移植、內(nèi)核可裁剪、穩(wěn)定高效等優(yōu)勢。
設(shè)計采用Linux2.6.36.2的內(nèi)核,調(diào)試階段使用NFS(網(wǎng)絡(luò)文件系統(tǒng))方便調(diào)試,調(diào)試結(jié)束使用cramfs的形式將文件系統(tǒng)燒錄到NAND Flash中。GUI界面使用嵌入式QT平臺進行編寫。
PDA端的軟件設(shè)計主要包括QT應(yīng)用程序,C語言程序和內(nèi)核模塊3個層面。內(nèi)核模塊程序主要是對ARM開發(fā)板GPIO口的驅(qū)動,實現(xiàn)了對GPIO口12個引腳的讀寫操作的封裝。C語言程序使用交叉編譯工具arm-linux-gcc編譯,通過調(diào)用內(nèi)核模塊中的內(nèi)容,實現(xiàn)了條形碼掃描槍和nRF24L01無線模塊的驅(qū)動,以供QT應(yīng)用程序調(diào)用。QT應(yīng)用程序通過外部調(diào)用相應(yīng)的C語言程序,實現(xiàn)了對條形碼掃描槍和nRF24L01無線模塊兩個模塊的控制。并使用3D的主界面實現(xiàn)與用戶的交互。系統(tǒng)工作流程圖如圖7所示。
3.3 硬件驅(qū)動設(shè)計
系統(tǒng)的硬件驅(qū)動主要包括nRF24L01無線模塊和條形碼掃描槍兩個部分:條形碼掃描槍使用PS/2協(xié)議,通過ARM開發(fā)板的GPIO口實現(xiàn)與ARM處理器的交互;nRF24L01使用SPI協(xié)議,通過ARM開發(fā)板的GPIO口實現(xiàn)與ARM處理器的交互。通過與上位機協(xié)定好的通信格式,實現(xiàn)與上位機的通訊。
4 結(jié)束語
系統(tǒng)采用嵌入式ARM處理器,功能強大、外圍借口豐富,可實現(xiàn)多種功能,并有無線收發(fā)模塊,可以實現(xiàn)采集信息在PDA端和主機之間的交換,實時查詢貨物信息,方便數(shù)據(jù)處理。嵌入式移動無線PDA終端的誕生改進了物流盤點的繁雜程度和數(shù)據(jù)的實時性,使調(diào)度和管理更加精確。將條碼掃描儀與移動PDA的巧妙結(jié)合,實現(xiàn)了集數(shù)據(jù)采集、數(shù)據(jù)處理、數(shù)據(jù)顯示、數(shù)據(jù)修改等功能于一體的移動終端。與其他設(shè)備相比較,具有面向物流、簡便、小巧的特性,功能強大,可以隨時隨地采集數(shù)據(jù)、傳輸數(shù)據(jù)、查詢數(shù)據(jù),使物流數(shù)據(jù)實時化、調(diào)度及時、錯誤減少、人力物力遞減。