DTGS-800与单片机接口使用的是3线(TXD,RXD,GND)串口,利用
AT指令可以实现打电话、发短信及定位等功能,但是在上网和数据传输时需要接串口的流控信号(如RTS、CTS及DTR等)。RTS为请求发送信号;CTS为清除发送信号,起流控作用;DTR为数据终端准备好信号,用来指示上网时数据连接的有效性,系统中使用单片机的一个I/O口来控制。当DTR=1时,表示允许数据连接。此时单片机向DTGS-800发送上网指令,DTGS -800就被允许连接到Internet,单片机即可通过串口控制DTGS-800向指定IP地址和端口号的服务器上传输数据。注意,当模块处于数据连接有效状态时,是不响应任何
AT指令的。当数据传输完毕时,将DTR置0可断开数据连接,此时DTGS-800就可以再次响应
AT指令。
3 系统软件设计
单片机与DTGS-800通信,分为单片机控制DTGS-800执行相应的功能,以及控制 DTGS-800通过网络向监控服务器传输数据2部分。单片机控制DTGS-800执行相应的功能,只需要通过串口给DTGS-800发送AT指令,不同的AT指令可以实现不同的功能。AT命令是以“AT”为首,<CR>字符结束的字符串。单片机每向模块发送一个AT指令,模块都会返回数据。返回的数据是以<CR><LF>结束的字符串。单片机收到数据之后,要经过一定的解析和处理,才能重新发送给监控服务器。串口的设置如下:115 200 bps,8位数据位,1位停止位。单片机控制DTGS-800向监控服务器发送数据时,定义了相应的数据格式:帧头+数据内容。帧头包括以下内容:16字节定长的R-UIM卡号码、1字节的命令标识、1字节的数据内容长度。当数据内容长度不够时,按左对齐,右侧填0x00。数据内容即发送的数据。命令标识定义命令的类型,命令类型说明如表1所列。
例如,当发送的数据是定位信息时,帧数据依次是:16字节的R-uIM卡号码(通常为11字节),类似于手机号码,不够16字节时,后面补0x00;1字节的数据内容长度,用来说明每帧帧头后面发送的数据内容的字节数;1字节的命令标识,表明发送的数据帧的意义,如果是定位信息,则发送的是0x12;紧接着是数据内容。在通信协议里还规定了不同信息内容的数据格式。 系统软件工作过程如下:在运输过程中,单片机使用定时器定时向监控平台服务器发送定位信息。发送的数据格式遵照前面所述的通信协议数据格式。首先,单片机向DTGS-800发送定位指令“AT+GPSSRT”,CD-MA模块完成定位后向单片机返回定位信息。单片机对此信息进行解析,提取经纬度及当前时间等有效信息后对数据进行转换;再向模块发送上网指令“ATDT1123”,数据连接状态有效后,就开始向监控服务器发送定位信息。当行程开关动作时,首先要发送上网指令和报警信息,然后按照上面的步骤进行通信。软件流程如图5所示。 |
注意:在TCP连接并发送数据时使用了握手机制,即应答机制。为使系统的流程更加清晰,图5中未给出握手过程。当DTGS-800模块向监控端发送数据时,监控端需要根据情况返回应答信号;模块如果在规定的时间内没有得到应答,默认为连接超时。为避免在TCP连接过程中由于没有收到应答而出现死机情况,系统中运用了超时重传机制,保证了通信的可靠性。 结 语 传统的GPS定位技术在物流中应用时,除了使用GPS模块之外,还需要另外使用GSM模块等其他辅助硬件才能实现定位报警功能。而在本文基于GPSOne技术的定位终端中,DTGS-800模块融合了定位、GSM及CDMA网络服务等多种功能,集成度和性价比高。系统测试表明,本方案在楼群密集的市区或者室内实现了精确定位,克服了GPS技术定位盲区的缺点。此系统装置体积小,便于安装在物品集装箱内;定位数据能及时地通过网络发送到物流公司的监控平台服务器上,便于实时监控和管理;还可以在发生物品被盗事件时及时报警,便于物流公司查清事实,追究责任,在一定程度上能防止物流公司内部员工盗窃。
|