张秀萍 易金聪
(福建农林大学计算机与信息学院 福建 福州 350008)
随着消费品市场的不断扩大,冷链物流网络急速扩大成为一个庞大的产业。冷链物流管理是指产品在消费之前的所有环节中都处于适当的低温环境中,以确保产品的质量,减少物流损失的一项工程,是以冷冻工艺学为基础、以制冷技术为手段的低温物流过程。在冷链物流中,温度、储存和流通时间、产品耐藏性等是决定产品质量的关键因素[1]。其中,严格的温度监控是低温冷链的一个重要方面,是产品最终质量的重要保证。所以,对冷链进行温度监控越来越具有必要性[2]。
本文提出了一个基于GPS技术的冷链物流监控终端系统的设计与实现。通过应用RFID设备对物流过程中的车内温度进行监控,并结合GPS技术对运输车辆进行实时定位监控,实现物品温度以及运输途中的车辆状态的选择跟踪、查询等实时监控功能。利用该系统,可以详细地了解物品在运输过程中是否发生了温度变化以及可能由此引起的质量变化,并及时采取补救措施。在运输过程中,如果温度发生改变,它可以发出预警,并记录下温度、质量、时间的变化。同时,通过GPS技术对车辆的准确定位与调度,对物流运作实施统一的调度与监控,可以实现运输路线最优,可以提高物流服务的监控能力及效率,从而达到降低成本的目的。
冷链物流要实现全程温度监控管理,必须对冷藏车的使用进行动态的监控,同时要求对在途的冷链车辆进行准确的定位和调度,实现运输路线最优、降低物流成本的目标。系统拓扑示意图如图1所示,其包括:卫星定位系统GPS监控中心系统、无线通信平台(GPRS/CDMA/SMS)、全球卫星定位系统(GPS)、车载定位设备和温度传感设备五部分构成。其中,车载终端放置于冷藏车上,冷藏车上配备有温度传感器,车载终端通过GPS模块接收定位数据,温度传感器中的Reader获取实时温度。通过协议封装上行报文,然后通过无线通信(CDMA)传输到监控中心,监控中心接收到数据后,依据协议解析报文,从而获取冷藏车的定位与温度信息。车载定位设备依托GPS导航卫星获取位置信息,同时将温度传感器采集的温度信息通过GPRS/CMDA网络发送至GPS监控中心。用户通过互联网访问GPS监控中心,可以获得当前车辆的行驶位置以及冷藏车内温度状态等相关信息。同时,监控中心配备了GSM模块,当车辆有报警信息时,可以通过无线短信平台以短信的方式通知相关人员,降低损失。
图1 系统拓扑示意图
该终端硬件系统主要包括具有4个串口的高性能AVR单片机ATMEGA1280V、GPS模块、CDMA模块和手柄及温度采集器Reader等。GPS模块通过卫星(至少三个)获取车辆定位信息,将数据通过串口存储在Atmega 1280单片机指定的内存中,RFID温度采集器Reader获取相应标签(Tag,一种射频卡、内置天线)的ID与温度值,存储在单片机内[3]。用户通过手柄设置冷藏车温度的上下限值,当温度值超过上限或低于下限时,通过串口发往手柄提醒用户实现温度报警。同时,存储在单片机内的车辆定位信息与温度信息通过封装成上行报文包,通过串口经CDMA模块发送到网络,并传输到GPS监控中心[4]。
主控单片机能够接收GPS输入信号和RFID的Reader信号,并对GPS信号信息进行解析,获得当前的经、纬度坐标。主控单片机采用AVR单片机ATMEGA1280V,其具有4个串口且性能较高。对RFID的Reader信号接收的信息解析,以获取实时的温度,并按一定的报文协议通过GPRS/CMDA消息命令把定位坐标、温度与报警上传到监控平台中心。通过液晶屏显示系统的运行状态和调度信息。
在系统中,主控单片机的4个串口分别与GPS模块、CDMA模块、调试串口/手柄接口、温度采集Reader模块相接。
GPS模块能够接收GPS卫星信号、计算车载终端的位置。GPS模块由存储单元、微处理器、变频器和信号通道。GPS模块发送NMEA0183协议报文给MCU,控制GPS模块的工作方式和状态。MCU也可以发送设置命令给GPS模块。该终端中主要获取的GPS报文有GPRMC和GPGGA格式,其中从GPRMC报文中获取经纬度、时间、速度等信息,GPGGA获取高度、星数等信息[5]。
温度采集模块包括Reader、Tag和天线。Reader阅读器读取Tag信息;Tag和射频天线通信;天线在Tag和Reader间传递射频信号[6]。
该终端所采用的CAMA模块是中兴MC8331模块。单片机通过标准的串行口向CDMA模块发送AT指令控制CDMA模块。GPS模块与温度接收模块获取的信息经协议封装成上行包,定时通过CDMA网络将定位报文(或包含温度信息)发送到监控中心。数据上行是通过简单IP实现与监控中心的TCP连接。
该系统的软件部分主要是实现车载终端信息的处理与监控中心的信息管理。
(1) 车载监控终端系统流程 针对目前第三方冷链物流运输公司的实际情况,在货物运输前要先装货,将货物与Tag、车辆对应好,通过手柄(调度屏)设置温度的上下限,终端采集实时温度。当温度超过上限或低于下限时会发出报警,到达目的地后,经签收方签收,终止监控[7]。
(2) 终端主程序数据流程 车载终端的数据主要包括:GPS定时采集定位信息,Reader定时采集Tag的温度信息,利用控制接口采集车辆状态。采集到的信息由通信协议封装成上行报文,经过CDMA网络传到监控中心。其主程序流程如图2所示。
图2 主程序流程图
(3) GPS通信处理 车载终端的定位信息是通过GPS模块获取的,当GPS模块获取到数据后,通过串口送往单片机,单片机中断处理串口接收到的数据。GPS数据流程如图3所示。
图3 GPS通信数据流程图
(4) 与Reader通信 Reader和Tag之间通过RFID方式实现数据的双向通信。Reader既能定时接收Tag送来的温度信息,也能对某个Tag发送命令进行设置。每个Tag内部有唯一的序列号,具备防冲突机制,因此一个Reader可同时处理多个Tag。通过安装在终端内的Reader定时采集范围内Tag的当前温度,经过处理后,通过CDMA网络传输发往监控中心,最终在平台上进行数据处理和显示。温度采集器Reader与单片机通过串口连接的,在初始化时,Reader是处于关机状态,当Reader获取到0x02,0x24,0x30,0x03这个字符串时就会冷启动;而当Reader获取到0x02,0x24,0x41,0x03字符串时会搜寻所有ID及其当前温度值,因此需要通过单片机将字串发给Reader。
GPS监控中心由通信服务器、中间件桥、业务服务器、数据库服务器及客户端等构成。通信服务器负责与终端设备的通信,收到的通信报文处理后转发给中间件Bridge。Bridge将定位、告警信息写入磁盘日志文件,以保证通信日志的完整性,防止系统崩溃或其他意外原因造成日志丢失。中间件Writer访问日志文件,将数据写入数据库服务器。业务服务器负责日常的业务处理,与客户端程序通信。
客户端以地图方式显示车辆的位置信息、运行轨迹以及车内的温度情况。客户端程序可向车载定位设备发送定位监控、温度监控指令。
短信平台是为了实现对终端的管理以及配置信息,主要功能包括:设置终端、终端重启、恢复出厂设置、查询终端信息。
为了方便日后对终端短信功能的扩展,短信平台还预留了一个扩展短息与扩展接收短信模块功能。由于SIM卡存储信息内存有限,因此短信平台还可以清除SIM卡上的信息。
短信平台利用GSM模块与MFC技术相结合,通过串口往GSM模块中发送AT指令。短信平台以短信的形式与终端通信。根据终端短信配置功能,无需用到中文,因此短信平台选择Text文本格式,创建两个线程,一个用于写串口数据,一个用于接收串口数据[8]。
串口初始化时,需要设置串口的参数,如波特率、数据位、校验位、停止位、信号监控等,打开串口时,需要通过串口与GSM模块通信实现初始化,如Text模式、GSM字符集等[9]。短信平台的运行界面截图如图4所示。
图4 短信平台主界面
将写好的程序通过IAR Embedded Workbench编译器编译生成.bin文件,终端断电,使用下载线和串口线,使终端与电脑连接,打开本地升级工具。点击“文件”-> “载入”,选择.bin文件,载入文件后进入下载状态,终端马上通电,开始加载,终端升级成功。
冷链物流监控终端是通过CDMA网络将车载的信息传输到监控中心的,因此在程序初始时需要用AT指令将控制CDMA模块连接到网络中。程序一旦启动,就会自动进行网络注册,在串口调试下,进入Debug模式。
如若网络注册失败,终端会自行一直注册,十分钟后自动重启。
当终端启动后,通过串口连接到电脑上,在Debug模式下,如GPS已定位,则查看终端信息可看到如图5所示。
图5 GPS定位
GPS监控中心可以选择配置车载设备,使其满足特定条件时车载终端主动上报位置数据。可设定的条件包括:指定时间发送位置信息到控制中心。用户可以通过手柄来设置,监控中心可以通过平台来设置。GPS模块接收到GPS卫星的信号,通过协议封装成上行包经CDMA网络发往平台监控中心。如果网络注册不成功,则终端会自动保存GPS数据,待终端成功连接上网络时再补报。
在网络畅通下,终端将GPS报文发往网络,监控中心通过CDMA网络接收报文,根据协议解析报文,获取车辆的经纬度、车速、海拔高度等信息,并将所获取信息显示在数据栏上。
同时,监控中心从获取的报文中判断是否有报警信息,当车辆有报警信息时,监控中心会自动弹出。
RFID温度采集模块(Reader)通过串口跟MCU通信,Reader通过2.4~2.5 GHz ISM 微波段获取当前TAG实时温度,最多可以获取100个Tag的问题。Tag由电池供电的有缘RFID的电子标签,当读取到获取实时温度时,就向Reader发送出标签和温度报文。
如果网络正常且Reader获取温度成功的情况下,温度信息将通过协议附加在GPS报文中经无线通信GPRS/CDMA网络传输到监控中心。监控中心收到携带温度信息的定位报文后,解析报文获取温度,将温度实时在数据栏上。用户可以通过手柄(调度屏)设置冷链信息(包括温度上下限、温度报警开关)。用户设置温度上下限,开温度报警,当温度高于上限或低于下限时,终端将产生报警信息提醒用户,并在手柄(调度屏)上调度信息滚动。
短信平台主要是来对车载终端进行配置信息的。通过串口与GSM模块连接,选择相应串口,设置串口信息,点击打开按钮,可以输入终端号码可以对终端设置。然后输入号码,可以选择要对终端设置的按钮,点击相应的发送按钮,短信会发送相应的终端上对终端进行设置。
协议报文主要是在终端与监控中心进行通信,协议通过自定义方式,在网络传输过程中也具有安全性。该系统终端将信息发往监控中心都是通过此自定义的报文协议来封装数据包的。
该终端与监控中心通信所采用的报文协议是自定的,采用16进制数,都是以7E开头,报文长度2字节,本机号8字节(不足补0),报文序列号4字节,命令标识2字节,参数内容n字节(GPS定位报文或附加温度的GPS定位报文),最后2字节是校验位。报文格式如表1所示。
表1 通用报文格式 字节
定位报文主要用于封装上行报文的定位信息,其命令标识为(0x8007),包括:4字节的状态报警字,3字节的日期,3字节经度,3字节纬度,1字节速度,1字节方向,1字节加速度,2字节行驶距离,2字节高度,1字节星况,1字节星数,4字节总里程。格式如表2所示。
表2 定位报文格式 字节
表2中各个部分均以字节为单位,状态报警字是以位为标志的,每个字节中的每一位代表一个状态报警信息。
温度信息携带报文是附加在GPS定位报文的后面,主要用于上报终端的温度状况。前面的报文与GPS定位报文是一致的,只是在定位报文后面再加上一串数据,2字节的附加数据标志,采用固定值0xFFFF。接着是1字节的类型代码(如0x03代表温度数据),2字节的附加数据长度的字节数,n个字节数据长度(跟附加数据长度的字节数有关),n个字节的数据长度,其格式如下:
GPS数据包+附加数据标志(2字节,固定为0xFFFF)+ 类型代码(1字节)+附加数据长度的字节数(2字节)+n字节附加数据长度(n字节)+n/17×(11字节的ID+6字节的温度值)。附加数据标志为2个字节的十六进制,值固定为0xFFFF,附加数据类型定义如表3所示。
表3 附加数据类型定义
本文提出了一个基于GPS的冷链物流监控终端的设计与实现。该系统针对冷藏车的终端进行设计,其重点在于温度实时采集、监控与车辆定位部分设计与实现。该终端与监控中心结合,已能实现车载的实时信息、实时定位、温度实时采集,并正在进行产品化。
随着物联网的普以及人们对新鲜产品的要求,为了实现冷链物流的信息处理及时、配送流程化以及存取自动化、物流管理智能化,通过整合现有冷链资源,借助于现代先进物流信息技术的应用,实现各种数据的实时采集与应用,必将提高冷链物流的作业效率,降低冷链物流成本,提升冷链物流效率。
[1] 秦旭,谢亚莲,陈焕.基于GPS/GPRS的冷链物流信息监控系统设计[J].电子科技,2015,28(10):103-107.
[2] 袁浩浩,蒋联源,张联盟.基于WSN的冷链物流监控溯源系统[J].物流技术,2014(11):369-371,378.
[3] 李响.基于GIS/GPS车辆监控软件系统的设计与应用[D].华北电力大学,2009.
[4] 陈君.基于RFID、GPS技术的冷链物流过程控制研究[D].天津师范大学,2009.
[5] 闫建成,薛伟.冷链物流实时监控系统的设计与实现[J].信息技术,2016,40(11):97-101.
[6] 何友国,袁朝春.基于SIM908的冷藏车箱内温湿度监测系统设计[J].制造业自动化,2015,37(22):138-142,149.
[7] 李晓鹏,袁涛.冷链物流实时监控系统设计[J].传感器与微系统,2014,33(2):131-133,137.
[8] 朱飞,杨平.AVR单片机C语言开发入门与典型实例[M].北京:人民邮电出版社,2010:216-315.
[9] 庞宝茂.移动通信[M].西安:西安电子科技大学出版社,2009:170-212.