一种自动跟踪的智慧物流信息处理系统的设计
2016-07-20温凯峰
温凯峰
摘 要:为了实现对物流货品的跟踪溯源、车辆的实时监控和物流信息的采集处理,设计以ARM微控制器为硬件核心,通过RFID技术记录物资的包装、仓储、运输等全过程,结合GPRS网络将采集到的物资信息传送至监控平台实现远程监控,用户可以登陆平台实时获取物流车辆的运输情况、地理位置、物资信息。测试结果表明,系统稳定可靠,能够实现物流的全程跟踪、实时监控、信息传送等功能。
关键词:RFID;GPRS;跟踪;实时监控;物流信息系统
中图分类号:TP274 文献标识码:A
1 引 言
目前,我国国民经济快速发展,推动着物流体系日益完善,物流业保持稳定快速的发展。物流包括了储存、包装、运输、搬运、配送、装卸和物流信息处理等过程,其中货物的运输和物流信息处理作为物流过程的重要环节。随着电子商务的兴起,物流业得到了进一步的发展和应用。客户需要实时获取货物的位置信息,物流公司也需要实时获取货物运送的状态,及时对物流车辆进行调度管理,信息技术的发展基本满足了物流过程中的各种需求。本文基于物联网技术实现对物流运输车辆的跟踪和管理,实时采集货物的运输状态,设计采用RFID技术实现基本的货物信息获取功能,以STM32F103为系统的主处理器,负责处理其余模块接收到的信息,通过GPRS网络方便将运输车辆信息传送至监控中心实现车辆的实时调度管理,物流信息管理平台能够为用户提供物流货品地理位置的查询和相关信息的获取,满足了人们在物流运输过程中对货物信息实时获取的需求,对现代化物流业的发展具有一定的作用。
2 系统总体设计
本文设计的物流信息处理系统主要包括无线射频识别(RFID)、车载终端和物流信息监控中心等部分,基本结构如图1所示。RFID技术用于对物流货品的定位和跟踪,快速获取货物的地理信息;车载终端以ARM内核的STM32F103为主控制器,负责外围电路的RFID阅读器、GPRS模块、GPS模块的信息处理,经过网络把车载设备处理完成的数据上传至监控中心实现物流车辆的调度与管理;物流信息监控中心采用B/S模式架构,结合Google地图的显示,用户可以通过Web浏览器实时查询物流的位置信息和运送状态。
图1 系统的总体结构
3 系统的硬件设计
3.1 RFID技术
无线射频识别技术(Radio Frequency Identification,RFID)是一种非接触式的自动识别技术,也是一种通信技术,它通过射频信号自动识别目标对象并获取相关数据。RFID技术具有体积小、环境耐受性强、速度快、非接触、数据可加密、可重复使用和数据记忆量大等特点,一个典型的RFID系统由电子标签、阅读设备、天线和应用系统四部分组成,如图2所示。在货物表面贴上RFID电子标签,当物流车辆经过安装有RFID阅读器的站点
时,阅读器通过天线发射电磁波激活邻近的标签,标签被激活后随即发射载有资料的无线电波,阅读器接收到电磁波并读取标签的信息,实时将物流货品相关信息传送至监控中心,更新物流信息的状态,若检测到当前货物信息出现错误,可通过监控中心对货物运输过程进行追溯和管理。
3.2 车载终端的设计
车载终端安装在物流车辆上,包括了主控制器模块、RFID阅读器模块、GPS模块和GPRS模块。主控制器模块选用资源丰富、低功耗、处理速度快的32位ARM微控制器STM32F103,其内核为Cortex-M3,工作频率为72MHz,高达128K字节的内置闪存存储器,还有丰富的I/O接口资源,供电电压2.0V至3.6V,消耗功率低。RFID阅读器模块选择成本低、体积小、低功耗、高度集成的非接触式读写卡芯片MFRC522[1],支持ISO 14443A/MIFARE,通信距离高达50mm,具有CRC和奇偶校验功能,工作电压2.5V至3.3V,采用SPI通信方式,当CS为低电平时开始工作,主控器向读写器发送指令读取RFID标签信息,指令格式为:指令长度(2字节)+命令字(1字节)+数据信息+CRC校验和(2字节),读写器接收到指令并采集好标签中的信息后,传送至主控器的GPIO口进行处理。车载系统中的GPS模块接收到卫星信息后,计算出精确的车辆三维坐标、时间和速度等相关信息,经过GPRS模块传送至监控中心,车载终端硬件组成如图3所示。
4 系统的软件设计
4.1 RFID阅读器数据的过滤
由于RFID阅读器采集到的标签数据量大,数据的冗余会对信息的存储、网络的传输和数据处理带来负担,还可能存在一些错误的数据,选用哈希表来对RFID数据进行过滤,提高阅读器的可靠性和准确性。具体方法是将货品标签放进哈希表中[2],设置标签身份(TagID)为哈希表的关键字,取时间间隔t,将缓存的数据与哈希表中的数据进行对比,若两者的读取时间差小于时间间隔t则认为是读取到重复的数据[3],将此数据进行过滤,若时间差大于时间间隔t则认为是读取到新的标签,然后再重复进行数据的比较,算法流程如图4所示。
4.2 GPRS模块的设计
系统采用GTM900C这款内嵌TCP/IP协议栈的GPRS模块实现物流信息的无线网络传输[4],该模块具有丰富的资源,可直接调用库函数建立TCP/IP连接。硬件设计完成后,使用AT指令实现GPRS模块与互联网连接并接发数据。
首先设置通信波特率。可以使用“AT + IPR”命令,把波特率设为115200 bps或者其他速率。
然后设置接入网关。AT + CGDCONT = 1,“IP”,“CMNET”,接入网关为中国移动的接入点。
接着设置移动终端的类别,通过AT + CGCLASS = “B”,设置移动终端的类别为B类,表示在同一时间内模块只使用GPRS上网或使用GSM进行语音通信。endprint
最后使用AT + CGACT = 1,1命令代表激活GPRS功能。如果返回“OK”,表明GPRS模块连接成功;如果返回“ERROR”,对SIM卡进行检查,确保GPRS业务已经开通,GPRS模块天线已安装正确等。
GPRS连接网络具体程序如下:
u8 GPRSConnect(void){
u8 i,err=0;
//设定工作模式ECHO
SendAT("ATE1",4);
err=WaitForStr("OK",2,2);//ATE1 OK
if(err>0) return err;
//查询信号质量
SendAT("AT+CSQ",6);
i=AssertCSQ();//AT+CSQ +CSQ: 12,0 OK
if(i==0){
print("GSMCSQOK");
//是否注册网络
SendAT("AT+CGREG?",9);
err=WaitForStr("+CGREG:",7,2);//AT+CGREG? +CGREG: 0,3 OK
if(err>0) return err;
//是否附着gprs网络
SendAT("AT+CGATT?",9);
err=WaitForStr("+CGATT:",7,2);//AT+CGATT? +CGATT: 0 OK
if(err>0) return err;
delay_100ms(10);
//先关闭所有场景
SendAT("AT+CIPSHUT",10);
err=WaitForStr("SHUT OK",7,15);//AT+CIPSHUT SHUT OK
if(err>0) return err;
delay_100ms(10);
//打开APN
SendAT("AT+CSTT",7);
err=WaitForStr("OK",2,5);//AT+CSTT OK
if(err>0) return err;
delay_100ms(20);
//打开移动场景
SendAT("AT+CIICR",8);
delay_100ms(20);
err=WaitForStr("OK",2,10);//AT+CIICR OK
if(err>0) return err;
delay_100ms(5);
//获取本机IP
SendAT("AT+CIFSR",8);
err=WaitForStr("+CIFSR",6,2);//AT+CIFSR 10.222.243.153
if(err>0) return err;
}
else return err;
return err;
}
4.3 物流信息监控中心的设计
在车载终端处理好各种信息后,通过GPRS网络发送到监控中心上,为了方便用户对物流货品运输过程的了解,查询货品的运输状态,物流信息监控中心需要具备物流货品始发地和目的地点的查询,货品运输路径信息的查询、货品所在地理位置的查询等功能。
一个动态网站服务器平台至少要包括操作系统、Web服务器、应用程序服务、数据库几部分,监控中心采用B/S结构(Browser/Server,浏览器/服务器模式)[5],客户机上只需要一个浏览器,服务器安装Oracle、Sybase、SQL Server等数据库,通过Web Server即可实现浏览器和数据库间的数据交互,简化了系统的开发、维护和使用,原理如图5所示。
图5 B/S结构原理图
用户只需要使用Internet登陆到客户端即可查询货物相关的物流信息,客户端采用JavaScript技术通过API接口对Google Map进行二次开发[6],把Google地图服务嵌入到物流信息监控中心网页中,结合硬件部分的GPS模块,获取物流车辆的相关地理位置信息,为用户提供可视化的物流车辆行驶路径,通过使用如下函数的设置还能够在地图中查阅两点间的行车路线:
function find(start, end) {
map = new GMap2(document.getElementById("map_canvas"));
map.addControl(new GSmallZoomControl());
map.setCenter(new GLatLng(28.549809, 102.177082), 9);
directionsPanel = document.getElementById("route");
directions = new GDirections(map, directionsPanel);
directions.load("from: " + start + " to: " + end, {
travelMode : G_TRAVEL_MODE_DRIVING
});
}
以上函数中参数start为起始地点,end为结束地点,route用于显示行车路线信息,请求路线的类型travelMode的可选项为G_TRAVEL_MODE_DRIVING或者G_TRAVEL_MODE_WALKING。endprint
5 系统的测试
系统硬件部分和软件部分设计好后,开始进行相关功能的测试。给车载系统供电,系统正常工作,通过Web服务器发送指令采集指定货物信息,相应的RFID阅读器读取物品上贴附的RFID标签信息,通过GPRS网络把货物RFID标签信息和GPS定位信息发送到监控中心,GPRS传输速率平均有40kbps,在数据发送时需要设置好时间间隔,本系统设置每隔10s向监控中心发送一次数据包[7],即每隔10s更新一次监控中心数据,降低数据包传输的丢失率,用户打开Web服务器端输入需要查询的物品编号后,网站页面中显示相应的物流GPS坐标信息并且通过Google Map显示车辆的行驶路径,查询结果如图6所示。系统基本满足对物流货品的自动跟踪功能和信息处理功能,运行情况稳定,获取信息较为准确,达到设计的要求。
6 结束语
本文设计了一种能够自动跟踪物流货品运送过程并实时获取物流位置信息的物流信息处理系统,介绍了软硬件的设计过程,对系统的功能进行了测试。系统使用RFID技术实现无需人工干预即可自动获取物流车辆的运输情况,结合了GPS模块使用,能够更准确将物流车辆的行驶路径和位置信息通过GPRS网络告知用户,运用B/S模式方便用户对物流货物信息的查询,系统虽然在一定程度上优化了物流运输信息的采集,提供了物流实时行车信息,但系统还需进一步优化,如添加对物流货品安全监控的功能、对货物异常警报功能等。该系统对现代物流业的应用有一定的研究价值,有利于提升物流的服务质量。
参考文献
[1] 刘培学, 金佩芬, 陈玉杰,等. 基于RFID及3G网络的物流跟踪系统研究[J]. 计算机测量与控制, 2014,22(7):2178-2181.
[2] 孙红, 厉彦刚, 陈世平. RFID中间件数据处理研究[J]. 上海理工大学学报, 2014, 36(3): 234-238.
[3] 任守纲, 徐焕良, 黎安,等. 基于RFID/GIS物联网的肉品跟踪及追溯系统设计与实现[J]. 农业工程学报, 2010, 26(10):229-235.
[4] 佟金, 王亚辉, 樊雪梅,等. 生鲜农产品冷链物流状态监控信息系统[J]. 吉林大学学报:工学版, 2013, 43(6):1707-1711.
[5] 杨晋. 第三方汽车物流企业整车物流协同信息平台建设研究[J]. 物流技术, 2015,34(4):265-267.
[6] 滕志军, 郭素阳, 徐艳伟,等.北斗卫星导航的物流运输监控系统[J]. 河南科技大学学报:自然科学版,2015,36(4):47-50.
[7] 王晓华, 李萍. 基于无线传感器网络的智能物流车辆监控系统的设计[J]. 计算机应用与软件, 2014,31(12):132-135.endprint