(接上)
3.2应用程序开发
(1)RFID实现过程。
运用RFID的API函数中ReadID读取在冰箱内的RFID卡,连续多次读取RFID卡。读取期间运用防碰撞算法将读取到的相同的RFID卡信息排除,然后将得到的RFID卡信息保存在数据结构内,以便以后用数据结构跟数据库资料核对。完成读取后,断开RFID连接并且开始跟数据库对比资料。
这里我们采用了目前广泛的二进制树防碰撞算法。读写器与应答器之间进行数据交换时,往往要传输序列号的部分或者全部位,此时的传输顺序定义为:先发送低位,再发送高位。在读写器或者应答器内部,对数据进行比较时,遵循这样的原则,即按位依次比较,先比较低位,再比较高位,约定0<1,根据这个比较顺序,在判断大小时,低位数据优先,即两数A,B相比较,从低位开始的第一个不相等位的大小决定了两数的大小,只有当两个数的全部位均相等时,两数才相等。二进制树算法执行过程中,读写器会多次发送把应答器分成两组并且多次分组后得到唯一的一个应答器命令给应答器,而且在这个分组过程中命令参数以节点的形式存储起来成一个数据的分叉树,从而形成"二进制树".智能冰箱的二进制树防碰撞算法在应答器内进行比较,因为读写器可以有多个,而最后读写器读到的数据发送给应答器,因此选择应答器作为防碰撞算法的烧录地方,这样可以在应答器接受了读写器读到的标签排除相同后传输标签数据到主控平台PXA270。
图7RFID读取流程图