以自主研发的条码溯源电子秤为信息采集基础、以交易信息数据库为管理核心、以手机扫描二维条码为追溯 手段,构建了社区菜店交易管理与追溯系统框架。条码溯源电子秤在集成相关模块的基础上,实现了产品称量、身 份验证、标签打印和数据上传等功能。在突破电子秤数据传输与解析技术、改进包含多条信息的手机扫描二维条 码追溯识别技术的基础上,实现了社区菜店交易管理与追溯系统。通过搭建模拟环境,对连接多台电子秤的数据 传输稳定性、手机扫描二维条码追溯进行了测试。结果表明,无论是实时传输方式还是集中传输方式,其传输成功 率均在99%以上;随着标签中产品数量的增加,不同像素的手机识别速度和识别成功率均存在不同程度的下降趋 势,其中800万像素的手机在识别速度上具有明显优势。
引言
“农民卖菜难”和“居民买菜贵”是目前农产品 流通与销售中面临的主要问题之。通过建立 社区菜店集中组织农产品进社区,对于减少流通环 节、降低流通成本、保障供应、增加便利都有积极作 用,是解决“卖难买难”的有效手段。
质量安全保障是社区菜店深入推广中面临的核 心问题,且社区菜店直接面向终端消费者,提供便利 的质量安全信息查询方式也是提升社区菜店形象的 重要途径。农产品追溯系统是促进生产信息透明 化,提高农产品质量安全,增加农产品市场竞争力的 重要措施3。随着信息与装备技术的不断发展,结 合硬件设备进行信息采集和软件系统进行信息管理 已成为增强追溯能力的有效手段。
与大型超市、农贸市场等经营管理方式不同,社 区菜店由于规模小、人员少、场地有限、流动性大,投 入服务器、计算机、条码打印机等普通硬件设备进行 信息化管理与追溯存在着较大难度,因此迫切需要 占用空间小、操作简便、成本低廉的一体化设备。本 研究以条码溯源电子秤为核心,构建社区菜店交易 信息管理与追溯系统,实现交易信息采集、交易管理 分析、产品质量追溯等功能,探索可推广应用的社区 菜店追溯模式。
1.整体架构
社区菜店交易信息管理与追溯系统以条码溯源 电子秤为信息采集基础,以交易信息数据库为管理 核心,以手机扫描二维条码为追溯手段。整体包括 3层结构,在社区菜店部署条码溯源电子秤,根据店 面大小及交易量确定合适的电子秤数量,实现产品 称量、追溯码打印、交易身份验证等功能,交易的质 量、价格及追溯码信息通过WiFi/GPRS/3G等网络 方式无线传输到社区菜店管理中心;在社区菜店管 理中心部署数据库,将各交易门店上传的数据进行 汇聚,开发交易管理系统,实现电子秤管理、交易门 店管理、交易信息统计等功能,并为追溯提供数据基 础;在消费者端实现产品追溯,开发基于手机扫描二 维条码的应用,可实现直接扫描追溯基本信息和手 机上网追溯详细信息。其应用框架如图1所示。
2.条码溯源电子秤
2.1硬件结构
在充分考虑社区菜店经营规模小、网络基础条 件差、交易时间集中等特征,本文研发了集产品称 量、身份识别、无线数据传输、追溯标签打印于一体的条码溯源电子秤。其硬件结构如图2所示。
基于功耗低、性能稳定、扩展性强的原则,条码 溯源电子秤采用模块化的设计方案。以LPC1766 芯片为硬件核心,称量单元采用梅特勒托利多 MT1401型称量传感器,配合使用电子秤专用的24位 A/D转换芯片HX711 ; RFID模块采用SLRC400 射频芯片,通过串口与LPC1766进行通信;GPS定 位系统采用Gstar GS-216型GPS接收机模块,该接 收器定位精度可以达到10 m; WiFi部分采用 BCM8000模块作为构建实时通信系统的接入设备, 其满足802. 11B/G标准,具备UART、SPI、USB等多 种通信接口,支持STA和AP两种组网模式。
2.2设备功能
条码溯源电子秤在集成相关模块的基础上,实 现了产品称量、身份验证、标签打印和数据上传等功 能。具体功能如下:
产品称量:质量传感器信号经A/D转换生 成质量信息,用户通过PLU (Price look up)预置商品 信息关联产品单价,并自动计算商品总价,完成产品 称量计价。电子秤PLU信息存储在内部存储芯片 当中,通过产品编码与产品名称相关联。PLU信息 的设置通过更新存储芯片中的数据完成。
身份验证:用于交易操作者的验证。每个 RFID卡具有唯一编码,电子秤通过集成RFID读写模块读取该编码。为了完成操作者的身份验证,将 授权的RFID卡的编码与社区菜店店号相关联,并 存储到电子秤程序中。社区菜店店号又与电子秤内 置的IP相关联,电子秤通过判断RFID模块读入的 当前编码是否与电子秤IP相对应,实现用户身份合 法性的验证。验证通过后电子秤进入称量状态。
标签打印:采用超市小票的形式,将每次交 易的一种或多种农产品的名称、单价、数量、总价等 信息打印到标签上,并将每种产品的名称、追溯号及 追溯网址存入二维条码中,通过打印模块将标签打 印出来。追溯标签样例如图3所示。
数据上传:交易完成后,交易信息以数据包 格式通过指定通信方式发送到数据库服务器,实现 交易数据的上传。
3.交易管理系统
3.1电子秤数据传输与解析
电子秤与交易管理系统之间的数据传输采用基 于多线程的 socket 通信技术,电子秤信息管理系统 作为 socket 的服务器端,电子秤作为客户端。
这种 通信方式下,每台电子秤被分配唯一的IP,并与秤 号相关联。多台电子秤同时连接到交易管理系统 时,通过多线程的方式建立连接,采取并行的方式实 现实时通信,保证多台电子秤的真实称量数据互不 干扰。通信数据包括2部分,一是交易管理系统向 电子秤下发的信息,另一部分是电子秤上传交易数 据。交易管理系统每天定时向电子秤下发信息,在 下发操作开始之前,所有电子秤开机进入初始化状 态,等待接收数据。管理员在交易管理系统选择待 更新的电子秤IP,在连接成功后将更新文件下发至 目标电子秤。电子秤成功接收并覆盖原文件后,向 交易管理系统返回成功信息,至此,电子秤数据更新 完成。其流程如图4a所示。
在电子秤上传交易数据阶段,当有任意一台电 子秤与管理系统通信时,即可以建立连接并进行通 信,启动接收程序,同时系统通过数据处理线程对所 接收到的数据进行解析存储等操作。服务器接收数 据包括社区菜店编号、产品名称、交易单价、交易质量、 交易总价、交易时间、传输状态等信息,字段间由逗号 分隔,在进行系统解析时,按照已规定的数据格式对数 据进行拆分、解析、存储操作。其流程如图4b所示。
社区菜店所售农产品的生产、物流等信息通过 课题组前期研发的生产管理系统、物流配送管理系 统等采集。到达社区菜店待销售的每批产品 均有批次号,在参照已有编码并结合实际需求的 基础上,确定批次号由生产企业所在邮政编码、生产企业下属基地流水编码、产品编码和生产日期编码 组成。在每天销售开始之前,将批次号连同PLU信 息通过管理系统下发给电子秤,这些信息保存在电 子秤的内部存储器当中。在交易时,电子秤根据所 选择产品名称调用批次号,获取产地、运输信息,并 将这些信息与当前交易信息融合,生成追溯码,同时 将追溯码与批次号关联,最终通过追溯码即可追溯 出生产、物流等信息。
3.2包含多条信息的手机扫描二维条码追溯识别 改进
由于在社区菜店进行交易时,经常存在一个顾 客购买多种产品的情况,研究中采用超市小票的方 式将追溯二维条码打印到交易小票上,这就存在着 一张交易小票的二维条码中可能存在多种产品的追 溯号。而手机扫描二维条码是实现产品追溯的便捷 方式,课题组前期通过构建“二维条码图像采集一 图像预处理一条码识别一二维条码追溯”流程,实 现了基于智能手机的单品条码追溯。本研究重 点实现单个二维条码中含有多个产品追溯号的扫描 追溯的改进,重点有2步,即在打印条码时采用适当 的分隔符进行不同追溯号的分割、在扫描识别时分 离出单个追溯号进行追溯显示。其中,第2步是重 点,其流程如图5所示。
整个流程从启动摄像头自动对焦开始,在解码 成功后,按打印时的分割规则进行单个追溯号提取, 将提取的多个追溯号在手机界面进行显示,同时显 示产品名,消费者点击某一产品追溯号,系统将追溯 号发送到追溯中央数据库,中央数据库根据追溯号 进行检索,将检索结果发送到手机客户端进行显示。 若要进行下一个产品的追溯查询,则可返回显示所有 追溯号界面,否则整个追溯流程结束。
3.3主要功能
交易管理系统采用C#语言、以Microsoft Visual Studio 2010作为系统设计和开发工具进行开发,统 计分析图形化展示工具采用Anychart图形控件。社 区菜店分布采用百度Map API,结合Ajax及WebService 技术实现系统各功能。核心功能如下:
数据采集。该功能作为直接与电子秤交互 的上位机程序,主要负责接收、分析处理、存储转发 条码溯源电子秤传输的数据。实现对不同社区菜店 所使用的电子秤进行数据的异步接收。
信息查询。系统提供交易实时信息列表、 门店浏览查询。同时,应用百度Map API将企业所 在地理位置信息、所选企业当月当天交易额信息、企 业详细信息等通过地图定位的方式快速直观进行展 示,如图6a所示。
(3)统计分析。用户通过所要统计的地区、门 店、品种及查询时间范围等信息,能够查询到所选条 件约束下的交易价格变化、交易量等统计分析结果。 同时系统提供多种数据格式(包括Word、PDF、Excel 等)的统计结果导出功能,如图6b所示。
产品追溯功能主要是面向消费者提供基于手机 扫描条码的追溯查询,可查询产品信息、交易信息、 产品检测信息等,支持多产品查询和计算机上网查 询详细信息,如图7所示。
该系统采用Java语言开发,在基于Android的 操作系统上运行。在进行条码识别时,首先将条码 内容进行识别,判断是否符合系统规定的数据格式, 若符合即视为由电子秤打印出来的条码,并对条码 内容中多个产品追溯条码进行分割,通过 WebService 方式获取每个条码的产品名称,以列表 的形式展示出来。当用户点击列表中某一产品时系 统则将该产品包括生产企业、产地、生产日期、检测 结果寺的基本彳目息展示出来。
4.系统测试
4.1连接多台电子秤的数据传输稳定性测试
社区菜店分布广,通常情况下,有多台电子秤同 时工作,同时上传数据。为了验证这种模式下的数 据传输稳定性,在实验室用12台电子秤模拟现场交 易环境以及交易频率,进行数据传输丢包率的测试。 社区菜店的高峰交易时间处于06 : 00—09 : 00、 16 :30—19 :30,这2个时间段内的交易频率平均为 4 s/次。
选择两种传输方式进行测试,即实时传输方式 和集中传输方式。实时传输方式,设置电子秤每4 s 发送一次数据,数据直接通过WiFi传输给计算机, 12台电子秤同时使用,大概持续3h。从服务器中 导出该时间段内存储的数据,统计得到所接收到的 数据个数。根据测试用电子秤所发送的频率,计算 在该段时间内,电子秤所发送的实际数据条数,计算 得到数据传输的成功率和丢包率。集中传输方式, 电子秤数据优先保存在本地,即电子秤内部存储芯 片当中,在高峰时间过后,再统一传输到计算机;测 试方案同样选择12台电子秤,进行3 h的模拟交 易,电子秤依次与计算机通过WiFi连接,读取并将 数据传输到计算机。得到的传输结果如表1所示。
由表1可见,无论是实时传输方式还是集中传 输方式,其传输成功率均较高,在99%以上,在集中 传输方式中更有5台电子秤的数据传输成功率达到 100%。尽管数据传输成功率很高,但也存在着一定 的丢包现象,因此,为了保证数据能全部传输成功, 采用2种方式相结合。
4.2手机扫描二维条码追溯测试
对电子秤所生成的带多条信息的条码进行手机 扫描追溯测试,由于手机解析二维条码与摄像头分 辨率密切相关,因此本测试中采用3款像素分别为 300万、500万和800万的手机,3款手机的其他配 置均差异不大;测试内容为包含不同数量产品及追 溯号的识别时间和识别成功率。
测试过程将标签按产品所包含数量分为5组, 分别为包含 1 ~3、4 ~5、6 ~7、8 ~10、11 ~15 个产 品,每组20个标签,每个产品约包含2 ~5个汉字及 20位数字追溯号。标签介质为纸质,二维条码尺寸 为18 mm X 18 mm,手机距离追溯标签约10 cm,每组 测试50次。若在3 s之内条码能被读取到,并将所 有的产品信息及追溯码都显示到系统中,则认为条 码读取成功,设置识别成功率和识别时间2个指标 来衡量测试的效果,识别成功率为识别成功的次数 与总识别次数的比值,识别时间为所有识别成功次数的识别时间的平均值。
由表2可见,随着标签中产品数量的增加,不同 像素的手机均存在识别时间增加和识别成功率下降的趋势。对于300万像素的手机,当二维条码中存 储的产品数量大于6个,其识别成功率就小于 88%,当达到10 ~ 15个时,效果很不理想。对于 500万像素和800万像素的手机,其识别成功率差 异不大,但800万像素的手机其识别时间明显优于 500万像素的手机。
5.结束语
以自主研发的条码溯源电子秤为基础,构建了 社区菜店交易信息管理与追溯系统,实现了基于手 机扫描二维条码的追溯,并进行了系统测试,取得了 较好的测试效果。后期将深入推广应用该系统及模 式,为提高社区菜店的管理效率、增强质量安全信息 获取能力、提升社区菜店质量安全水平奠定基础。