1 RFID 与 WSN 结合的养殖信息溯源方案
1.1 溯源数据结构设计
奶牛养殖溯源是在信息系统支持下,准确、快速查 询和监控奶牛养殖生命周期内活动的有效机制。依据农 业部第 67号文件《畜禽标识和养殖档案管理办法》中对畜禽养殖档案的记载要求,设计了奶牛养殖溯源系统数 据结构如图 1所示。
养殖数据传输到溯源中心以记录的 形式存入数据库,溯源数据结构主要包括 5个追溯单元 模块,提供从奶牛入场、日常饲喂、病疫及用药,直到离场整个养殖环节记录的追溯查询。模块设计成表格形 式存储在数据库,表中记录反映牛只不同时期的养殖状 况。数据提交模块实现采集数据的校验和初步处理功能, 最终以记录形式存入对应模块表。信息记录显示模块可以对奶牛养殖记录进行检索和查询,并以指定形式展示 给查询用户。
1.2 溯源信息采集与传输流程
基于 RFID与 WSN相结合的奶牛养殖信息溯源方 案,其信息采集与传输流程如图 2所示。在奶牛入场检 验合格后为其制作电子耳标,射频写入编号、品种、出生日期等信息建立养殖档案。
日常饲养过程用手持读写 器采集饲喂、病疫、繁殖等数据信息,通过基于 Zigbee的 WSN网络传输到溯源数据中心。用户追溯通过奶牛编 号检索养殖环节所有信息,若某一环节出现问题,如饲喂环节便可溯源到当值饲养员、饲料品牌、产地来源等 信息,从而完成养殖信息采集、传输与追溯的整个流程。
该方案通过手持读写器高效快捷的采集养殖信息, 数据被无缝隙传输至数据中心,实现溯源记录的实时动 态更新,能够很好解决数据采集与传输分离问题。利用 实时在线的 WSN网络,饲养员可利用读写器查询奶牛繁殖、检验、免疫等信息,实现智能提醒功能。
2 RFID 与 WSN 结合的关键技术分析
将RFID 与 WSN 结合实现养殖数据的采集与传输,需要解决网络体系架构和通信协议转换 2个关键技术。
2.1 网络体系设计
2.1.1 网络体系架构
RFID 是一种利用射频信号或空间耦合传输特性实现对物体非接触的自动标识技术。射频识别系统一般由电子标签、读写器和应用系统组成,读写器射频读取 RFID标签信息并传输到应用系统。目前应用广泛的多为无源RFID 标签,其通信距离较短,信号覆盖范围有限。
WSN 是由大量传感器节点通过无线通信方式形成的一个多跳自组织网络,它能够协同地实时监测、感知和采集网络 覆盖区域中监测对象的信息,数据处理后以无线自组多 跳的方式传送到应用系统。WSN具有可大规模布置、 无需人工值守、传输距离远的特点,有效传输半径高达100m,将 RFID 与 WSN 结合便可形成一个覆盖整个奶牛场的网络。
WSN 和 RFID 的技术优势具有互补性,要形成一个功能强大的传输网络,需要设计一种合适的网络体系架 构。基于 Zigbee的无线传感器网络有星型网、簇树状网 和网状网 3种网络拓扑结构。
星型网是一个辐射状网络, 中心节点为全功能节点(FFD),其他节点为简化功能节 点(RFD),数据和指令均通过中心节点传输;簇树状网是多个星型拓扑的集合,用路由器进行连接扩充和数 据的路由转发,易于实现和管理,但网络链路可靠性低; 网状网中任意两个节点间都存在通信路径且不唯一,每 个节点都是FFD节点,具有自动组网与动态路由功能, 一条路由出现故障,节点自动寻找其他路由进行数据传 输,网络健壮性、抗毁性较好,能够很好地适应复杂环境要求。
在分析对比 WSN网络 3种拓扑结构特点后,结合奶 牛养殖溯源系统应用需求,设计了如图3所示星型网与 网状网结合的射频传感网络体系架构。
2.1.2 射频传感网络节点
在网络体系架构中包含 5类节点:协调器节点、路 由节点、终端节点、读写器节点和标签节点。协调器与 路由器为 FFD节点,终端节点为 RFD节点。
1)协调器及路由节点在网络体系架构中协调器也是网关节点,负责网络
组建和维护。Zigbee协调器建立新网络,首先执行能量 检测扫描确定可用信道,然后选择PAN标识符来标注此 信道,并为协调器分配一个 16位网络地址,同时设置
MAC 层MacShortAddress PIB 参数等于该网络地址。新网络创建成功后,则允许其他节点申请加入网络,入网成功后节点间利用网络进行通信。
路由节点加入到 WSN网络后,提供数据帧的路由转 发、路由发现、路由维护与路由修复等功能,路由算法 的好坏直接影响到网络系统性能,考虑到降低成本、节 能和使用方便,本文采用AODV改进的 AODVjr路由算 法。在 Zigbee路由算法中,AODVjr的许多优点使得路 由协议简单化且实现 AODV的基本路由功能。
2)读写器节点
基于 ARM9平台的嵌入式 Linux读写器,是 RFID与 WSN技术结合的体现。读写器设计为手持便携式装有小型信息采集系统,射频读取牛只耳标获取身份信息后, 结合键盘与触摸屏输入养殖记录到信息采集系统。数据 编码处理后由 WSN网络送至网关上传溯源中心,供用户 查询追溯,还可为饲养员提供繁殖、免疫信息等智能提醒功能。
3)终端及标签节点路由节点与终端节点组成星型拓扑,终端节点彼此间不能直接通信。
终端节点佩戴于奶牛颈部,以 CC2430模块为核心,连接有温度传感器和振动传感器,定时采 集奶牛的体温、运动量等体征数据,通过 WSN网络无线 发送到管理中心,实时监测奶牛的健康状况。RFID标签 节点在奶牛身份识别与系统溯源中具有不可替代的作 用,以耳标形式设计存储奶牛数据信息。
2.2 通信协议转换
RFID 与 Zigbee 的通信协议规范、数据单元格式和内容互不相同,二者间无法直接通信,需要进行协议转 换后才能实现数据无缝隙传输。ISO/IEC15693-2标准 规定的读写器与标签通信协议物理层接口由S6700芯 片来实现,读写器节点射频发出的指令必须符合ASIC通信协议和 ISO/IEC15693-3规范格式,实现对标签读写操作。本文设计的 RFID与 Zigbee协议转换过程 如图 4所示。
通信协议转换过程主要是对数据帧格式进行转换。读写器发出读取指令后,标签返回响应数据是 ASIC标准 的数据帧,首先取其数据域内容为 ISO/IEC15693-3标准 的数据帧,然后取出 ISO/IEC15693-3标准帧包含的数据 域信息,再经过 Zigbee协议栈从应用层到物理层逐层打 包,封装成 Zigbee协议格式数据帧由 WSN网络送至数 据中心。
3 RFID 与 WSN 结合的读写器节点
读写器节点是奶牛养殖溯源信息采集与传输的关键 设备,是 RFID与 WSN技术结合的交汇点。软件与硬件设计在所有节点中最为复杂,其余节点软硬件均可在此 节点上修改实现,本文重点阐述手持读写器节点的设计 与实现。
3.1 读写器节点硬件设计
读写器节点硬件采用模块化设计,RFID射频通信模 块、Zigbee无线通信模块、S3C2440核心模块,共同构 成硬件基础,实现射频采集与无线传输功能。还包括LCD模块、USB模块、键盘模块、调试模块、存储模块和电源模块等。
3.1.1 RFID射频通信模块
S6700 是 TI 公司生产的 13.56 MHz 多协议射频收发器芯片,支持 ISO/IEC15693、ISO/IEC14443等多种通信 协议,通信接口为 SCK、DIN、DOUT和 M_ERR 4条线, 其中 SCK为时钟线,在发送数据时由 S3C2440控制,接 收数据时由 S6700控制;DIN为数据输入线,S6700通过 DIN 线接收命令和数据;DOUT 为数据输出线,S6700通过 DOUT线将响应数据发送给 S3C2440;M_ERR线用 来检测多标签读取冲突情况。S3C2440微处理器与 S6700 构成射频通信模块,硬件结构如图 5 所示。
3.1.2 Zigbee无线通信模块
S3C2440 处理器是三星公司生产的 ARM920T 嵌入式微处理器,主频高达 400 MHz,片上资源丰富,集成 有多种外设接口,非常适合于嵌入式设备开发。CC2430是 TI公司生产的符合 Zigbee技术的 2.4 GHz无线收发器, 支持高达 250 kbps的数据传输速率。CC2430无线模块通过 RXD与 TXD引脚与 S3C2440微处理器连接通信,两者 结合组成 Zigbee无线通信模块,硬件结构如图 6所示。
3.2 读写器节点软件设计
软件设计实现数据采集、数据处理、数据通信以及人机交互功能,主要包括模块驱动程序开发,数据通信 程序开发和数据采集软件开发 3部分内容。
1)嵌入式 Linux 系统中,设备驱动程序是操作系统内核的重要组成部分,在内核与硬件设备之间建立了标 准的抽象接口,使得用户可以像处理普通文件一样,对 设备进行打开、关闭和读写操作。
读写器驱动程序编写主要包括 RFID射频驱动、Zigbee串口驱动和行列扫描键 盘驱动,驱动程序以模块方式动态加载到Linux内核。 LCD 驱动与 USB 驱动已集成内核,参数修改后重新编译内核,系统启动后直接调用。
2)读写器通信编程分为射频通信与 Zigbee 通信两部分。读写器与 RFID标签通信的 S6700收发系统是一个时 序识别系统,读写器的高频场依时序发射出去,为射频 标签提供能量并向其发出指令,在读写器发送的停顿期间,RFID标签将数据返回。
在 Zigbee协议栈中加入无线 通信的应用程序,添加任务到 OSAL任务列表,编写处 理函数实现采集数据的接收发送。编写完毕后使用 IAREW8051 工具将协议栈烧写到 CC2430 模块,配合 Zigbee串口驱动数据通信。读写器数据采集流程如图 7所示。
3)养殖信息采集采用 QT 开发了基于 SQLite 数据库的奶牛溯源移动智能系统,包括牛只管理、饲喂管理、病疫管理、繁殖管理、智能提醒、系统设置等模块,实 现图形化操作的养殖数据采集、处理、传输与存储功能。
4 性能试验与测评
4.1 测试条件及方案
测试条件:在户外场地参照牛舍信息,长100 m,宽 50 m 范围内,放置 1 个中心节点为网关,4 个距中心节点 25m的路由节点,构成顶点朝上的正方形分布。10个 RFID 标签节点,10 个终端节点随机分布,1 个手持读写器用来采集数据,1台 PC机与网关节点连接作为数据中心。
测试内容及方法: 1)射频读写测试。利用读写器将奶牛信息编码写入RFID 标签。当标签进入识别范围内时,按扫描键射频读写 RFID标签,并记录其读写距离、读写正确率和防冲突 识别标签数量。测试共计 4个批次,每批次进行 50次的 读写试验。
2)网络性能测试。WSN 网络架设好后,用普通卷尺测定 Zigbee节点有效传输距离;用秒表测定系统组网和故障修复能力;用主动测量方式测算网络传输延迟, 延迟测试设定为 2级路由的 3跳网络,网关节点每隔500ms 发送一个时戳数据包到终端节点。
终端节点收到后加入新时戳,并将数据包返回至网关节点再次记录时戳信息,每次发送 100个数据包,连续测试10次。链路的时 延差为取多次测试的平均值,通过算法处理后获得端到端链路的单向时延。
3)数据采集传输测试。设定网关节点为固定起点,每隔 10 m取 1个测试点直至 100 m为止。用读写器采集 养殖数据,选定其中 100条记录分别编码为大小 50 Byte的数据包,设定程序每隔 500 ms发送一个数据包,连续 发送 100次进行点对点测试,每个测试点测试 10次取平 均值,对丢包率 PLR(packet loss rate)进行统计分析。 丢包率定义为丢失数据包数与总发送数据包数之比。
4.2 测试结果及分析
射频读写测试结果如表 1所示。手持读写器在 8 cm以内时,射频读写正确率到达 100%,但是随着距离增加 读写正确率均大幅下降。试验还表明,读写距离受标签 与读写器的角度和方向影响很大,通过增加功率放大模 块和天线增益可以进一步提升射频读写性能。防冲突机制采用二进制搜索算法正确识读 4张射频标签耗时约为 500 ms,基本满足多牛只射频采集养殖信息的需要。
性能测试结果表明,CC2430 2个节点的无线通信距离在空旷场地有效传输可达 75 m以上,在有障碍的室内传输距离降至 35 m。WSN系统启动后 1 min内完成节点 绑定,形成自组网络,系统拓扑稳定后,关闭网络中某个路由节点,该路径孤点拓扑加入网络在 3 s内完成,具 有较好的自我修复能力。终端节点发送的数据包,经过2级路由的 3跳网络到达网关节点单向延迟约为 30 ms,延迟时间随路由复杂度而变化。
数据采集与传输测试,分别在有障碍的室内与空旷 场地的户外不同背景下进行,测试结果如图 8所示。
测试结果表明,通信距离和背景环境对丢包率影响 很大,为了得到良好的通信效果,应尽量缩短通信距离 和保持通信范围的空旷。多次测试还表明,丢包率大小 与数据包的长度、发送频率有关,连续采集与传输大量数据时,数据包长度控制在 100 Byte内,发送频率控制在 500 ms左右较为适宜。读写器养殖数据采集与传输如图 9所示。
5 结 论
1)本文提出基于RFID 与WSN 的溯源信息采集与传输方法,对其系统方案、网络架构、通信协议转换等方面进行了研究,其构建的射频传感网络,节点间直接 通信距离牛舍内部为 35m范围内,牛舍间为 75m范围内, 现场采集的养殖数据通过网络传送,其传输丢包率在 5%以内,系统运行稳、可靠,数据信息能够实时、高效的 发送到数据中心,以便用户查询追溯。
2)读写器节点通过基于 Zigbee 的 WSN 网络接入到溯源数据中心,既可以在线查询每头奶牛的养殖记录, 又可从数据中心获取奶牛繁殖、免疫保健等信息,为饲 养人员提供智能提醒功能,具有很好的实用价值。