首页 > 范文大全 > 正文

食品安全智能追溯系统设计与实现

开篇:润墨网以专业的文秘视角,为您筛选了一篇食品安全智能追溯系统设计与实现范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

【 摘 要 】 食品安全智能追溯系统的设计目的是应用信息技术对食品生产过程中原料采购、运输、及加工、存储状况进行实时数据采集、分析和反应。为食品安全的科学监控提供高效的信息技术支持。本文主要从硬件采购、安装,软件设计及安装调试几个方向对食品安全智能追溯系统进行说明,对设计核心部分进行必要的讲解。

【 关键词 】 实时监控;Zigbee;传感器

Food Safety Traceability System Design And Implementation

Tan Chao Ye Yong-jian Liu Chun-mei

(Xiamen Huatian International Vocational Institute Computer And Electronic Engineering College FujianXiamen 361102)

【 Abstract 】 The purpose of this system design is the application of information technology on food production in the process of raw material procurement, transportation, and real-time data acquisition, analysis, processing, storage conditions and reaction. For information on the science of food safety monitoring to provide efficient technical support. This article mainly from the hardware procurement, installation, software design a few direction of food safety traceability system, the design of the core part of the necessary explanation.

【 Keywords 】 real-time monitoring; zigbee; the sensor

1 引言

食品安全问题是一个关系民生的大问题。论文从不同层面阐述系统的设计与实现,希望能为食品安全问题提供一些理论依据的可能。

2 硬件采购及安装

2.1 硬件采购原则

由于该系统为多网联合,所以各种不同操作系统的设备、终端或单片机需要通过有线或无线网络进行连接,通过中控系统进行协调。因此首先需要采购运行中控系统的服务器,该服务器要求能够稳定接受传感器网络节点的数据,甚至稳定吞吐视频类大数据。服务器在接受数据的同时能实时进行分析,并根据分析结果及时发出响应指令。因为各种终端和移动设备差异较大,因此网络必定为复杂网络,包含常见的有线网络通信、WiFi通信和Zigbee网络节点通信。因此需要采购中心交换机、无线AP以及多个Zigbee套件。

影音采集设备使用IP探头,必须采购支持二次编程的探头才能满足系统需求,因为该系统需要对探头采集的数据进行实时分析,就必定需要对探头进行控制。在厂区使用的手持终端可以通过WiFi连接网络,因此需要采购带有无线网卡的设备终端,如果需要执行外勤的则需要扩展移动或电信版的系统终端,此类设备涉及到入网许可等权限,价格会较WiFi版高。

传感器分为生产安全的常用传感器和食品检测的特定传感器。生产安全的常用传感器包括烟雾、火焰、有害气体等传感器。用于食品检测的根据检测对象选用相应的采集器,常见的采集器一般检测有机磷和氨基甲酸酯类农药残留、亚硝酸盐、重金属、甲醛、二氧化硫和吊白块等六大项目。如果是农场品则需要检查农药残留。检测腌制食品及肉制品需要采集亚硝酸盐、硝酸盐的含量。检测冰鲜类水产及其干制品则是采集甲醛含量;干货制品及药材类检测二氧化硫。米、面和豆制品就检测吊白块。

因为采购的大部分终端都可能采用串口通信,因此需要串口服务器及U转串等设备的支持。

2.2 安装原则

因为部分设备需要采用有线连接,而我们的部分终端需要架设到车间,所以走线需要注意不要影响到正常的工序,同时因食品加工的特殊性,需要特别注意防潮。

3 软件设计部分

中控端需要负责所有的终端连接通信和数据分析,采用.NET技术进行设计。和Android端通信采用Web服务方法,该部分主要针对数据采集和应急指令进行说明。

终端要接入网络多采用串口,因此我们的中控系统首先需要连接到串口服务器。针对设备连接串口,需区别串口号,最好根据采集终端对串口进行重命名。例如对硫化物的检测,可通过以下方法进行:

objZigbee = new Zigbee("Com1",38400); //分配ZIgbee对象

//增加数据接收事件

objZigbee.DataReceive += new EventHandler<ZigbeeDataReceiveEventArgs>(Zigbee_DataReceived);

objZigbee.Conn(); //连接

这里要注意终端通信频率,上面的方法可以创建读取数据的进程。而读取方法如下:

private void Zigbee_DataReceived(object sender, ZigbeeDataReceiveEventArgs e)

{

this.Invoke(new Action(() =>

{

double s_content = e.s;

if(s_content>=100)//如果检测到硫含量超过0.1%

{

objZigbee.SetControl(6,1); //继电器序号6,1:打开,继电器序号6,2:关闭

}

}));

}

这里的6号继电器控制警报。此类数据采集比较标准,一般不会出现误差,可以直接发出警报或纠错指令。而对于一些可能出现误判的特征匹配,我们可以通过消息发送的方式message.send("13695020436 ", "数据采集于"+ DateTime.Now.ToString()+"读取到异常数据,硫含量为:"+s_content+ "毫克,请于10分钟内发送相应指令")取代上面代码中的objZigbee.SetControl(6,1);这里就可以加入一个Thread.Sleep(10*60*1000)暂停执行警报,如果负责人未发回指令,则10分钟开启警报。

移动终端发送指令的办法如下:

final String SERVER_URL = "http://192.168.6.100/Service.asmx";

String soapAction = "http:///OpenOrClose";//OpenOrClose 命名空间/方法名

SoapObject request = new SoapObject("http:///", "OpenOrClose");

request.addProperty("oc","打开");

request.addProperty("us",t1.getText().toString().trim());

request.addProperty("pwd",t2.getText().toString().trim());//生成调用web service方法的soap请求消息

SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);

envelope.dotNet = true; //设置.net web service

envelope.setOutputSoapObject(request);//发送请求

HttpTransportSE androidHttpTransport = new HttpTransportSE(SERVER_URL);

androidHttpTransport.call(soapAction, envelope);

Object result = (Object) envelope.getResponse();

4 结束语

本文仅对应用最多的采集类型、分析和通信方法进行介绍,对于常见的数据采集和条码、二维码打印识别等就不再累述了。

参考文献

[1] 吴琼. 基于博弈分析的食品安全规制研究[D].苏州大学: 苏州大学,2010.

[2] 游小明. 新型云计算服务器的设计与实现[J].计算机工程, 2011, 37(11): 40-42.

作者简介:

谭超(1982-),男,四川荣县人,硕士,讲师,信息系统项目管理师,软件设计师;主要研究方向和关注领域:物联网、移动互联网应用。

叶勇健 (1983-),男,福建顺昌人,硕士,讲师,网络工程师;主要研究方向和关注领域:软件技术、网络应用。