摘 要:物联网技术的快速发展和广泛应用,为农产品共享式信息化管理系统的实现提供了技术支持。文章以农产品质量安全为出发点,对农产品全过程管理模式进行探索,基于物联网射频识别技术构建了农产品质量安全管理系统,为监管部门、企业和公众提供一个农产品全过程监管记录、查询和追溯的平台。该平台致力于完善农产品全程监督管理机制,实现农产品质量的可视化和可追溯,有效提升我国农产品管理水平,使农产品的质量安全更加有保障。
关键词:RFID;物联网技术;农产品质量安全;Django
中图分类号:TP311 文献标识码:A 文章编号:2096-4706(2023)17-0160-05
Design and Implementation of an Internet of Things Agricultural Product Quality Safety Management System Based on RFID Technology
TAN Yan
(Suzhou Polytechnic Institute of Agriculture, Suzhou 215008, China)
Abstract: The rapid development and widespread application of Internet of Things technology have provided technical support for the implementation of shared informatization management systems for agricultural products. This paper takes the quality safety of agricultural products as the starting point, explores the entire process management mode of agricultural products, and constructs an agricultural product quality safety management system based on the Internet of Things radio frequency identification technology. It provides a platform for regulatory authorities, enterprises, and the public to record, query, and trace the entire process of agricultural product supervision. This platform is committed to improving the entire process supervision and management mechanism of agricultural products, achieving visualization and traceability of agricultural product quality, effectively improving the management level of agricultural products in China, and making the quality safety of agricultural products more guaranteed.
Keywords: RFID; Internet of Things technology; agricultural product quality safety; Django
0 引 言
近年来,农产品安全事件时有发生,引发了人们对农产品安全问题的极大关注,但目前农产品质量安全监管主体单一,政府监管占据绝对地位,公众受制于知识、手段等困扰,参与较少[1]。农产品质量安全不仅与人民群众的健康息息相关,同时关系着国家农业经济的发展,因此,保障农产品质量安全对于国家的发展尤为重要。2022年9月,十三届全国人大常委会通过了新修订的《农产品质量安全法》,该法案要求确保农产品从生产环节到加工、仓储、消费环节的全过程质量监管。促进农业信息化快速发展,建立真正有效的质量安全追溯体系是现代农业发展的重要方向,也是世界现代农产品和食品生产的发展趋势[2]。
近年来,随着计算机技术、电子技术、通信技术的迅速发展,物联网技术也得到了快速发展和广泛应用,为农产品安全质量监管系统的实现提供了技术保障。借助物联网中的传感器、RFID(射频识别)等信息感知设备,可实现农产品的识别、数据采集、定位、监控和管理。通过构建基于物联网技术的农产品安全管理体系,健全农产品全程监督管理协作机制,实现农产品从田间地头到百姓餐桌的全过程、全链条监管,可以有效提升我国农产品安全管理水平。
1 系统功能需求分析
基于物联网技术构建的农产品质量安全管理系统,将RFID标签作为农产品的唯一标识,对农产品从生产生长到加工、物流和销售、售后等环节进行全过程监管,为用户提供方便快捷的农产品信息记录、查询和追溯的平台。追溯农产品的来源和流动方向,召回问题产品,为政府监管、企业和公众提供农产品信息监管通道和追溯查询便利。
农产品类型多且复杂,质量参差不齐,有些农产品保鲜期短,对储存、运输有较高要求[3],如在生产过程中不合理使用化肥、农药,会导致农药残留、重金属超标和含激素等问题。本文结合农产品的特点,以及流通过程和追溯的实际需求,设计各环节中需要存储的基本数据和关键数据。系统分成前台和后台两个部分,前台为普通用户提供查詢、投诉和追溯等功能;后台为管理员提供数据查询、录入、管理、追溯等功能,实现对农产品各环节关键数据的记录和管理。
1.1 前台功能
系统前台包括首页、相关法律、投诉建议、追溯查询四个页面。首页中设置了导航、管理员登录模块等。“相关法律”页面展示关于农产品安全的法律法规信息。“投诉建议”页面为注册用户提供了投诉问题产品的功能。在“追溯查询”页面中,注册用户可通过输入产品外包装上的流通码,追溯产品流通中各环节的信息。
1.2 后台功能
管理员通过验证后,即可登录到后台界面。后台界面包括了农产品流通的全过程,每个环节对应一个模块,总共包括七个模块,功能结构如图1所示。
在销售前的模块中,生长管理模块主要对农产品生长和生产阶段的相关数据进行管理和操作,该模块授权系统管理员和生长管理员进行访问,用于管理员录入管理基地和地块的相关信息、農产品在生长和生产过程中的施肥和施药信息。加工管理模块对加工环节的相关信息进行管理,该模块授权系统管理员和加工管理员进行访问和操作。物流管理模块对物流环节的相关数据进行记录和管理。销售管理模块主要管理销售阶段的相关数据,而投诉管理模块对前台提交过来的投诉信息进行管理,包括投诉人信息和产品投诉信息。销售后的模块包括追溯管理、投诉管理。追溯管理模块的主要功能是利用产品的流通码或EPC码,对产品从生长到销售各环节信息进行追溯和查询,该模块授权系统管理员和所有类别的管理员进行访问和操作。用户管理模块中,可对所有用户的信息和角色进行操作,仅授权权限最高的系统管理员进行角色分配,包括查看角色、添加角色、删除角色、设置角色、取消角色五种功能。
2 系统设计
农产品质量安全管理系统使用Python 3.7作为开发语言,采用PyCharm软件在Win 10环境下进开发和测试,基于Python 3.10和Django 4.1.3开发框架,联合数据库MySQL Server 5.7进行开发,系统的Web服务器采用Django自带的服务器。
2.1 B/S架构
系统采用B/S(Browser/Server)架构进行开发,B/S架构是一个三层框架,如图2所示,根据“高内聚,低耦合”的原则,将整个业务应用划分为表现层、业务逻辑层、数据访问层。B/S架构模式统一了客户端,客户端只需要安装一个浏览器,即可通过互联网访问Web服务器和数据库,极大地减轻了客户机的性能要求,B/S架构可有效减少系统的开发、维护成本。受疫情和时代发展影响,多地协同办公的分布式办公模式成为一种常态,因此使用B/S架构的系统是一种更优的选择。
2.2 Django框架
农产品质量安全管理系统基于Python语言开发,Python作为一种高级脚本语言,结合了可解释性、可编译性、交互性和面向对象,具有良好的跨平台性[4]。而Django是一种基于Python的开源Web应用框架,同时包含了许多功能强大的第三方插件,可方便快捷地创建高品质、易维护、数据库驱动的Web应用程序,本系统设计采用的是Django 2.2版本。
Django采用MTV(模型-模板-视图)模式来开发应用程序,其中Model指的是数据模型,该层为数据存取层,提供在数据库中管理和查询记录的机制;Template为模板,该层为表现层,用于处理页面的显示,所有与页面呈现相关的内容都由该层处理;View为视图,该层为业务逻辑层,负责接收用户请求,进行业务处理并返回响应,以及调用Model和Template[5]。
2.3 数据库设计
系统采用MySQL数据库来存储数据,MySQL是一个开源、轻量级、应用得非常广泛的数据库管理系统,它具有速度快、跨平台、安全性高等特点。Django框架中集成了ORM(对象-关系-映射),具有强大的数据操作功能,使业务代码更简洁、高效,大大减少开发人员的编码量。
设计并建立农产品质量安全管理系统数据库,首先确定所有数据类型及特征,制定地块编号等表达规范使其与农产品信息唯一对应,然后对数据进行测试、优化与维护[6]。根据系统的功能模块分析,MySQL数据库中主要包括基地信息、地块信息、品类信息、施肥信息、施药信息、加工厂信息等25张数据表。以投诉信息表为例,表结构如表1所示。
3 系统实现
3.1 数据库操作
基于ORM的映射功能,数据模型的操作不需要依赖于SQL语句来操作数据库,通过简单的配置即可连接数据库,通过模板页面进行数据操作内容:
1)在项目配置文件settings.py中配置数据库连接信息。
2)在MySQL中,通过SQL语句创建农产品数据库,名称为produce。
3)在models.py中定义多个模型类,都继承自models.Model,根据数据表的结构,编写模型类的字段名、字段类型和约束。
4)根据模型的定义、字段更改等信息生成迁移文件。
5)使用命令,应用迁移文件,在MySQL数据库完成数据迁移操作。
6)在模板页面中,利用模型类对数据表进行添加、删除、修改、查询等操作。
3.2 前台页面
系统的首页中有前台四个页面的导航,所有用户可以浏览首页上的信息。首页上设置了后台系统的登录入口,登录模块采用用户名和密码的机制进行验证。在界面设计方面,由于前台四个页面的布局、导航和风格完全一致,为了提高代码的可重用性,采用了相同的模板文件layout.html。以投诉页为例,对页面功能的实现进行说明:
1)首先在templaes文件夹下创建complaint.html页面,页面中通过代码{% extends "layout.html" %}继承模板layout.html。利用表格对表单进行布局,设置表单的提交方式为POST。
2)配置路由。修改文件url.py,设置投诉页的URL和视图函数的映射关系。代码为path('complaint/', views.complaint)。
3)修改views.py文件,添加视图函数complaint。该函数的业务逻辑是:首先判断页面的request方法,如果为“GET”,则打开投诉页面,如果为“POST”,则接收表单传递过来的数据,然后操作投诉表模型类Complaint,通过Complaint.objects.create()方法,向表1中的complaint数据表添加一行记录,即可将页面中的投诉信息保存在数据表中。
实现后的投诉页面如图3所示,用户可在该页面中录入问题产品的编码、销售公司、产品品种、购买时间、投诉时间、不良反应、问题描述、投诉人、联系电话等数据。
用户通过点击“追溯查询”导航打开如图4所示追溯查询页面,在搜索框中输入产品外包装上的流通码,点击“查询”按钮,即可查看到对应产品在各流通环节中的公共信息。
3.3 后台页面
后台页面包含了生长管理等七个模块,分别对应了具体的数据操作页面。在界面设计方面,由于后台界面的菜单基本相同,因此创建layout2.html作为后台页面的父模板,所有后台页面都继承自layout2.html。在业务逻辑方面,由于后台模块较多,创建了一个专门存放视图函数的文件夹views,在该文件夹下添加各模块的视图文件。与前台页面的步骤类似,同样在视图函数中通过模型类对数据表添加、修改和删除等操作,查询数据后将数据渲染到对应的模板页面上。
以加工管理模块为例,该模块下设置了加工厂信息页面、进厂信息页面等四个类别页面。实现后的进厂信息页面如图5所示,在该页面中,可对进厂产品的EPC码、加工厂编号、入厂时间、重量、检测结果、责任人等数据进行查询、添加、编辑和删除等操作。同时,页面还设置了搜索功能,输入关键字后,可以筛选得到结果,方便管理员进行数据管理。
追溯管理模块主要通过产品的流通码或EPC码,对产品各环节信息进行追溯和查询,以流通码追溯页面为例,可查看产品的生长信息、加工信息、物流信息、销售信息、投诉信息以及汇总信息六类。实现后的流通码追溯页面如图6所示,在图中文本框内输入某产品流通码,并选择加工信息时,可查询到该产品在流通过程中与加工相关的所有信息,如加工厂名称、入厂检验结果、检验人、出厂日期等。
4 结 论
本文对农产品全过程的信息化管理模式进行了初步探索,构建了一个基于RFID技术的物联网农产品质量安全管理系统,为用户提供了从农产品生长环节到加工、物流和销售、售后等全过程监管的记录、查询和追溯平台,可有效提升农产品质量安全管理水平。经过测试和运行,系统功能完善,界面美观大方,操作快捷方便,在一定程度上为监管部门、企业和公众了解农产品的信息提供了便利。目前,农产品质量安全管理系统的测试数据还不够全面,另一方面,功能模块还可以再进一步扩展,后期将增加测试数据量,细化模块功能,使系统功能更加完善。
参考文献:
[1] 叶耿.构建大数据支撑下的农产品质量安全监管体系研究 [J].工业微生物,2022,52(6):55-66.
[2] 白春艳,刘石鑫,程曉宇,等.农产品和食品质量安全追溯平台研究进展 [J].现代农业科技,2022(19):193-196.
[3] 张馨予.电子商务环境下农产品质量安全监管问题分析 [J].现代食品,2022,28(16):152-154.
[4] 刘艳雯,吴涛,沈彬,等.基于Django的施工数据共享平台设计与实现 [J].现代计算机,2022,28(2):117-120.
[5] 施宸昊.基于Django的水果销售系统设计与实现 [J].丽水学院学报,2022,44(2):16-19.
[6] 谢晓伟,包琦.基于Django与Vue的农产品质量追溯管理平台 [J].电子技术与软件工程,2022(12):246-249.
作者简介:谭彦(1985—),女,汉族,广西桂林人,讲师,硕士,研究方向:计算机应用、物联网。