基于GPSOne的貴重物品跟蹤系統(tǒng)終端設計
DTGS-800與單片機接口使用的是3線(TXD,RXD,GND)串口,利用AT指令可以實現(xiàn)打電話、發(fā)短信及定位等功能,但是在上網(wǎng)和數(shù)據(jù)傳輸時需要接串口的流控信號(如RTS、CTS及DTR等)。RTS為請求發(fā)送信號;CTS為清除發(fā)送信號,起流控作用;DTR為數(shù)據(jù)終端準備好信號,用來指示上網(wǎng)時數(shù)據(jù)連接的有效性,系統(tǒng)中使用單片機的一個I/O口來控制。當DTR=1時,表示允許數(shù)據(jù)連接。此時單片機向DTGS-800發(fā)送上網(wǎng)指令,DTGS -800就被允許連接到Internet,單片機即可通過串口控制DTGS-800向指定IP地址和端口號的服務器上傳輸數(shù)據(jù)。注意,當模塊處于數(shù)據(jù)連接有效狀態(tài)時,是不響應任何AT指令的。當數(shù)據(jù)傳輸完畢時,將DTR置0可斷開數(shù)據(jù)連接,此時DTGS-800就可以再次響應AT指令。本文引用地址:http://m.butianyuan.cn/article/152345.htm
3 系統(tǒng)軟件設計
單片機與DTGS-800通信,分為單片機控制DTGS-800執(zhí)行相應的功能,以及控制 DTGS-800通過網(wǎng)絡向監(jiān)控服務器傳輸數(shù)據(jù)2部分。單片機控制DTGS-800執(zhí)行相應的功能,只需要通過串口給DTGS-800發(fā)送AT指令,不同的AT指令可以實現(xiàn)不同的功能。AT命令是以“AT”為首,CR>字符結(jié)束的字符串。單片機每向模塊發(fā)送一個AT指令,模塊都會返回數(shù)據(jù)。返回的數(shù)據(jù)是以CR>LF>結(jié)束的字符串。單片機收到數(shù)據(jù)之后,要經(jīng)過一定的解析和處理,才能重新發(fā)送給監(jiān)控服務器。串口的設置如下:115 200 bps,8位數(shù)據(jù)位,1位停止位。單片機控制DTGS-800向監(jiān)控服務器發(fā)送數(shù)據(jù)時,定義了相應的數(shù)據(jù)格式:幀頭+數(shù)據(jù)內(nèi)容。幀頭包括以下內(nèi)容:16字節(jié)定長的R-UIM卡號碼、1字節(jié)的命令標識、1字節(jié)的數(shù)據(jù)內(nèi)容長度。當數(shù)據(jù)內(nèi)容長度不夠時,按左對齊,右側(cè)填0x00。數(shù)據(jù)內(nèi)容即發(fā)送的數(shù)據(jù)。命令標識定義命令的類型,命令類型說明如表1所列。
例如,當發(fā)送的數(shù)據(jù)是定位信息時,幀數(shù)據(jù)依次是:16字節(jié)的R-uIM卡號碼(通常為11字節(jié)),類似于手機號碼,不夠16字節(jié)時,后面補0x00;1字節(jié)的數(shù)據(jù)內(nèi)容長度,用來說明每幀幀頭后面發(fā)送的數(shù)據(jù)內(nèi)容的字節(jié)數(shù);1字節(jié)的命令標識,表明發(fā)送的數(shù)據(jù)幀的意義,如果是定位信息,則發(fā)送的是0x12;緊接著是數(shù)據(jù)內(nèi)容。在通信協(xié)議里還規(guī)定了不同信息內(nèi)容的數(shù)據(jù)格式。 |
注意:在TCP連接并發(fā)送數(shù)據(jù)時使用了握手機制,即應答機制。為使系統(tǒng)的流程更加清晰,圖5中未給出握手過程。當DTGS-800模塊向監(jiān)控端發(fā)送數(shù)據(jù)時,監(jiān)控端需要根據(jù)情況返回應答信號;模塊如果在規(guī)定的時間內(nèi)沒有得到應答,默認為連接超時。為避免在TCP連接過程中由于沒有收到應答而出現(xiàn)死機情況,系統(tǒng)中運用了超時重傳機制,保證了通信的可靠性。 結(jié) 語 |
評論