摘要:企业信息化建造的胜败,取决于齐备和实在的数据主动辨认技能,便是运用核算机体系,进行信息化数据主动收集的一种信息技能。无线射频辨认技能,RFID是主动辨认技能的一种高档方法具有共同的技能优势。近年来RFID成为业界重视的焦点,RFID在物流和供应链办理中的运用得到空前,运用作用日益显现,成为物流和供应链办理开展的巨大推动力。本规划挑选ARM11当下干流的MCU,结合RFID技能,选用固定式RFID的读卡器来收集信息,由串口发送至ARM11为中心的数据处理终端进行处理,以简洁的方法完结了物流体系中对货品的出入库操作。
关键词:RFID;ARM;智能物流;库房办理体系
物流在整个企业的供应链中占有十分重要的比重。经过RFID的批量辨认,完结物流的出库,入库,和分拣流程。经过GPS定位体系,实时获取车辆在途信息。经过服务器和数据中心的实时数据剖析和报表功用,或许把握企业资源的动态改变。智能物流体系大幅提高整个供应链的功率。
1 体系计划
在本规划中选用固定式RFID的读卡器来收集信息,由串口发送至ARM11为中心的数据处理终端进行处理。因而该体系分为两个部分。
榜首部分:RFID电子标签信息的收集,首要是挑选固定式的读卡器来辨认RFID标签信息并发向终端;
第二部分:数据收集,该部分以ARM11为中心处理器的数据处理终端,在终端上搭载Linux操作体系,并装置有数据库SQLite和QT/E来进行数据的收集和存储。
2 完结模块
本体系的完结依赖于以下4个功用模块:1)RFID信息的收集;2)串口数据的实时读取;3)SQLite数据的操作;4)Qt/E用户界面的规划。
2.1 RFID电子信息的收集
2.1.1 RFID电子标签
RFID电子标签分为被迫标签(Passive tags)和主动标签(Aetlve tags)两种。主动标签本身带有电池供电,读/写间隔较远,一起体积较大,与被迫标签比较本钱更高,也称为有源标签。被迫标签由阅读器发生的磁场中取得作业所需的能量,本钱很低并具有很长的运用寿命,比主动标签更小也更轻,读写间隔则较近,也称为无源标签。一般来说,无源标签是替代条形码标签的首要开展方向,有源标签由于其长间隔辨认的优势,首要运用于大型的高速运动物体的标识辨认之上。如机动车的盯梢和辨认、动物或人类身份的盯梢和辨认。
下面首要是以无源标签为例介绍其原理和功用的。
RFID电子标签由天线和专用芯片组成,天线是存塑料片基上镀上的铜膜线圈,在塑料基片上还嵌有体积十分小的集成电路芯片,在这个集成电路芯片中有高速的射频接口,操控单元,EEPROM 3个模块组成。如图1所示。
2.1.2 电子标签辨认体系
一个真实的RFID电子标签辨认体系至少应包括电子标签、阅读器、数据处理和存储的设备以及体系软件。一般阅读器与电脑相连,所读取的标签信息被传送到电脑上进行下一步处理。阅读器经过天线发送出必定频率的射频信号,当标签进入这必定频率的射频信号磁场时发生感应电流然后取得电能,发生电压供应电子标签内%&&&&&%作业,并经过本身的RFID电子标签天线发送出本身编码等信息,由阅读器接纳天线接纳读取并解码后送至电脑主机进行相关处理。
2.1.3 射频读卡模块
本规划选用的读卡器是TX125系列射频读卡模块。TX125系列非触摸IC卡射频读卡模块选用125K射频基站。当有卡接近模块时,模块会以韦根或UART方法输出ID卡卡号,用户仅需简略的读取即可。该读卡模块彻底支撑EM、TEM%&&&&&%、TK及其兼容卡片的操作。
数据格局:6字节数据,高位在前,格局为5字节数据+1字节校验和(异或和)。例如:卡号数据为0B00D5FOC7,则输出为0x0B 0x00 0xD5 0xF0 0xC7 0xE9(校验和核算:0x0B^0x00^0xD5^0xF0^0xC7=0xE9)。榜首个字节0x0B一般是厂家码。中心4个字节0x00 0xD5 0xF0 0xC7是卡片的序列号。一般卡片上印刷的都是10进制码。例如:001402807213 61639。上面的数据能够经过转化得到。转化方法如下:将中心4个字节卡号0x00D5F0C7转化为十进制,即得001402807;将卡号的第二字节0xD5转化为十进制,即得213,将卡号的最终两字节0xF0C7转化为十进制,即得61639。
在串口方法下,可作业存主动与被迫形式。主动形式:当有卡进入该射频区域内时,主动宣布以上格局的卡号数据。被迫形式:CLK的下降沿触发卡号的输出,格局为以上数据格局。操作方法为:在预备读取卡号之前,翻开串口中止并发动超时定时器(80 ms),将一向坚持高电平的CLK置低电平,发生下降沿并一向坚持低电平,等候卡号数据接纳,若接纳到卡号后存储待用,若在等候过程中无数据接纳,且超时定时器现已溢出,则表明本次读取卡号失利;不管成功与失利最终都将CLK从头置高电平,进入待机以便下一次读取卡号。
串口通讯协议,便是读卡模块以何种格局把读取到的卡号发送出来。TX125支撑韦根接口和串口两种协议。UART接口一帧的数据格局为:1个开始位、8个数据位、无奇偶校验位、1个中止位。波特率可挑选9 600 bps或许19 200 bps。在本规划中衔接6 410网关设备的/dev/tty SAC1串口设备,挑选设置波特率为9 600。
选用多线程的方法等候RFID刷写读卡器,首要函数:pthread_create (th_kb,NULL,KeyBoardPthread,0);pthread_creat (rf_ rev,NULL,RFIDRevPthread,0)。树立两个线程,榜首个是以键盘输入的方法读写RFID信息,第二个线程的功用是监控串口/dev/ttySAC1中的信息,已完结实时的捕捉刷写RFID标签信息。
2.2 串口数据的实时读取
在linux操作体系中,对外设的拜访往往都是运用open()函数,以翻开文件的方法读取数据。在本规划中对串口数据的渎取也正是经过open()函数翻开/dev/ttySAC1这一串口驱动文件,获取由读卡器发送给ARM11主中心板的数据,完结函数为open(/dev/ttySAC1,O_RDWR | O_NOCTTY),标志位为O_RDWR | O_NOCTTY,含义是体系以可读写的方法翻开文件,假如欲翻开的文件为终端设备时,则不会将该终端当成进程操控终端。
在翻开串口文件之前,咱们要对串口进行相应的设置,具体步骤有以下几步:串口特点的设置,保存原先串口装备,激活选项,设置波特率,设置字符巨细,设置校验,设置中止位,设置最少字符与等候时间,清楚串口缓冲,激活装备。设置由以下结构体完结:
成功翻开驱动文件后,需求做的便是运用read()函数来读出读卡器发送的信号,以判别货品的类型,将其信息精确的存入到数据库。 Read()函数的函数原型为read(int fd,void*huf,size_t count),read()完结的功用是从参数fd所指的文件传送count个字节到buf指针所指的内存中。读出的数据将存入buf中,作为辨认RFID标签的根据。
2.3 SQLite对数据的办理
在嵌入式设备上运用的数据库有许多,比方MySQL。本规划挑选的是更为简洁的数据库SQLite。本规划中树立的是一个物流产品信息的数据库体系,包括的信息有:产品的姓名(char型),产品的ID号(char型)以及产品的价格(int型)。这些信息都将被存放在table merchan dise中。
当代表产品的RFID标签榜初次刷写读卡器的时分,体系将根据它的标签标号,仅有确认它的产品名、产品ID号以及价格,并把这些音讯一次性写入到表merchandise中。现已存入库中的产品RFID标签再次刷写读卡器的时分,将作为该产品的出库操作,体系将主动的删去该产品在数据库中的信息。
存数据的办理部分,充沛运用SQLite供给的快捷有用的API函数:sqlite3_open(),sqlite3_exec()和sqlite3_close()等,翻开和操作数据库文件。
在产品的整个入库、出库的操作中,数据的录入和删去将是由体系主动完结,免去了人为的操作,大大提高了库房办理的功率,减少了人力资源。
2.4 Qt/E用户界面的规划
QT/E即Qt Embedded是挪威Trolletch公司的图形化界面开发工具。Qt的嵌入式版别,具有较高的运转功率,并且全体选用面向对象编程,具有杰出的体系架构和编程形式。在体系规划时,为了使办理人员更好地办理库房物品的信息,在开发板上装备了一个4.2寸的触摸屏,来供给杰出的UI界面,以便调查数据库内的存货信息。
在本规划中,挑选QT来开发UI界面。在主界面中,加入了一个Table View控件,用来绑定SQLite数据库文件rfid_sqlite.db。在开发过程中,增加头文件“QSqlDatabase”,这是Qt用来衔接数据库所必备的头文件,该头文件下包括了许多的函数来操作数据库,将数据信息出现给用户。句子QSqlDatabase db=QSqlDatabase::addDatabase(“QSQLITE”),指明晰Qt所需求衔接的数据库类型为SQLite,接着再经过db.setDatabaseName(“rfid_sqlite.db”)来翻开链接体系所需求的数据库,默许途径为当时文件夹,显现成果如图2所示。
3 完结功用
本规划的意图是经过RFID的批量辨认,完结物流的出库、入库和分拣流程。经过服务器和数据中心的文时数据剖析和报表功用,把握企业资源的动态改变。本体系中挑选运用固定式的低频率的读卡器,来完结产品信息的录入与删去,模拟了四种不同的产品:A,B,C,D,对应相应的产品ID。产品入库的时分,依此把RFID标签放在读卡器上进行刷写,终端部分经过对串口/dev/ttyrSAC1的实时监测,当数据刷写的时分,在RFID标签ID辨别的函数体内,以ID号为判别根据,调用数据库操作文件sqlite.c中界说好的函数体sqliteDB_opt_add(char*na me,char*id,int price)录入产品信息;在产品出库时,再次刷写需求出入库的RFID标签,体系将主动辨认该产品的刷写次数,来辨别其操作方法是出库仍是入库。当判别出是第2次刷写时,将调用函数体sqliteDB_opt_delete_by_id(char*id),从数据库中删去该产品的信息,以到达数据出库的操作。标签的初次刷写视为产品的入库,第2次刷写视为出库操作,这一信息的录入与删去,用户能够从UI界面的Table View控件内实时调查到。
4 定论
本规划以ARM11微处理器为中心,结合了Linux操作体系和TX125系列射频读卡模块完结了智能物流的货品办理体系。要点完结了在嵌入式设备体系中进行数据库的开发以及UI用户界面等的开发和移植。经试验证明,该体系完结了物品出库和入库的办理功用,便当有用。充沛凸显了RFID技能在当下有着较强的有用性,更表现了嵌入式体系给日常日子带来了的极大便当,为物流职业带了很大的收效。本规划还有许多需求持续完善的当地,如要给每个物品加上GPS定位,以完结客户和物流公司对物品流向的监测。