任峥峥 叶桦 孙晓洁
(东南大学自动化学院,南京 210096)(东南大学复杂工程系统测量与控制教育部重点实验室,南京 210096)
通信网络技术的出现和发展,给社会生活面貌带来了极大的变化,信息的交流更加顺畅.M2M(machine-to-machine)技术的目标就是使所有机器设备都具备连网和通信能力[1].
目前大多数车载终端直接向监控中心发送数据[2-3],监控中心主要任务是对车载终端工况数据的分析、处理和显示,而对终端中SIM卡计费充值、终端管理、终端设备鉴权等功能,监控中心很难系统专业地实现.
中国移动为使用M2M应用服务的客户提供了统一的M2M平台.M2M平台是一个网络支撑平台,具有标准化的接口,主要优点[4]包括以下几点:
1)支持多种接入方式.M2M平台能够支持GPRS/SMS/WAP/MMS等无线接入方式.
2)支持应用接入管理.M2M平台可同时接入多个应用系统.应用系统通过M2M平台鉴权后接入;在规定时间不能进行正常通信时M2M平台关闭此路通信连接;M2M平台向应用系统发送终端的上传信息,转发应用系统发送到终端的信息.
3)支持终端管理.包括鉴权管理、状态管理、配置管理、故障管理、维护管理等.
4)支持流量控制.M2M平台对终端上传信息的流量进行计算,系统在流量出现瞬间高峰时可通知管理员对信息的处理进行人工干预.
5)支持计费.M2M平台支持多种接入方式,包括短信、网关等多种业务网元,M2M平台支持对不同业务设置不同费率,并可出话单用于营账计费以及提供应用的结算.
车载终端通过M2M平台与监控中心通信,数据从终端或监控中心传送到 M2M平台,再由M2M平台转发给监控中心或终端,管理数据和业务数据均由M2M平台统一接收,再根据不同的消息类型和目标地址进行分发或处理.
本文介绍了智能车载终端的硬件和软件设计,提出了智能车载终端与M2M平台的通信方法并加以实现.
车载终端采集工况和位置数据,把数据打包并发给监控中心服务器,监控中心完成对数据的解析、处理和存储,用户可通过访问网站查询车载终端的相关信息[5-6].
在传统的应用中,车载终端直接与监控中心服务器进行数据通信,如图1(a)所示.本设计中,终端与监控中心服务器通过M2M平台进行数据透传,且M2M平台能够通过发送命令报文来对终端进行查询和设置功能.系统总体结构如图1(b)所示.
智能车载终端硬件由微控制器、GPS模块、GPRS模块、CAN数据收发、E2PROM 存储、实时时钟等部分组成.
图1 系统总体结构框图
微控制器选用STM32,STM32系列是专为要求高性能、低成本、低功耗的嵌入式应用设计的[7].
GPS模块选择型号为NEO-6M的GPS定位模块.该模块体积小,定位精度高,能够满足车载定位的要求.
GSM/GPRS模块型号为SIM900A,内嵌TCP/IP协议[8],扩展的TCP/IP AT命令能让用户很容易完成通信功能,方便用于GPRS数据传输.
CAN是ISO国际标准化的串行通信协议,因其高性能和可靠性被广泛应用在汽车和工程机械产业中.STM32内部集成的CAN控制器负责数据链路协议,需接CAN收发器电平变换,完成CAN物理层功能.
车载终端总体结构图如图2所示.
图2 终端总体结构图
微控制器通过串口向GPRS模块发送AT指令,实现控制GPRS模块完成数据传输工作.M2M平台与车载终端之间的数据通信是按照WMMP-T协议完成的.
要使车载终端实现GPRS数据发送与接收的功能,需要微控制器对GPRS模块进行启动、初始化、IP连接这些操作,成功后方可与服务器IP进行数据通信.当检测到车载终端与M2M平台断线后,要进行断线处理.具体流程如图3所示.
连接M2M平台IP前,终端需要对GPRS模块进行启动与初始化设置.
GPRS模块启动是根据启动时序图,通过微控制器控制其PWRKEY脚实现.
图3 GPRS模块工作主流程
微控制器通过串口向GPRS模块发送AT指令实现所需功能.初始化用到的AT指令如表1所示,不同的模块用到的AT指令会有不同,具体用法要参照GPRS模块对应型号的AT指令手册.其中要注意的是,必须设置接收数据显示IP头功能.按照WMMP协议,车载终端收到M2M平台发来的数据报文没有固定包头,无法区别一个完整的数据包.因此,在GPRS模块初始化时要设置接收数据显示IP头,用来找到一包数据的开始.
终端连接M2M平台IP的方法是,发送AT指令[9],微控制器收到模块回复 OK CONNECT,OK即表示连接IP成功.
表1 GPRS模块初始化AT指令
发送GPRS数据方法为:微控制器发送指令AT+CIPSEND= <length> ,收到“>”后发送长为length的数据包.模块若回复SEND OK,表示GPRS数据发送成功,若没有回复,则表示没有发送成功,即要进行出错处理.如连续多次没有发送成功即可以认为断线.程序设计中在发送GPRS数据后用延时等待模块回复SEND OK,如图4(a)所示.
车载终端要随时等待接收GPRS数据报文,GPRS模块收到报文后即时向微控制器串口发送此包数据,微控制器通过串口中断来接收,一次中断处理函数接收一个字符.串口中断中用IP头来分辨一包数据的开始,数据包以+IPD开头,根据WMMP-T协议,报文前2个字节表示此包报文的长度,因此当开始接收报文后,记下报文前2个字节作为要接收数据的长度,检测数据长度来完成一包完整数据的接收,接收流程如图4(b)所示.
图4 发送接收GPRS数据流程
在连接上M2M平台的IP地址后,还不能向M2M平台发送透传数据或接收平台下发的命令,还需要进行 M2M 平台对终端的认证工作[10].认证工作包括注册、登录、上报信息3个步骤,成功完成后方可与M2M平台实现通信.经过此3个步骤,则终端成功连接注册到M2M平台,LINK流程如图5所示.
图5 与M2M平台LINK流程图
车载终端把注册信息经REGISTER打包函数打包成REGISTER报文,通过GPRS向M2M平台发送此包REGISTER报文,M2M平台回复REGISTER-ACK报文,车载终端通过解析回复报文,可判断出是否注册成功.LOGIN报文、CONFIGTRAP报文与REGISTER报文用相同的方法发送到M2M平台及解析对应的回复报文.
车载终端向监控中心发送数据包时,不能直接向M2M平台发送,而是要经WMMP协议打包成透传数据格式.收到GPRS模块回复SEND OK,表示透传报文成功发到M2M平台的IP地址上,但并不表示透传报文成功被M2M平台解析成功和透传成功,此时还需要等待M2M平台的透传数据回复报文.终端通过解析回复报文,判断数据包是否成功发到平台、是否成功透传到监控中心.
车载终端有2类数据包要接收.
一类是车载终端向M2M平台主动发报文所对应的回复报文.涉及的回复报文有透传数据回复报文,配置回复报文,登出回复报文,注册回复报文和登录回复报文.后3种只在与M2M平台建立连接时才会收到,当与M2M平台连接上后,此类中接收到的只有透传数据回复报文和配置回复报文.对回复报文的处理包括解析报文、判断两部分.终端收到回复报文后要解析出流水号、终端序列号及应答结果标识.车载终端向M2M平台发送的报文与对应的回复报文具有相同的流水号及终端序列号,因此先要判断是否对应等待的回复报文,再判断应答结果标识.
另一类是要随时等待接收从M2M平台发来的报文,包括透传数据报文、设置报文、查询报文3种,收到的报文是把透传数据、设置命令或查询命令根据M2M平台协议打包而成.
车载终端与M2M平台收发报文采用阻塞与非阻塞结合的方式进行,流程如图6所示.
图6 向M2M平台发送透传数据流程
考虑到GPRS模块给微控制器回复很快,可以用阻塞方式等待回复.
对于M2M平台的回复,有时会很慢,甚至还有收不到回复的情况.若用传统的软延时等待回复、判断、进行下面的功能这种阻塞的数据交互方式,会造成数据接收和处理不及时的严重后果,因此,等待M2M平台回复报文采用非阻塞方式.具体方法是使用微控制器的定时中断计数,当终端成功发送出报文后,立即执行下面的程序,此时定时中断开始计数,主程序循环查计数是否超时.若在超时前串口中断接收到对应等待的回复包,解析回复报文,判断此透传数据报文是否成功透传;若已超时还未接收到对应的回复包,即表示报文没有成功透传.
当报文接收缓存区有报文时,要用解析函数解析报文.
若解析出是回复报文(WMMP命令类型为8XXX),清除对应等待回复流水号;若解析出是透传数据报文(WMMP命令类型为0004),由于当车载终端收到经M2M平台透传来的监控中心数据报文时,先要回复平台一包确认包以表示收到数据包,然后再利用解析函数把数据内容从报文中解析出来,因此此种情况要立即向M2M平台回复一包透传数据回复报文;若解析出是查询报文(WMMP命令类型为0005),终端收到M2M平台此类报文后,解析出查询命令内容,把对应查询数据加入回复报文(WMMP命令类型为8005)以回复平台;若解析出是设置报文(WMMP命令类型为0006),终端收到M2M平台此类报文后,解析出设置命令内容,执行参数设置,最后回复平台一包确认包(WMMP命令类型为8006)以表示设置结果.解析透传数据报文流程如图7所示.
图7 解析M2M平台发给终端报文流程图
断线包括2部分内容,一种是车载终端与M2M平台IP连接断线,表现为数据报文无法成功发给平台;另一种是M2M平台对车载终端无法识别,即车载终端在M2M平台上是未登录的状态,表现为数据报文成功发给平台而平台无法成功透传给监控中心服务器.
当检测出与M2M平台连接断线时,要重连IP,重连不成功就继续重连,重连次数超过阈值后,重新启动模块.
当检测出车载终端在M2M平台上是未登录的状态,则重新注册登录平台,若尝试多次都未成功,则与M2M平台断开连接,从连接IP步骤开始执行.
开发过程中,对智能车载终端与M2M平台通信做了大量的测试.车载终端采集到工况数据,将其按照WMMP-T协议打包成透传数据报文,向M2M平台发送,平台将数据透传给监控中心.同时,车载终端可接收到M2M平台透传的监控中心的数据报文,然后对报文进行解析,提取信息.
经测试,车载终端能够快速准确地与M2M平台IP连接上,完成向平台发出的注册登录请求,能够与监控中心进行数据的透传.其中对车载终端连接M2M平台、注册登录平台、发送报文到收到回复报文、发送到监控中心收到透传报文各段耗时进行了大量测试,耗时测试结果如表2所示.
表2 终端通信耗时测试结果 s
故障测试中,当与M2M平台连接断线的情况下,车载终端能够及时发现并且很快重连上M2M平台;当车载终端在M2M平台上不是登录状态时,车载终端也能够及时发现,并对M2M平台重新发送注册登录信息.
本文以与M2M平台进行信息交互为研究重点,说明了车载终端通过M2M平台与监控中心收发数据的优势,完成了整个系统的设计及车载终端硬件的设计.分析智能车载终端与M2M平台信息交互、与监控中心服务器透传数据的过程,提出了智能车载终端连接通信的方案并加以实现,经多次长时间测试,设计的车载终端能够实现所要求的功能,具有较好的工作稳定性.
References)
[1]朱博.基于M2M技术的远程数据采集系统研究[D].重庆:重庆大学光电工程学院,2009.
[2]肖铁.嵌入式车载导航系统的设计与开发[D].兰州:兰州理工大学电气工程与信息工程学院,2009.
[3]宋清昆,刘小磊.GPS车辆监控系统车载终端的设计与实现[J].自动化技术与应用,2009,28(12):42-46.Song Qingkun,Liu Xiaolei.Design and implementation of GPS vehicle monitoring system terminal[J].Techniques of Automation and Applications,2009,28(12):42-46.(in Chinese)
[4]彭新玉,周月.M2M 平台整体解决方案[J].邮电设计技术,2011(7):13-18 Peng Xinyu,Zhou Yue.The total solution on M2M platform[J].Designing Techniques of Posts and Telecommunications,2011(7)(in Chinese)
[5]Ning Tao.Vehicular GPS monitor system based on GPRS network[C]//Proceedings of 2007 International Symposium on Microwave,Antenna,Propagation and EMC Technologies for Wireless Communications.Hangzhou,China,2007:277-280.
[6]Chadil N.Real-time tracking management system using GPS,GPRS and Google Earth[C]//Proceedings of the 5th International Conference on Electrical Engineering/Electronics,Computer,Telecommunications and Information Technology.Krabi,Thailand,2008:393-396.
[7]STMicroelectronics group of companies.STM32F103x4-6[EB/OL].(2009-09-24)[2012-04-05].http://www.st.com.
[8]翟顺,王卫红,张衎,等.基于SIM900A的物联网短信报警系统[J].现代电子技术,2012,35(5):86-89.Zhai Shun,Wang Weihong,Zhang Kan,et al.IOT SMS alarm system based on SIM900A[J].Modern Electronics Technique,2012,35(5):86-89.
[9]Shanghai SIMCom Wireless Solutions Ltd.SIM900 AT commands set[EB/OL].(2010-1-15)[2012-04-05]http://www. propox. com/download/docs/SIM900-AT.pdf.
[10]刘玮,肖青,王哲伟,等.无线机器通信协议(WMMP)M2M平台与终端接口分册(WMMP-T)[R].中国移动通信有限公司研究院,2010.