基于CDMA模塊的車載監(jiān)控終端的設(shè)計(jì)方案
if(cmp_com_str(“MISSED_CALL ”,Locat,1)) 判斷狀態(tài)
本文引用地址:http://butianyuan.cn/article/196720.htm{
Missed_call_deal(); 未接來(lái)電處理函數(shù)
dataout = Locat;//go
Reccnt = Reccnt -4;
clrline(line_1);
display_app(0x82, “未接電話:”); 顯示函數(shù)
start_nom_ref();
Sys_state = SYS_IDLE_STATE; 進(jìn)入空閑態(tài)
break;
}
3.2.1 定位任務(wù)
定位任務(wù)負(fù)責(zé)采集車輛的交通信息,包括經(jīng)度、維度、速度、行進(jìn)方向等,在發(fā)送定位命令之前首先查詢模塊的工作狀態(tài),然后通過(guò)串口發(fā)送AT 命令進(jìn)行定位請(qǐng)求,如果串口接收到“OK”信息,則系統(tǒng)進(jìn)入到SYS_GET_GPS_INFO 狀態(tài)。
接收的數(shù)據(jù)首先存儲(chǔ)在串口的buffer 中,定義了如下GPS 數(shù)據(jù)處理函數(shù):
typedef struct
{
BYTE UTC[10]; //時(shí)間
BYTE Latitude[10]; //緯度
BYTE Longitude[11]; //經(jīng)度
BYTE rec_flg; //狀態(tài)
BYTE Velocity[5]; //速度
BYTE Direction[5]; //方向
}GPS_STR;
void Gps_Data(WORD head) 將數(shù)據(jù)讀入到GPS 數(shù)據(jù)buffer 中
void GpsData_PRO(void) 解析GPS 中的相關(guān)信息以方便進(jìn)一步處理;
GPS 數(shù)據(jù)解析完成以后,再利用短消息的形式將車輛的交通信息發(fā)送到監(jiān)控中心。
3.2.2 短信息任務(wù)
DTGS800 提供了兩種不同的短信息服務(wù)協(xié)議,一種為簡(jiǎn)單協(xié)議,適合于一些簡(jiǎn)單的應(yīng)用,一種為擴(kuò)展協(xié)議,收發(fā)的格式比較復(fù)雜。本系統(tǒng)采用了擴(kuò)展的SMS 協(xié)議。
3.2.2.1 短消息發(fā)送流程
1)給模塊發(fā)送命令“AT+CAD? ”檢測(cè)模塊的工作狀態(tài),如果返回值為1 表示模塊工作正常;如果為0 則表示模塊暫時(shí)不可用,等待幾秒空閑后再進(jìn)行檢測(cè);2)給模塊發(fā)送命令“AT+SMSS? ”,通過(guò)返回值檢測(cè)模塊的狀態(tài),如果模塊返回值為3,表示模塊等待接受發(fā)送的數(shù)據(jù);3)發(fā)送解析的GPS 信息,又一次給模塊發(fā)送命令“AT+SMSS? ”,如果模塊返回值為1,表示發(fā)送信息成功;4)調(diào)用顯示函數(shù),在屏幕上顯示“短信息發(fā)送成功”。
3.2.2.2 短消息接受流程
1)判斷系統(tǒng)狀態(tài),如收到短信,給模塊發(fā)送命令“AT+SMSR”,讀取收到的短信息;2) 對(duì)收到的短信息做數(shù)據(jù)處理, 存放在Buffer 中; 調(diào)用函數(shù)UnicodeToGB()將收到的Unicode 碼轉(zhuǎn)化為GBK 碼;3)調(diào)用顯示函數(shù)循環(huán)顯示未讀取的短信息,當(dāng)用戶讀取信息后,系統(tǒng)返回到空閑態(tài),等待下一步的指令。
4.結(jié)論
通過(guò)系統(tǒng)實(shí)測(cè),發(fā)現(xiàn)本車載監(jiān)控終端系統(tǒng)可以很好的實(shí)現(xiàn)車輛交通信息的采集,接收監(jiān)控中的調(diào)度信息、控制信息,具有通信可靠、良好的擴(kuò)展性等特點(diǎn)。
cdma相關(guān)文章:cdma原理
評(píng)論