基于NFC的农产品移动溯源系统开发与应用

2018-09-10 06:26杨磊肖克辉吴理华周伟辉王琼
南方农业学报 2018年3期
关键词:质量安全农产品

杨磊 肖克辉 吴理华 周伟辉 王琼

摘要:[目的]完成农产品加工包装、运输仓储、销售等环节相关信息的自动采集与处理,克服常见农产品溯源系统缺点,以保障农产品的质量安全,实现从农场到餐桌的农产品信息溯源。[方法]基于手机安卓系统设计并开发客户端,采用安卓系统的应用程序接口(Application programming interface,API)实现近场通讯(Near field communica-tion,NFC)标签的读写,采用android-async-http作为网络请求框架、universal-image-loader作为图片显示框架,Gson作为Json数据序列化和反序列化框架,采用基于位置的服务(Location base service,LBS)实现物流定位和轨迹跟踪;服务器端运用Java Web技术,采用JFinal作为开发框架。[结果]基于NFC开发的农产品移动溯源系统具有用户管理、溯源码读写、打包码绑定、车辆信息录入、仓储信息采集、物流路径跟踪和溯源信息查询等功能,方便涉农企业和仓储人员便捷、快速、高效录入农产品在加工包装、仓储运输及销售等环节的溯源信息,消费者也能够使用具有NFC功能的手机对农产品信息进行查询。[结论]基于NFC的农产品移动溯源系统能够很好地满足涉农企业和公众对农产品信息溯源的需求。

关键词:移动溯源系统;农产品;质量安全;近场通讯(NFC);安卓系统

中图分类号:S126 文献标志码:A 文章编号:2095-1191(2018)03-0612-07

0引言

[研究意义]农产品质量安全是一个关乎国计民生的重要问题。利用互联网技术在农产品生产、加工、物流、仓储及销售等环节上进行信息采集、处理、追踪和溯源以保障农产品的质量安全,是近年来国内外学者重要的研究方向。因此,研发农产品质量安全可追溯系统,建立覆盖农产品初级产品到最终消费品各阶段资料的数据库,不仅有利于保障农产品质量,还能够及时、有效地解决农产品安全问题,最终提高农产品安全水平。[前人研究进展]目前,在农产品追溯系统上采用的技术主要包括条形码技术(杨烈君等,2014;关静,2016)、射频识别(Radiofrequency identification,RFID)(於文刚,2016)、近场通讯(Near field communication,NFC)、无线传感网络(Ko et a1.,2014)、全球定位系统和地理信息系统(Barge et a1.,2017)等。美国、日本及欧盟等国家和地区在农产品安全追溯方面的研究起步较早,大多制定了详细的发展规划,并在立法及政府扶持政策等方面进行了相应的完善和配套(王东亭等,2014;杨信廷等,2014)。我国尚未建立完善的农产品安全可追溯体系,目前的研究主要集中在食品安全个体的标识方法,以及综合利用条形码、RFID和计算机技术等,虽然可以实现一部分食品的安全生产监控和追溯,但在个体标识上未与国际接轨,编码存在局限性(熊本海等,2015;张京京和李志刚,2016)。就溯源系统采用的技术而言,谢菊芳(2005)、陆昌华等(2006)、施亮等(2010)、焦光源和李志刚(2013)、Jakkhupan等(2015)已尝试建立基于RFID的农产品溯源系统;郭建宏和钱莲文(2010)、刘艳朋(2013)研究二维码在农产品溯源上的应用,采用二维码标识农产品;李丹等(2013)采用一维码技术在果品上构建了可追溯系统;Costa等(2013)、Mainetti等(2013)研究了将RFID与NFC结合的大棚蔬菜可追溯系统;孙旭等(2015)、张友桥等(2015)和黄叶珏(2013)研究了基于NFC的农产品可追溯系统,探索NFC读写农产品信息的技术应用。[本研究切入点]目前研究应用中可即时读取的如RFID等标签数据需要专门的读取设备,读取速度也较慢;采用NFC技术的溯源系统基本没有包含农产品物流轨迹跟踪信息追溯,对于农产品物流过程中常规打包拆包等溯源信息的处理也较少涉及。NFC非接触式技术具有传输速率高和能耗低等优点,设计并研发一套基于NFC的农产品移动溯源系统,在完成常规农产品溯源信息处理的同时,能解决农产品物流路径轨迹跟踪及打包拆包等信息采集问题,改进溯源信息存储位置、存储方式和存储权限,提高农产品溯源信息的可靠性、公正性和真实性,且更加方便用户对农产品溯源信息的查询。[拟解决的关键问题]提出基于NFC的农产品移动溯源系统信息模型,并完成NFC标签读写与安卓的底层集成、农产品数据采集、物流路径轨迹跟踪、农产品打包拆包方案融合及移动溯源系统设计与开发,实现消费者可通过移动终端设备快速查询农产品溯源信息,促使农产品溯源系统能真正被用户接受,有效保障农产品的质量和安全。

1技术路线及研究方法

1.1技术路线

1.1.1NFC技术 NFC技术是一种近距离通讯方式,装载了NFC技术的设备可在彼此靠近的情况下进行数据交换,尤其适用于私密信息的传输。NFC定义了标准标签(Tag)类型,根据其协议基础、芯片名称、存储容量、传输速率、成本和安全性等方面的差异可分为4种类型,分别为TYPEl、TYPE2、TYPE3和TYPE4(熊良林,2014)。NFC也提供了私有的Tag類型,这类Tag支持对扇区的加密,访问需要密钥(赵波,2014)。本研究基于安卓的应用程序接口(Appli-cation programming interface,API)进行NFC应用研发,如图1所示。在安卓环境下开发NFC应用涉及以下几个重要对象(Intent):NFC手机作为通信的发起者;NFC Manager可用来管理安卓设备中的所有NFC Adapter;Recorder为NFC forum定义的数据格式;Tag代表一个被动式对象,可代表一个标签、卡片等,当具有NFC功能的手机检测到一个Tag时,会创建一个Tag对象,然后发送到相应的Activity。

1.1.2安卓系统 安卓系统是基于Linux内核的操作系统,由许多开源基础组件集合而成。安卓系统架构从下往上依次为Linux内核层、运行库、应用程序框架层和应用程序层,其分层架构可削减层与层之间的耦合度,增强层与层之间的内聚性,更加体现系统高内聚、低耦合的特征。

1.1.3 LBS LBS可推送个性化的信息或共享使用者的位置信息给其他人(石婷,2014)。本研究主要运用LBS记录农产品运输的轨迹及在溯源信息录入时的实时位置,同时系统集成地图、定位和鹰眼轨迹等农产品溯源信息服务。

1.2研究方法

1.2.1系统功能设计 农产品全过程链溯源是从农产品种植、生产加工、包装物流直到消费者手中的信息采集、处理及查询,包含农产品生产、加工和流通整个流程。本研究设计并研发的溯源系统数据采集界定在加工包装、运输仓储和销售3个环节,不包括农产品生产过程环节,但系统设计了农产品生产信息采集接口,只有符合农产品生产标准要求的涉农企业或农产品生产基地才可加入并使用本平台,以此保证农产品溯源信息的真实可靠性。在加工包装环节,设计溯源码并采集每个单品的溯源码信息;运输仓储阶段设计运输号、记录运输的轨迹;3个环节中操作人员、操作时间、操作地点和备注等信息均需采集。本系统功能主要包括溯源码录入、绑定打包、物流信息跟踪、仓储信息采集、溯源信息查询及用户管理等六大功能模块(图2)。

1.2.2系统整体架构 根据需求选取安卓手机作为NFC的读写设备,并在安卓手机上完成溯源信息的写入和读取;选取Java作为Web后台的开发语言、MySQL作为后台数据库。如图3所示,该系统架构由3部分组成,即JavaM台服务器、商家及消费者安卓客户端,其中,安卓客户端提供农产品溯源标签读写功能。系统以JFinal为服务器端框架,Json作为数据交互的格式,采用Jfinal-api-scaffold对JFinal进行二次封装;根据服务器返回Json的特点,对Android-async-hap和Gson进行集成;设计NFC的读写框架,对安卓的NFC API进行集成和封装,并将安卓与Activity的生命周期结合起来用于系统集成研发。

1.2.3安卓客户端设计 农产品移动溯源系统的客户端分为4个模块,分别是“产品”、“操作”、“查询”和“我的”。“产品”子模块主要用于产品名称、产品号、分类号和产品图片等信息的采集及处理;“操作”子模块主要包括绑定、出库、入库、车辆信息录入和物流运输跟踪等功能。溯源信息采集主要涉及溯源码写入、打包、出库、入库、车辆信息录入和运输操作等6个子模块,子模块均涉及到NFC操作,主要包括NFC标签的读写及处理。本研究为溯源信息设计了编码标准,如溯源码、打包码、出库码和运输码等;对需要生成不重复码的一系列数据主键(字符型)依次拼接,再拼接上操作人员的工号和当前的Unix时间戳及一位随机生成的码,得到一个较长的字符串;对该字符串进行MD5哈希后,获取需要的位数,以快速生成不重复码。打包码生成原理如图4所示,将需要打包的产品溯源码拼接起来,再拼接工号、时间戳、随机数,进行MD5哈希取值,最后得到打包码。

1.2.4客户端定位与轨迹跟踪设计 采用LBS进行农产品溯源轨迹设计,主要包含农产品地图跟踪、农产品定位和鹰眼轨迹等功能。LBS定位的信息更新后写到全局变量中,各功能模块均可读取,运输轨迹跟踪和运输轨迹查询则依赖于鹰眼轨迹和地图。单纯通过记录当前的坐标点绘制轨迹,很容易发生轨迹漂移现象导致轨迹严重失真,甚至无法查看;本系统设计的鹰眼轨迹服务主要基于Java后台服务器的处理,能对轨迹服务采集的点进行降噪修正轨迹,使得轨迹跟踪更加贴近于真实的运输路径。

1.2.5服务器端设计 服务器端包括用户管理、溯源码通信和处理、打包码生成、出入库信息采集及处理等功能模块。用户账户由管理员在后台添加,服务器不保存用户的明文密码,密码经MD5加密后保存在数据库中;溯源码写入发生在客户端选择批次号之后,服务器会传人一个Json数组作为需要写入的溯源码信息,里面包含操作时间、地点、人员、产品种类、批次和溯源码等信息。此外,每个NFC标签的用户身份证明(User identification,UID)与溯源码关联,溯源查询中可根据UID值确认标签是否合法,从而起到一定的防伪作用;打包码可包含包装中所有单品信息,打包码的应用可提高数据采集的效率;服务器会根据通信时码的类别,确定单品溯源码,同时在数据库中增加出入库记录。

2测试结果及应用效果分析

2.1系统的实现

基于NFC的农产品移动溯源系统前端开发采用动态计算方法,根据原型图及设备屏幕尺寸,利用resetWidth和resetHeight进行调整,实现不同设备上的UI适配。NFC读写模块的实现主要分为两个部分:第一部分是NFC的读写控制模块,通过设计了NFC读写的基础代码,并自定义一些回调接口,放在本程序的NFc包中,包括BobNdefMessage、Text-Record、NdefReader、NFCHelper和Wfite~sk等NFC读写控制类及OnNFCTagFounded和OnNFCWrite两个接口;第二部分是上层调用模塊,主要为了避免业务逻辑与底层读写代码耦合和重用Activity生命周期中控制NFC读写的代码,通过调用NFC读写控制模块基础代码,实现NFC读写功能的开启及关闭。

溯源码写入、打包、出库、入库和运输等操作均涉及NFC的读写。溯源系统在实现上继承了BaseN-FCViewActivity,在activity加载的时候,设定NFC的工作模式;重写buildTraceText方法,生成需要写入的数据;重写doNFCTagWriteSuccess并更新用户界面(User interface,UI);重写onReadNfcText,获取读到的文本;修改forceUnWork,控制NFC的开启与关闭。

溯源信息查询只涉及到NFC标签的读取,并不涉及到写入操作。系统在onReadNfcText回调中,取到NFC标签的溯源码和标签UID后,根据这个溯源码和UID查询访问网络接口并获取基本信息、仓储信息、打包信息、运输信息等,接着更新UI。

2.2系统测试结果

本系统接受授权用户的登录,登录结果以Toast(提示框)形式反馈给用户,其主页面有“产品”、“操作”、“查询”和“我的”4个内容(图5和图6)。其中,产品模块显示分类产品及产品缩略图,操作模块包括绑定、入库、出库、车辆信息录入及运输等相关控件。

选择产品批次之后,系统进入NFC写入页面,该页面需要写入溯源码,并通过网络上传写入的溯源码数据(图7)。对农产品进行绑定打包码前,系统首先会读取需要绑定的产品溯源码标签,将具备NFC功能的移动设备贴近打包标签,系统便自动计算出打包码并写入,写入打包码后会自动联网上传数据(图8)。

入库操作能够正确识别打包码标签和产品标签,根据标签种类的不同自动选择不同类别。该模块可录入车辆信息数据,并通过运输标签记录并上传车辆信息数据(图9)。出库操作需首先读取出库所用的车辆的运输标签,然后读取出库货物标签,支持已打包农产品的打包码读取和农产品单品的溯源码读取,系统能自动分别读取标签并联网上传数据(图10)。

车辆运输模块需首先读取本次运输的车辆运输标签(图11)。系统在读取到标签后进人运输跟踪页面,在有网络或开启GPS的情况下,正确获取当前所处的位置,并根据此位置在地图上绘制当前的轨迹(图12),该位置会实时更新,且具有修正功能,能随着采集到数据的增多,实现轨迹的修正偏移功能,对失真点进行除移。

如图13和图14所示,消费者利用移动设备接触农产品上NFC标签,能正确获取农产品的基础信息、打包信息、仓储信息及农产品物流等轨迹路径。基础信息主要包括农产品的分类、产品名、溯源码、地址、批次、检测证明和出厂日期等信息;打包信息针对具有包装的农产品集群,主要包括打包地址、操作类型和打包码等信息;农产品物流轨迹的查询基于手机定位不精准,有可能短时间内位移过大,因此设计了修正偏移功能,消费者可获取修正后的轨迹结果。

本系统能够识别异常的UID标签,通过将数据库中农产品溯源码中的UID信息清空,然后再次贴近NFC标签进行查询,此时则无法获取商品信息,因此能一定程度上起到防伪作用。

2.3应用效果

本系统设计研发完成后进行测试,结果表明,该系统的容错性能较好,用户输入异常数据或进行异常操作,系统会给出提示或内部消化掉,而不会导致系统出错甚至崩溃;系统采用的NFC标签支持读写计数,密钥认证等功能,标签厚度为0.2mm,具有耐磨防水等特性,支持擦写次数为1×105次。

目前,该系统已经在广州绿禾农业科技有限公司得到普及应用,系统所覆盖的农产品已在绿禾缘天河北店、绿禾缘东风东路店及绿禾缘丰乐北路店销售。广州绿禾农业科技有限公司利用本系统的NFC通信和标签读写技术在农产品加工包装、运输仓储和销售等环节建立了数据信息化记录制度,制定了相应的农产品质量安全标准,实现了农产品加工监控、NFC标签识别和移动终端设备网络查询。

此外,该系统的应用提高了企业经营农产品在生产、加工和流通环节的安全性,实现了农产品生产的全程控制,为建立安全农产品生产、流通追溯体制打下基础;同时为消费者提供了便捷的农产品溯源信息查询接口,保障了消费者的权益。自该平台使用以来,用户通过手机应用程序进行农产品信息溯源查询,经过后台对用户查询情况进行分析,发现用户查询农产品生产日期、农产品物流轨迹和农产品资质认定等方面的信息较多,说明消费者较关心农产品的时效性和农产品质量等级相关信息。

3讨论

以往的溯源系统主要应用各种类型的溯源标签,如打印在包装上的产品号、一维码、二维码和RFID标签等,一定程度上存在使用不便的弊端,直接打印的产品号需要手动输入到溯源系统中进行信息查询;RFID不利于消费者进行随时随地的溯源信息查询;一维码和二维码虽然可通过智能手机扫描进行查询,但一般上面记录的均是一个产品号或一个查询网址,需在联网环境下才能进行信息查询,且扫描速度较慢,标签容易被污染导致不能扫码,存储容量较少,不能在生成时动态添加信息。

本系统采用NFC作为溯源标签设计,并实现了标签与终端设备间的数据通信,解决了上述不足之处。目前,NFC已成为智能移动设备的标配,无需专门的读取设备,RNFC的读取速度较条形码扫描速度快,为用户提供了极大便利;NFC可存储小容量的信息,除溯源码信息可写入标签,还能将一些实时信息写入,如标签写入的时间等,消费者在联网查询的详细信息还没加载完成时,可先得到一部分信息,提高了用户的体验感。

对于商家而言,NFC的高速读写还能提高溯源系统信息录入的效率。该溯源系统通过设计溯源码、打包码、出库码和运输码等相关编码标准,解决了农产品数据无重复和便捷输入的问题,实现管理农产品溯源数据便捷化;将打包碼与溯源码关联,解决了农产品物流过程中的打包拆包数据采集及处理的问题;将农产品溯源码与标签UID关联,一定程度上起到了溯源标签的防伪作用。

综上所述,基于NFC研发的农产品移动溯源系统功能齐全、数据安全、自动化程度较高、成本低,可靠性强,该系统已在广州绿禾农业科技有限公司进行初步应用和验证,利用本系统后该企业能够方便高效地采集农产品在加工包装、仓储运输等环节的溯源信息,消费者也能使用具有NFC功能的手机方便地查询农产品信息。

4结论

基于NFC的农产品移动溯源系统能很好地满足涉农企业和公众对农产品信息溯源的需求。

(责任编辑 邓慧灵)

猜你喜欢
质量安全农产品
上半年我国农产品出口3031亿元,同比增长21.7%
各地农产品滞销卖难信息(二)
农产品质量安全追溯系统的混合模式研究
农产品质量安全检验检测体系建设的创新策略分析
我国农产品农药残留的困境
5月上旬重要农产品和农资价格
农产品争奇斗艳