用ARM11和RFID技術打造的智能物流管理系統(tǒng)參考設計
2.3 SQLite對數據的管理
在嵌入式設備上使用的數據庫有很多,比如MySQL。本設計選擇的是更為簡便的數據庫SQLite。本設計中建立的是一個物流商品信息的數據庫系統(tǒng),包含的信息有:商品的名字(char型),商品的ID號(char型)以及商品的價格(int型)。這些信息都將被存放在table merchan dise中。
當代表商品的RFID標簽第一次刷寫讀卡器的時候,系統(tǒng)將根據它的標簽標號,唯一確定它的商品名、商品ID號以及價格,并把這些消息一次性寫入到表 merchandise中。已經存入庫中的商品RFID標簽再次刷寫讀卡器的時候,將作為該商品的出庫操作,系統(tǒng)將自動的刪除該商品在數據庫中的信息。
存數據的管理部分,充分利用SQLite提供的便捷有效的API函數:sqlite3_open(),sqlite3_exec()和sqlite3_close()等,打開和操作數據庫文件。
在商品的整個入庫、出庫的操作中,數據的錄入和刪除將是由系統(tǒng)自動完成,免去了人為的操作,大大提高了倉庫管理的效率,減少了人力資源。
2.4 Qt/E用戶界面的設計
QT/E即Qt Embedded是挪威Trolletch公司的圖形化界面開發(fā)工具。Qt的嵌入式版本,擁有較高的運行效率,而且整體采用面向對象編程,擁有良好的體系架構和編程模式。在系統(tǒng)設計時,為了使管理人員更好地管理倉庫物品的信息,在開發(fā)板上配備了一個4.2寸的觸摸屏,來提供良好的UI界面,以便觀察數據庫內的存貨信息。
在本設計中,選擇QT來開發(fā)UI界面。在主界面中,加入了一個Table View控件,用來綁定SQLite數據庫文件rfid_sqlite.db。在開發(fā)過程中,添加頭文件“QSqlDatabase”,這是Qt用來連接數據庫所必備的頭文件,該頭文件下包含了很多的函數來操作數據庫,將數據信息呈現給用戶。語句QSqlDatabase db=QSqlDatabase::addDatabase(“QSQLITE”),指明了Qt所需要連接的數據庫類型為SQLite,接著再通過 db.setDatabaseName(“rfid_sqlite.db”)來打開鏈接系統(tǒng)所需要的數據庫,默認路徑為當前文件夾,顯示結果如圖2所示。
3 實現功能
本設計的目的是通過RFID的批量識別,實現物流的出庫、入庫和分揀流程。通過服務器和數據中心的文時數據分析和報表功能,掌握企業(yè)資源的動態(tài)變化。本系統(tǒng)中選擇使用固定式的低頻率的讀卡器,來實現商品信息的錄入與刪除,模擬了四種不同的商品:A,B,C,D,對應相應的商品ID。商品入庫的時候,依此把RFID標簽放在讀卡器上進行刷寫,終端部分通過對串口/dev/ttyrSAC1的實時監(jiān)測,當數據刷寫的時候,在RFID標簽ID鑒別的函數體內,以ID號為判別依據,調用數據庫操作文件sqlite.c中定義好的函數體sqliteDB_opt_add(char*na me,char*id,int price)錄入商品信息;在商品出庫時,再次刷寫需要出入庫的RFID標簽,系統(tǒng)將自動識別該商品的刷寫次數,來鑒別其操作方式是出庫還是入庫。當判斷出是第二次刷寫時,將調用函數體sqliteDB_opt_delete_by_id(char*id),從數據庫中刪除該商品的信息,以達到數據出庫的操作。標簽的首次刷寫視為商品的入庫,第二次刷寫視為出庫操作,這一信息的錄入與刪除,用戶可以從UI界面的Table View控件內實時觀察到。
4 結論
本設計以ARM11微處理器為核心,結合了Linux操作系統(tǒng)和TX125系列射頻讀卡模塊實現了智能物流的貨品管理系統(tǒng)。重點實現了在嵌入式設備系統(tǒng)中進行數據庫的開發(fā)以及UI用戶界面等的開發(fā)和移植。經實驗證明,該系統(tǒng)實現了物品出庫和入庫的管理功能,方便實用。充分凸顯了RFID技術在當下有著較強的實用性,更體現了嵌入式系統(tǒng)給日常生活帶來了的極大便利,為物流行業(yè)帶了很大的收效。本設計還有很多需要繼續(xù)完善的地方,如要給每個物品加上GPS 定位,以實現客戶和物流公司對物品流向的監(jiān)測。
評論