基于GPSOne的貴重物品跟蹤系統終端設計
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指令。本文引用地址:http://www.104case.com/article/152345.htm
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;緊接著是數據內容。在通信協議里還規定了不同信息內容的數據格式。 |
注意:在TCP連接并發送數據時使用了握手機制,即應答機制。為使系統的流程更加清晰,圖5中未給出握手過程。當DTGS-800模塊向監控端發送數據時,監控端需要根據情況返回應答信號;模塊如果在規定的時間內沒有得到應答,默認為連接超時。為避免在TCP連接過程中由于沒有收到應答而出現死機情況,系統中運用了超時重傳機制,保證了通信的可靠性。 結 語 |
評論