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