2.4 Qt/E用户界面的设计
QT/E即Qt Embedded是挪威Trolletch公司的图形化界面开发工具。Qt的嵌入式版本,拥有较高的运行效率,而且整体采用面向对象编程,拥有良好的体系架构和编程模式。在系统设计时,为了使管理人员更好地管理仓库物品的信息,在开发板上配备了一个4.2寸的触摸屏,来提供良好的UI界面,以便观察数据库内的存货信息。
在本设计中,选择QT来开发UI界面。在主界面中,加入了一个Table View控件,用来绑定SQLite数据库文件rfid_sqlite.db。在开发过程中,添加头文件“QSqlDatabase”,这是Qt用来连接数据库所必备的头文件,该头文件下包含了很多的函数来操作数据库,将数据信息呈现给用户。语句QSqlDatabase db=QSqlDatabase::addDatabase(“QSQLITE”),指明了Qt所需要连接的数据库类型为SQLite,接着再通过db.setDatabaseName(“rfid_sqlite.db”)来打开链接系统所需要的数据库,默认路径为当前文件夹,显示结果如图2所示。
3 实现功能
本设计的目的是通过RFID的批量识别,实现物流的出库、入库和分拣流程。通过服务器和数据中心的文时数据分析和报表功能,掌握企业资源的动态变化。本系统中选择使用固定式的低频率的读卡器,来实现商品信息的录入与删除,模拟了四种不同的商品:A,B,C,D,对应相应的商品ID。商品入库的时候,依此把RFID标签放在读卡器上进行刷写,终端部分通过对串口/dev/ttyrSAC1的实时监测,当数据刷写的时候,在RFID标签ID鉴别的函数体内,以ID号为判别依据,调用数据库操作文件sqlite.c中定义好的函数体sqliteDB_opt_add(char*na me,char*id,int price)录入商品信息;在商品出库时,再次刷写需要出入库的RFID标签,系统将自动识别该商品的刷写次数,来鉴别其操作方式是出库还是入库。当判断出是第二次刷写时,将调用函数体sqliteDB_opt_delete_by_id(char*id),从数据库中删除该商品的信息,以达到数据出库的操作。标签的首次刷写视为商品的入库,第二次刷写视为出库操作,这一信息的录入与删除,用户可以从UI界面的Table View控件内实时观察到。