李 川, 劉洲洲, 李美蓉
(西安航空學(xué)院計算機(jī)學(xué)院,西安 710077)
現(xiàn)代物流不僅涉及原料的采購過程,還包括產(chǎn)品制造、銷售過程中的運(yùn)輸、保管等環(huán)節(jié)[1],物流的目標(biāo)是提高經(jīng)濟(jì)效益和運(yùn)行效率、滿足消費(fèi)者的需求。現(xiàn)代物流朝著信息化、自動化、網(wǎng)絡(luò)化、智能化、柔性化、標(biāo)準(zhǔn)化、社會化和共同化的方向發(fā)展[2]。倉儲是現(xiàn)代物流的一個重要環(huán)節(jié),倉儲管理的效率對整個物流效率影響比重很大。如何提升現(xiàn)代物流中倉庫管理水平是近年來一個研究熱點,隨著數(shù)據(jù)庫技術(shù)、互聯(lián)網(wǎng)技術(shù)、物聯(lián)網(wǎng)技術(shù)和人工智能等技術(shù)不斷發(fā)展,利用這些技術(shù)設(shè)計的智能倉庫系統(tǒng)應(yīng)運(yùn)而生。各大物流公司及電子商務(wù)公司都建立了物流系統(tǒng)及智能倉庫,這些系統(tǒng)標(biāo)準(zhǔn)化程度高、構(gòu)建費(fèi)用高,在很多中小型企業(yè)中并不適用[3]。中小型企業(yè)智能倉儲的應(yīng)用需求一般包括:存儲物品的類型、廠商、單價和批次等信息,保證物品數(shù)據(jù)的采集效率和處理精度,及時準(zhǔn)確獲取庫存信息,用戶數(shù)量少但安全性要求高,根據(jù)物品出入庫情況智能調(diào)整物品庫存[4],定期盤點物品庫存,根據(jù)需求進(jìn)行數(shù)據(jù)統(tǒng)計,打印出、入庫單等報表[5]。
針對中小型企業(yè)倉儲應(yīng)用需求,基于數(shù)據(jù)庫、互聯(lián)網(wǎng)、物聯(lián)網(wǎng)和人工智能等技術(shù)設(shè)計智能倉庫系統(tǒng)。系統(tǒng)選用32 bit 系列微控制器芯片(STMicroelectronics32,STM32)單片機(jī)作為核心控制模塊,搭載K210 人臉識別模塊鑒別用戶身份,使用多頻識別卡522 系列(Multi-Frequency Read Card 522,MFRC522)無線射頻身份識別(Radio Frequency Identification,RFID)的物品識別模塊完成物品出入庫管理;物品倉儲信息管理采用結(jié)構(gòu)化查詢語言服務(wù)(Structured Query Language Server,SQL Server)數(shù)據(jù)庫技術(shù),應(yīng)用軟件系統(tǒng)采用C#.NET 技術(shù)設(shè)計窗體應(yīng)用程序,實現(xiàn)用戶管理、物料類型管理、物品管理、庫存盤點、數(shù)據(jù)統(tǒng)計、智能決策和報表打印等功能;硬件平臺通過串口與應(yīng)用系統(tǒng)全雙工通信,通過人體生物特征識別與口令技術(shù)雙重身份認(rèn)證確保系統(tǒng)安全性。
智能倉庫硬件系統(tǒng)主要包括STM32 控制器、MFRC522 物品識別模塊、K210 人臉識別模塊和倉庫門禁電子鎖舵機(jī)等,其結(jié)構(gòu)如圖1 所示。

圖1 智能倉庫硬件系統(tǒng)結(jié)構(gòu)
采用STM32F103C8T6 作為智能倉庫的主控模塊,搭載其他應(yīng)用模塊。該系統(tǒng)結(jié)構(gòu)可分為Cortex-M3 內(nèi)核總線矩陣[6]、直接內(nèi)存讀取(Direct Memory Access,DMA)、先進(jìn)的高性能總線(Advanced High _performance Bus,AHB)、高級外圍總線1(Advanced Peripheral Bus 1,APB1)以及高級外圍總線2(Advanced Peripheral Bus 2,APB2)上掛載的外設(shè)等部分,系統(tǒng)總線分為指令總線和數(shù)據(jù)總線,兩種總線的獨立設(shè)計提升了系統(tǒng)并行效率,具體系統(tǒng)結(jié)構(gòu)如圖2所示。

圖2 STM32F103C8T6系統(tǒng)結(jié)構(gòu)
MFRC522 射頻識別芯片用于智能倉庫系統(tǒng)RFID物品識別,該芯片用于非接觸式讀寫卡,具有集成度高、應(yīng)用面廣等特點[7]。MFRC522 包括發(fā)送和接收,其中發(fā)送利用調(diào)制和解調(diào)的原理,驅(qū)動讀寫器天線與非接觸智能卡通信,可接收非接觸智能卡的應(yīng)答信號并進(jìn)行解碼處理[8]。MFRC522 還包括數(shù)據(jù)幀校驗、奇偶校驗、數(shù)據(jù)加密/解密。另外,MFRC522 包括多個寄存器,用于存儲數(shù)據(jù)及狀態(tài)控制。MFRC522 可相連串行外設(shè)接口(Serial Peripheral Interface,SPI)、集成電路總線(Inter-Integrated Circuit,I2C)和串行通用異步收發(fā)器(Universal Asynchronous Receiver Transmitter,UART)等微控制器接口,具有較強(qiáng)的兼容性,其體系結(jié)構(gòu)如圖3 所示。

圖3 MFRC522體系結(jié)構(gòu)
智能倉庫系統(tǒng)選用SQL Server 作數(shù)據(jù)庫平臺,它是一種關(guān)系型數(shù)據(jù)庫系統(tǒng),與Windows 系統(tǒng)具有良好的兼容性,具有較高性能及安全性[9],常用于客戶機(jī)/服務(wù)器(Client/Server,C/S)結(jié)構(gòu)軟件。SQL Server 提供數(shù)據(jù)定義、數(shù)據(jù)存儲、數(shù)據(jù)操作、事務(wù)管理、數(shù)據(jù)維護(hù)和數(shù)據(jù)安全管理等功能[10]。
.NET是一種技術(shù)平臺,該平臺支持多種語言的運(yùn)行,包括C#語言,選用C#. NET 技術(shù)作為智能倉庫系統(tǒng)的設(shè)計技術(shù)方案,是因為C#. NET 與Windows 系統(tǒng)、SQL Server 數(shù)據(jù)庫都具有良好兼容性,且采用C#.NET 技術(shù)可非常方便、高效地開發(fā)Windows 窗口(Windows Form,WinForm)程序。系統(tǒng)采用SQL Server設(shè)計智能倉儲系統(tǒng)數(shù)據(jù)庫,主要包括用戶表、物品表、物品類型表、入庫表及出庫表,使用C#.NET設(shè)計系統(tǒng)的相關(guān)功能。
系統(tǒng)需進(jìn)行用戶身份鑒別(用戶人臉信息需要提前錄入),身份鑒別成功后開啟倉庫電子鎖,啟動智能倉庫應(yīng)用軟件系統(tǒng),使用用戶口令登錄系統(tǒng),選擇出入庫操作,采用RFID識別物品信息,并將物品信息通過單片機(jī)串口傳輸?shù)杰浖?yīng)用系統(tǒng),系統(tǒng)根據(jù)操作將數(shù)據(jù)保存在SQL Server 數(shù)據(jù)庫,還可根據(jù)需要選擇系統(tǒng)的其他功能,系統(tǒng)的總體流程如圖4 所示。

圖4 系統(tǒng)工作流程
系統(tǒng)采用人體生物特征——人臉識別進(jìn)行用戶身份鑒別,人臉識別采用K210 芯片[11-12],并基于MaixPy對人臉識別過程進(jìn)行優(yōu)化,人臉識別流程如圖5 所示。

圖5 優(yōu)化人臉識別流程
基于口令的用戶身份識別可采用靜態(tài)密碼和動態(tài)驗證碼的方式[13],動態(tài)驗證碼需云平臺支持,考慮到中小型企業(yè)實際情況,系統(tǒng)采用靜態(tài)密碼的方式,具體流程如圖6 所示。

圖6 用戶口令驗證流程
RFID 物品識別使用MFRC522 讀取集成電路(Integrated Circuit,IC)卡信息,該模塊支持串行I2C串口通信和串行UART 通信[14]。要識別的物品上配置M1非接觸式IC卡[15],每張卡上均有32 bit 唯一物品編號(Unit Identity Document,UID),卡內(nèi)存儲器最大容量可以是每一個8 KByte的帶電可擦可編程只讀存儲器(Electrically Erasable Programmable Read Only Memory,EEPROM),MF RC522 與M1卡通信流程如圖7 所示。MFRC522 可讀取M1卡中的物品信息,但需區(qū)分入庫與出庫,才能將讀取的物品信息記錄到應(yīng)用系統(tǒng)指定的數(shù)據(jù)表。通過STM32 及MFRC522 實現(xiàn)物品出入庫流程如圖8 所示。

圖7 MFRC522與M1卡通信流程

圖8 通過STM32及MFRC522實現(xiàn)物品出入庫流程
根據(jù)需求分析,設(shè)計數(shù)據(jù)模型,數(shù)據(jù)模型主要包括實體:用戶、物品、物品類型、出庫單和入庫單等,數(shù)據(jù)模型及聯(lián)系如圖9 所示。

圖9 智能倉庫數(shù)據(jù)模型及聯(lián)系
數(shù)據(jù)物理模型采用SQL Server 數(shù)據(jù)庫存儲,基于C#. NET 平臺設(shè)計WinForm 程序,采用. NET ActiveX數(shù)據(jù)對象(Activex Data Objects. NET,ADO. NET)技術(shù)訪問SQL Server 數(shù)據(jù)庫,通過串口與RFID通信,智能倉庫應(yīng)用系統(tǒng)主要功能包括用戶管理、物品類別管理和物品管理等,功能結(jié)構(gòu)如圖10 所示。
系統(tǒng)測試軟硬件環(huán)境見表1。

表1 智能倉庫系統(tǒng)測試環(huán)境
系統(tǒng)測試的主要功能包括人臉識別、物品識別、物品出入庫、物品管理、物品類型管理、用戶管理、庫存盤點、數(shù)據(jù)統(tǒng)計、智能決策和報表打印,具體測試情況見表2。

表2 系統(tǒng)功能測試
基于數(shù)據(jù)庫、互聯(lián)網(wǎng)、物聯(lián)網(wǎng)和人工智能等技術(shù)設(shè)計智能倉庫系統(tǒng),系統(tǒng)分為硬件和軟件部分,硬件部分利用物聯(lián)網(wǎng)技術(shù)進(jìn)行用戶身份及物品信息識別,采用STM32 單片機(jī)作為智能倉庫主控模塊,搭載人臉識別模塊鑒別用戶身份,RFID 模塊用于物品識別;軟件部分采用SQL Server 數(shù)據(jù)庫系統(tǒng),應(yīng)用軟件系統(tǒng)采用C#.NET技術(shù)設(shè)計Windows 窗體應(yīng)用程序,主要功能包括用戶管理、物品類型管理、物品管理、庫存盤點、數(shù)據(jù)統(tǒng)計、智能決策和報表打印等;硬件平臺通過串口與應(yīng)用系統(tǒng)全雙工通信,通過人體生物特征識別與口令技術(shù)雙重身份認(rèn)證確保系統(tǒng)的安全性。系統(tǒng)通過人臉識別進(jìn)行用戶身份鑒別,身份鑒別成功后開啟倉庫電子鎖,啟動智能倉庫應(yīng)用軟件系統(tǒng),使用用戶口令登錄系統(tǒng),選擇出入庫操作,采用RFID 識別物品信息,并將物品信息通過單片機(jī)串口傳輸?shù)杰浖?yīng)用系統(tǒng),系統(tǒng)根據(jù)操作將數(shù)據(jù)保存在SQL Server 數(shù)據(jù)庫中,另外還可根據(jù)需要選擇系統(tǒng)的其他功能。實驗測試結(jié)果表明,系統(tǒng)設(shè)計方案可行,各項功能正常,安全性較高,雖然物品識別距離有限,未達(dá)到額定范圍,但對功能的正常使用影響不大。系統(tǒng)具有靈活、智能、高效等優(yōu)點,但智能決策模塊在系統(tǒng)期初運(yùn)行時可能因為數(shù)據(jù)樣本小而存在決策結(jié)果偏差,另外系統(tǒng)并不適用大型連鎖倉儲系統(tǒng)。
·名人名言·
實驗上的失敗,可能成為發(fā)現(xiàn)的開端。
——巴甫洛夫