费 娟,罗洁玲,吴海雄
(岭南师范学院,广东 湛江 524048)
水产品是人们日常生活中的重要食品,也是国民经济中不可或缺的一部分。受水体污染等问题的影响,水产品的质量安全备受关注,保护水产品的品质成为当务之急。可追溯技术正在成为保证更安全的食品供应以及联系生产者和消费者的一种有效方法[1]。食品溯源追踪是利用现代信息管理技术给食品贴上唯一的标签,是食品质量安全管理和监督的一项重要技术。它能够实现从源产地到销售方食品分配链的信息透明化,解决了产品在市场流通过程中安全信息不对称、不同步的问题;同时政府职能部门可以通过溯源系统进行监管,降低获取信息的成本,提升监管效率。
基于标签技术的溯源系统通过RFID技术实现水产品从养殖、加工、配送到销售的全程跟踪与追溯。通过RFID读写器把采集信息以文档方式传给后台,在销售处把数据库每个产品的唯一ID进行二维码转换;最终消费者使用小程序扫码溯源时,小程序后台根据扫码获取的唯一ID调用后台接口,并对相关数据进行溯源展示。水产品溯源平台的技术可分为:①基于信息的采集技术,主要是RFID技术和二维码技术;②溯源平台的软件技术,即微信小程序和数据库技术。
射频识别(Radio Frequency Identification, RFID)是指采用非接触方式通过无线射频进行双向数据通信,即利用无线射频方式对电子标签或射频卡进行读写,从而达到识别目标和数据交换的目的。对比传统标签,RFID标签具有耐用性、环境适应性强、防水、可读写、容量大等特点,因此使用RFID标签作为养殖以及运输环节的溯源标签既贴合水产品的生长环境,也可便捷可靠地采集信息[2]。
RFID信息采集系统主要包含电子标签、读写器和计算机主机三部分,如图1所示。电子标签是射频技术的载体,由天线和标签专用芯片组成,每一个标签都有一个专用唯一的编码,从而实现一物一码、一码一扫。RFID的工作原理是:标签进入磁场后,接收解读器发出的射频信号,凭借感应电流所获得的能量发送出存储在芯片中的产品信息;解读器读取信息并解码后,送至中央信息系统进行有关数据处理[3]。
图1 RFID信息采集系统
常见的二维码为QR Code,全称为Quick Response Code,是近几年来移动设备上十分流行的一种编码方式。二维码比传统条形码具有信息容量大、打印尺寸小、扫描速度快、抗损伤能力强、数据可读性好等优点[1],它通过图像处理与编码技术建构新型符号图形来满足自动识别[4]。RFID数据读写需要使用专门的读写器,这限制了消费者随时进行信息溯源。因此,本设计在用户端结合小程序使用了矩阵式二维码作为溯源载体。
小程序的开发框架基于MINA框架,依托Java技术实现。小程序开发主要使用视图层描述语言 WXML、WXSS,并基于JavaScript的逻辑层框架,在视图层与逻辑层间提供了数据传输和事件系统[5]。小程序最大的特点是不需要下载安装即可使用;对比APP,小程序具有占用内存少、使用方便、“用完即走”等优势,用户不用担心安装太多应用的问题。同时小程序是在微信的基础上开发的,自带流量趋势,功能简单便捷[6]。因此,在微信小程序端实现对溯源信息的“即用即查”,可以为用户提供更方便快捷的使用体验。
水产品在出厂包装时,用包装流水线上的RFID读卡器对水产品包装上的RFID标签写入产品信息,包括:产品生产商、类别、数量、出厂日期、到期日期、产地等。这些信息一方面有助于追踪水产品的各类信息,保障食品安全;另一方面,可以降低一次、二次包装和分拣过程中人工操作造成的错误率,缩短水产品的包装及配送时间,降低成本[7]。
基于RFID技术的水产品包装溯源系统分为以下几个部分:RFID射频模块、串口通信模块、小程序用户界面和数据库。RFID射频模块负责对包装流水线上水产品包装的RFID标签进行识别和数据读写,并使用ISO/IEC15693协议进行数据访问操作;通信模块负责读写器和PC机进行串口通信;用户界面负责使用户和软件通过二维码进行人机交互;数据库模块负责水产品的相关溯源信息的存储[8]。系统的总体结构如图2所示。
图2 系统的总体结构
本溯源系统中,通过RFID技术对水产品物流进行动态化和实时管理,可以把水产品生产、加工、配送、销售等信息记录在系统中,方便查询和管理[9]。当消费者扫描水产品的二维码标签时,可以在小程序端直观清晰地看到有关数据信息,做到信息有效追踪。系统的软件设计包括RFID读写模块设计、用户交互小程序设计和数据库管理设计3个部分。
RFID读写模块主要包括:初始化阶段、读写扫描、标签检测识别和标签包装信息读写。在初始化阶段,应用软件打开串口和射频感应场,获取阅读器信息。然后读卡器以3 s间隔轮询搜索运输带上水产品包装标签,如果检测到运输带上存在水产品包装RFID标签且标签空白,则准备写入,读卡器将PC机设置的用户数据写入标签[10]。本设计采用单片机Y801模块作为电子标签的读写器,该模块集成了RFID标签的读写数据功能。通过串口测试软件发送读卡、写卡等命令实现对CPU卡的读写。数据写入时,串口软件会自动写入当前数据的写入时间;当读出数据时,写入的数据及数据写入时间会一起显示。软件将读出的数据保存为txt文件,传送给后台。电子标签读写模块的软件设计流程如图3所示。
图3 RFID读写模块流程
传统的用户溯源方式主要有短信、互联网等方式,这些溯源方式存在极大的不便利性。本设计中采用的小程序具有应用灵活、成本低等特点;二维码能在水平和垂直方向存储文字、数字、图片等信息。在本系统中二维码相当于水产品的身份证,后台数据库根据每一个水产品的RFID标签一一分配固定ID号;根据后台数据库的水产品ID,使用二维码生成器生成相应的二维码;在产品包装过程中,每一个水产品对应一个二维码,一组产品采用大包装并对应RFID标签。当用户终端通过小程序扫描二维码进行溯源时,小程序后台根据扫描的相关信息调取后台数据接口,从而实现溯源功能。
本系统利用SQL语言搭建后台管理平台,主要针对采集到的水产信息进行存储和管理。将RFID读取的数据录入数据库,对每一个品种的水产品根据种苗信息、养殖池信息、物流信息等类别建立不同的数据表。
在系统开发中进行严格的测试是十分必要的。开发者应该为每个模块制定合理的测试计划,以便更好更快地解决问题。该系统设计了详细的测试用例,并对系统后端、信息采集和前端显示等部分进行了测试。
controller收到来自前端的get请求后,返回的JSON截图如图4所示。说明后端运行正常。
图4 controller返回的JSON截图
使用RFID模块进行刷卡读写数据,通过测试软件对数据的写入和读出进行测试,对读出的数据进行导出保存,实现数据采集。保存的数据在指定路径中会生成一个txt文件。
根据图5可知,电子标签已经成功写入,在每次数据写入时会自动保存写入数据的时间,并可以读出保存为txt格式,保存文件名为当前时间。
图5 保存的数据
小程序界面测试主要包括对小程序首页页面、“我的”页面以及水产品详情页面进行真机测试,查看是否达到页面设计的效果。小程序功能测试主要包括扫码溯源功能、用户信息显示、水产品种类的列表详情以及菜谱按钮的动态显示。测试结果如图6、图7所示。除此之外,本系统还对RFID标签进行了可靠性测试。对50张空白RFID标签分别进行了10次测试,每次间隔2 min。结果发现,RFID标签识别和包装信息读写都可正常工作。
图6 小程序溯源显示
图7 小程序详情展示
本文对基于标签技术的溯源系统进行了研究与开发,研究主要使用RFID、二维码、小程序进行数据采集和溯源展示,并将相关数据保存到电脑端的数据库中。使用微信开发者工具实现了小程序溯源系统的页面布局和溯源信息展示。
经实际运行测试,所设计的系统能够正确识别RFID标签并通过小程序完成对产品的溯源显示。用户在使用小程序扫描二维码进行溯源时,可以清晰地查看水产品数据,同时也可了解不同水产品的相关科普资料,方便用户使用。通过此系统可以有效地提升生鲜品包装效率,降低人工错误率,同时为水产品的质量安全提供保障。