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