基于RFID和WiFi的车间工具管理手持机开发
2021-07-16杨光友
杨光友,谢 旺
(1.湖北工业大学 农业机械工程研究设计院,湖北 武汉 430068;2.湖北省农业机械工程研究设计院,湖北 武汉 430068)
0 引 言
合理高效的车间工具管理系统能有效地管理各种工具的使用和出入库,提高工具的利用率。目前,由于大型车间生产所需的工具种类众多以及工作环境的复杂性,导致工具的出入库和盘点等工作变得更加耗时费力,传统的人工管理模式已经不能满足现代车间的需求[1⁃2]。RFID(Radio Frequency Identification)是 一 种 非接触的识别技术,利用无线电信号识别目标对象并获取其中的数据信息[3]。与其他识别技术相比,RFID技术具有识别距离远、抗污损能力强、适应环境能力强等优点[4],使工具可以快速的自动识别,为解决工具管理的诸多问题提供了可能[5]。目前,RFID识别技术已经初步在航空维修[6]、石油钻井[7]、铁路建设[8]和电力系统[9⁃10]的工具管理中得到应用。本文以车间工具管理为背景,提出一种采用RFID和WiFi技术,基于Android的手持机系统设计方案,并介绍了手持机的硬件设计、软件功能模块以及相应程序的设计。
1 基于RFID和WiFi的车间工具管理系统
该系统主要由智能工具柜、RFID手持机、工具标签和无线路由器组成。其总体框架如图1所示。
图1 系统总体框图
1.1 智能工具柜终端的功能
智能工具柜作为整个系统的核心,负责所有标签工具的存取管理和状态的更新。智能工具柜采用多通道的阅读器,同时获取每层抽屉中RFID天线扫描到的标签数据。通过与数据库中的标签数据对比来确定工具柜中所有标签的存取状态并更新。
1.2 RFID手持机移动端的功能
RFID手持机与智能工具柜处于同一局域网下,采用JDBC技术直接访问智能工具柜终端的MySQL数据库,获取柜中缺失工具的标签数据(EPC),并导入到手持机移动端的标签数据库。RFID手持机扫描获取范围内的所有标签数据,并与手持机本地标签数据库的数据进行对比,将匹配成功的标签数据显示到界面上,同时还会根据返回的信号强度值(RSSI)估算标签的位置区域,实现快速查找。
1.3 RFID手持机管理车间工具的优点
车间工具管理系统中,采用RFID手持机的优点主要有以下方面:
1)RFID手持机方便携带,操作人员能随时随地获取工具柜中缺失的标签信息进行就近查找。
2)通过盘点扫描功能,可以实现远距离一次性识别范围内的全部标签,提高工作效率。
3)RFID标签选用抗金属材料,具有较强的抗污损性,能够保证其在复杂工作环境中读取的准确率。
2 RFID手持机的硬件系统
RFID手持机主要由CPU处理器、RFID模块、WiFi模块、蓝牙模块、触控屏模块等组成。手持机系统结构如图2所示。
图2 手持机系统结构图
考虑到需要保证RFID手持机工作过程中软件运行的稳定性,综合比较各处理器的性能和功耗,选用ARMv8⁃A架构的Cortex⁃A53四核处理器,满足Android 6.0系统的运行需求。选用的Wi Fi模块支持IEEE 802.11 a/b/g/n协议和2.4G/5G双频,能保证网络连接和数据传输的稳定性。同时手持机带有USB 2.0 Type⁃C,以支持OTG,以用于软件的调试。
RFID模块的核心引擎采用基于Impinj公司的Indy R2000芯片,该芯片内置了ISO/IEC 18000⁃6C的完整协议处理系统,工作频率为840~960 MHz,适用于全球所有的超高频RFID工作。其中,该芯片专有的自干扰对消(SJC)技术可以让芯片在复杂的工作环境中保持稳定,适合车间的工作环境[11]。最后,该芯片的读卡距离(线极化)>21 m,读卡距离(圆极化,室内)>25 m,能很好满足查找的距离。
3 RFID手持机软件开发
RFID手持机基于Android平台进行软件开发。Android作为一个完全开源的系统,提供了丰富的开发资源。该平台支持GUI开发,能够提供用户良好的交互体验。同时支持SQLite数据库,可用作结构化的数据存储。RFID手持机软件的功能模块图如图3所示。
图3 RFID手持机软件功能模块图
3.1 功能模块
用户管理:主要负责管理用户登录软件的账号信息。账号信息从智能工具柜数据库导入,用户根据在智能柜终端注册的账号和密码进行登录。
扫描功能:扫描获取范围内的标签数据并显示到界面上,还可以通过过滤模式查找指定的标签。读标签是读取指定标签内部的储存信息。
标签管理:主要负责管理从智能柜远程端获取的未入库的标签数据,并实时更新标签的查找状态。
系统设置:设置手持机的工作频率、输出功率等工作参数,并通过用户登录设置软件的操作权限。
数据获取:负责从智能工具柜终端数据库导出标签数据和用户数据到RFID手持机的本地数据库。
3.2 手持机软件开发关键技术
3.2.1 远程数据库访问
JDBC(Java Database Connectivity)是Java语言中用来访问数据库的应用程序接口,提供了查询数据库中数据的方法[12]。Android是基于Java语言开发的,可以通过添加第三方依赖库调用JDBC驱动。本文选用操作系统MySQL数据库测试。
导入依赖库成功后,需要调用Class.for Name(com.mysql.jdbc.Driver)语句来初始化驱动类。调用DriverManager类的getConnection()与智能柜MySql数据库建立连接。最后将获取的数据集保存到本地数据库。该功能的具体流程如图4所示。
图4 数据获取流程图
3.2.2 扫描功能
扫描功能是RFID手持机软件中的核心功能。开发扫描功能时,直接导入手持机的官方SDK里面提供的动态依赖库libDeviceAPI.so,并结合官方说明文档进行二次开发。
1)初始化阅读器
需要调用RFIDWithUHF类实现与RFID阅读器的连接,调用该类中的init_R2000()进行R2000模块的初始 化。然后 调用UHFInit()和UHFOpenAndConnect()实现R2000芯片的连接和打开。
2)单步扫描功能
调用RFIDWithUHF类中仅用于R2000模块的inventorySingleTagWithR2000()进行单步识别并只返回一次标签数据。返回的数据中,索引0为TID信息,索引1为UII,索引2为RSSI,然后将得到的数据进行处理并显示到界面。
3)盘点扫描功能
首先需要启动识别Tag循环功能,调用RFIDWithUHF类的startInventoryTag(),这里仅开启识别循环功能,之后将识别到的数据上传到缓存区,然后调用readTagFromBuffer(),从缓存区依次读出标签数据并进行处理。返回的数据和单步扫描一样,只是可以一次性读取多个标签的数据。
3.2.3 过滤模式:查找指定标签
手持机通过JDBC访问智能工具柜的数据库,导出工具柜中缺失状态的工具标签到本地数据库。采用过滤模式进行单步识别或盘点识别时,会过滤查找本地数据中的标签并显示到界面,实现智能工具柜缺失工具的指定查找。本地数据库采用开源的Android数据库框架LitePal进行管理操作[13]。过滤模式流程图如图5所示,通过扫描获取的标签数据(EPC)与本地标签数据库的数据进行匹配,确定标签的查找状态(“1”表示已找到,“0”表示待查找),然后显示到界面。
图5 过滤模式流程图
3.2.4 RSSI信号强度估算距离
接收的信号强度指示(Received Signal Strength Indication,RSSI)主要用于计算发射者和接收者之间的距离。根据发射点的功率到接收点的功率建立信号强度与距离的衰减模型,但是,由于实际过程受到环境等因素的影响,只能进行距离估算。
R2000模块扫描识别标签时会返回实时的RSSI值,但是,由于RSSI值会受到环境的影响而变得不稳定,需要采集多组数据进行分析计算。
1)数据采集(室内)
每10 cm做一个测量点,每个测量点采集10次RSSI值,设立20个测量点为一组数据。本文设计有7种不同规格大小的标签,需要采集7组数据进行分析。
2)建立衰减模型
对每组的每个测量点的RSSI值进行均值处理,减少环境因素的影响。运用Matlab软件进行多项式拟合(Polynomial),距离为y轴,RSSI值为x轴,分析得到衰减模型。模型拟合曲线图如图6所示。
图6 模型拟合曲线图
扫描标签返回的RSSI会实时转化为距离显示到界面上,以便操作人员对工具的位置进行估计判断。
3.3 软件功能界面程序设计
RIFD手持机的软件基于Android平台进行开发,利用Android平台强大的UI开发功能,为软件各功能模块设计显示界面和实现良好的人机交互。
1)主功能界面显示扫描、读数据、标签管理和用户管理等软件功能模块。如图7所示,该界面以Fragment(碎片)进行软件界面开发,每个功能界面在单独的Fragment中完成设计。采用ActionBar进行各碎片的Tab(标题)设计。然后调用ViewPagerAdapter类中的get PageTitle()方法将Fragment页面和Tab进行匹配,实现点击标题跳转到指定页面功能。
图7 主功能界面示意图
扫描功能界面里面设置4个按钮对识别数据、过滤模式、清空数据和远程导入4个功能进行监听。ListVIEW作为视图框架,将标签数据、RSSI和距离值在List布局中显示。
2)数据导入界面如图8所示,该界面应用PopupWindow弹窗,在弹窗布局中设置多个编辑框来获取远程端的IP地址、数据库名以及管理员账户和密码,实现远程访问数据库功能。
图8 访问远程数据库示意图
3)数据库管理界面如图9所示,该界面添加显示、添加和删除3个按钮对本地数据库的显示和增删进行操作监听,设置2个编辑框用于显示或编辑数据。用List VIEW对数据库中的数据进行显示。
图9 用户数据库示意图
4)用户登录界面如图10所示,该界面设置导入信息和登录2个按钮,分别负责用户账号信息的导入和登录管理。2个编辑框用于用户输入账号和密码信息。
图10 登录界面示意图
4 结 语
本文实现了RFID手持机与智能工具柜终端数据库的直接交互,不需要经过服务器就可以直接获取标签数据,并通过该数据实现对智能工具柜中缺失工具的指定查找,再利用RSSI信号强度数据对工具的位置进行范围估计,缩小查找范围。经测试,该软件运行稳定,识别标签效果理想,实现了对车间工具的快速查找,提高了工具的使用效率,能够对车间工具进行有效管理。