基于CDMA模块的车载监控终端的设计方案(4)
2012年05月14日 10:42 来源:本站整理 作者:秩名 我要评论(0)
3.2.1 定位任务
定位任务负责采集车辆的交通信息,包括经度、维度、速度、行进方向等,在发送定位命令之前首先查询模块的工作状态,然后通过串口发送AT 命令进行定位请求,如果串口接收到“OK”信息,则系统进入到SYS_GET_GPS_INFO 状态。
接收的数据首先存储在串口的buffer 中,定义了如下GPS 数据处理函数:
typedef struct
{
BYTE UTC[10]; //时间
BYTE Latitude[10]; //纬度
BYTE Longitude[11]; //经度
BYTE rec_flg; //状态
BYTE Velocity[5]; //速度
BYTE Direction[5]; //方向
}GPS_STR;
void Gps_Data(WORD head) 将数据读入到GPS 数据buffer 中
void GpsData_PRO(void) 解析GPS 中的相关信息以方便进一步处理;
GPS 数据解析完成以后,再利用短消息的形式将车辆的交通信息发送到监控中心。
3.2.2 短信息任务
DTGS800 提供了两种不同的短信息服务协议,一种为简单协议,适合于一些简单的应用,一种为扩展协议,收发的格式比较复杂。本系统采用了扩展的SMS 协议。
3.2.2.1 短消息发送流程
1)给模块发送命令“AT+CAD? ”检测模块的工作状态,如果返回值为1 表示模块工作正常;如果为0 则表示模块暂时不可用,等待几秒空闲后再进行检测;2)给模块发送命令“AT+SMSS? ”,通过返回值检测模块的状态,如果模块返回值为3,表示模块等待接受发送的数据;3)发送解析的GPS 信息,又一次给模块发送命令“AT+SMSS? ”,如果模块返回值为1,表示发送信息成功;4)调用显示函数,在屏幕上显示“短信息发送成功”。
3.2.2.2 短消息接受流程
1)判断系统状态,如收到短信,给模块发送命令“AT+SMSR”,读取收到的短信息;2) 对收到的短信息做数据处理, 存放在Buffer 中; 调用函数UnicodeToGB()将收到的Unicode 码转化为GBK 码;3)调用显示函数循环显示未读取的短信息,当用户读取信息后,系统返回到空闲态,等待下一步的指令。
4.结论
通过系统实测,发现本车载监控终端系统可以很好的实现车辆交通信息的采集,接收监控中的调度信息、控制信息,具有通信可靠、良好的扩展性等特点。
本文导航
- 第 1 页:基于CDMA模块的车载监控终端的设计方案(1)
- 第 2 页:系统软件设计
- 第 3 页:接口函数
- 第 4 页:定位任务
标签: