2 数据采集传输协议与AT命令
2. 1 GPS 数据采集及NMEA??0183 协议
GPS 模块, GPS 信号接收机和设备软件以及GPS 数据的后处理软件包构成完整的GPS 模块。车载终端GPS定位模块选择了RoyalTek 公司的REB??1315LPX, 根据NMEA-0183 协议完成GPS 定位信息的采集。
NMEA-0183 协议, NMEA 即Nat iONal Mar ine Electronics Associat ion, 是美国国际海洋电子协会的缩写。
NMEA-0183 协议是该组织为海用电子设备制定的标准格式, NMEA??0183 协议语句采用ASCI I 码, 串行通信默认参数为, 波特率4 800 bps, 8 位数据位, 1 位开始位, 1 位停止位, 无奇偶校验位。其包含的语句种类有: GPGGA,GPGSA, GPGSV, GPRMC, GPV TG.系统采用GPRMC格式, 可以完成所需定位信息的采集。
2. 2 GPRS数据传输模块及AT 命令
GPRS 数据传输模块选择SIMComWirelESS SolutionLtd 开发的一款紧凑型双频GSM/ GPRS 无线通信模块SIM900A.工作频率为GSM/ GPRS 900/ 1 800 MHz, 其在GPRS 无线网络连接条件下, 可嵌入TCP/UDP 协议、FTP/ HTT P 等协议的数据通信, 数据下行速率最大可达到85. 6 kbps.
AT 指令集是从终端设备T E( terminal equipment) 或数据终端设备DTE( data terminal equipment) 向终端适配器TA( terminal adapter ) 或数据电路终端设备DCE( datacircuit terminal equipment) 发送的。通过T A, T E 发送AT 指令来控制移动台MS(mobile st ation) 的功能。系统网络传输中用到的AT 命令有如下几种:
AT + CMGF= 1 设置消息内容为文本模式;
AT + CMGS = " 138xxxxxxxx"短消息发送目标号码;
AT + CIPST ART = "T CP/U DP", "120. 192. 209.83", "8030"
TCP/ UDP 方式连接服务器, 服务器IP 为120. 192.209. 83, 端口为8030;
AT + CIPSEN D , 发送数据指令;
数据内容+ 0x0A , 输入数据内容并以0x0A 为数据结尾;
AT + CIPCLOSE, 关闭连接;
AT + CIPSHUT, 关闭移动场景;
2. 3 套接字Socket
socket, 用于描述IP 地址和端口, 是一个通信链的句柄。服务打开一个Socket, 并绑定到一个端口上, 不同的端口对应于不同的服务。一般Socket 有2 种: 流式Socket( SOCK _ STREAM ) 和数据报式Socket ( SOCK _DGRAM) .流式是一种面向连接的S ocket , 针对于面向连接的TCP 服务应用; 数据报式Socket 是无连接的Socket, 用于UDP 服务应用。
在车载终端和服务器程序中, 定义了不同协议格式的2 种Socket( SOCK_STREAM、SOCK_DGRAM) .Socket作为网络节点, 通过T CP/U DP 协议完成数据发送接收。
3 车载模块与服务器通讯模块软件设计
软件部分设计主要包括车载模块通讯软件和服务器软件通讯模块设计。
3. 1 车载模块通讯软件设计
1) 车载终端处理器芯片
车载模块的处理器选择芯唐M0516 处理器, 车载终端内部通讯包括MCU 与GPS 模块、GPRS 模块、以及周边模块的数据传输。内部数据传输都通过串口完成。以下代码为初始化串口中断, 并使能收发中断, 中断服务函数:
Void init _ 1315 ( PFN _DRVU ART _CA LLBA CK GPS _
INT _HANDLE)
{
STR_U ART_T sParam;
UNLOCKREG( ) ;
SY SCLK??> PWRCON . XT L12M_EN= 1;
/ * 设置串口1 功能引脚* /
DrvGPIO_Init Funct ion( E_FUNC_UA RT 0) ;
/ * 串口通信设置* /
sParam. u32BaudRat e= 9 600;
sParam. u8cDataBits= DRV UART_DAT ABIT S_8;
sParam. u8cSt opBits= DRVU ART _ST OPBIT S_1;
sParam. u8cPar ity= DRVUART _PARIT Y_N ONE;
sParam. u8cRxTriggerLevel = DRVU ART _ FIFO _1BYTES;
while (DrvUART _ Open ( UART _ PORT 0,& sParam) ! = E_SUCCESS) ;
DrvU ART _EnableInt( U ART _PORT0, DRVU ART _RDAINT , GPS_IN T_HANDLE) ;
}
MCU 通过响应串口的中断, 完成车载终端内部数据传输过程。
2) GPS 模块接收数据
GPS 模块采用REB??1315LPX 模块, 其读取定位信息流程如下图2 所示。
图2 REB-1315LPX 模块数据的读取方法
代码较多, 具体实现函数不在此处详述。
(3)GPRS 模块的通讯程序
GPRS 模块与处理器的通信是通过串口完成的, 处理器向GPRS 模块发送AT 指令以及数据。GPRS 模块连接网络后利用TCP/U DP 协议与调度中心服务器进行无线通信。
评论
查看更多