使用AT命令和GPRS無線模組開發

2021-06-18 08:18:41 字數 2202 閱讀 4770

使用at命令和gprs無線模組開發(軟體)

1 at指令簡介 at指令集一般指專門用來控制數據機的指令集。該指令集最初由美國hayes公司推出,專門用於資料傳輸通訊領域,目前己成為全球通用的標準,任何與hayes相容的數據機都可使用這些指令。 at指令是以at開頭、結尾的特定字串,at後面緊跟的字母和數字表明at指令的具體功能。

at指令具有以下特點: ①幾乎所有的at指令(除了「a/」及「+++」兩個指令外)都以乙個特定的命令字首開始,以乙個命令結束標誌符結束。命令字首一般由at兩個字元組成,命令結束符通常為。 ②每一條at指令執行完後,數據機都會返回乙個結果,以對接收到的命令作出應答。 指令集分成標準at指令集(standard v.25ter atcommands)、at增強指令集(at commands for en-hanced functions)和傳真指令集(at commands fo***x)等。根據具體的產品,不同的廠商還會設計特殊的指令集供設定使用,例如奉系統中使用的無線gsm模組,根據etsi-gsm07.07和etsi-gsm07.05協議,給數據機增加了一些擴充指令。

2 登入ggsn的過程   系統的乙個難點是微控制器登陸gprs閘道器(ggsn)並與閘道器通過lcp、pap、ipcp協議進行協商的過程。lcp、pap與ipcp協議的幀結構大同小異,最常用的為請求(req)、同意(ack)和拒絕(nak)三種幀。微控制器與ggsn各為一方進行協商,任何一方都可以傳送req幀請求某方面的配製,另一方覺得配置不能接受會回應nak幀,如果可以則回應ack幀。為了節省資源,我們只處理這三種資料幀,其它鏈路問題都由微控制器在程式控制下自己重新撥號解決。   協商過程大致描述如下:在撥號成功連線後,ggsn首先會返回乙個pap req資料幀。我們傳送乙個空lcp req幀,以強迫進行協議協商階段。隨後,ggsn傳送lcp設定幀,我們拒絕所有的設定並請求驗證模式。ggsn選擇chap或pap方式驗證,我們只接受pap方式。然後,進行pap驗證使用者名稱和密碼過程,在gprs中使用者名稱與密碼都為空,如果成功,ggsn會返回ipcp報文分配動態ip位址。此時,就完成了與ggsn的協商過程。協商過程的狀態轉換如圖4所示。

3 軟體設定 硬體連線完成後,在進行gprs上網操作之前,首先要對gprs模組進行一定的設定。主要的設定工作有:

① 設定通訊波特率。可以使用「at+ipr=115200」命令,把波特率設為115 200 bps或者其他速率。simcom模組預設為ll5200 bps。

② 設定接入網關,通過at+ cgdcont=1, 「ip」, 「cmnet」命令設定gprs接入網關為移動夢網。

③設定移動終端的類別,通過at+cgclass=「b」設定移動終端的類別為b類,即同時監控多種業務;但只能執行一種業務,即在同一時間只能使用gprs上網,或者使用gsm的語音通訊。

④ 測試gprs服務是否開通,使用at+cgact=1,1命令啟用gprs功能。如果返回ok,則gprs連線成功;如果返回error,則意味著gprs失敗。這時應檢查一下sim卡的gprs業務是否已經開通,gprs模組天線是否安裝正確等問題。 中國移動在gprs與internet網中間建立了許多相當於isp的閘道器支援節點(ggsn),以連線gprs網與外部的internet網。gprs模組可以通過撥「*99***1#」登入到ggsn上動態分配到internet網的ip位址。其間gprs模組與閘道器的通訊要符合點對點協議(point to point protocol, ppp),其中身份驗證時使用者名稱、密碼都為空。使用ppp協議登入上之後,就可以通過ggsn接上internet了。

gprs moderm實現tcp連線的at指令主要操作步驟: at/r at+ccid/r //檢測是否裝有sim 卡

at+cgmr/r //檢測軟體版本,5.0 以上的才有gprs 功能支援

at+csq/r //檢測訊號質量,確定是否可以登陸上網路;若返回10--31,0之間的訊號數字則繼續, 如果訊號是99,99,則應該考慮不停的的讓模組去搜尋網路。

at+cgclass="b"/r //設定模組工作型別

at+cgdcont=1,"ip","cmnet"/r at+cgatt=1 //啟用pdp,獲得ip

at+cipcsgp=1,"cmnet"/r at+cipstart="tcp",211.147.18.79,1433/r at+cipsend/r > //返回「>」後輸入要傳輸的資料,再傳送ctrl+z,即將所要傳送的資料傳送到指定ip的伺服器上

at+cipclose/r //只有在tcp/udp處於connect ok的狀態下才返回ok,否則返回error at+cipshut/r //關閉移動場景

GPRS模組AT呼叫控制命令

atd 撥號命令。這個命令用來設定通話 資料或傳真呼叫。ath掛機命令。ata接 at ceer 擴充套件錯誤報告。這個命令給出當上一次通話設定失敗後中斷通話的原因。at vtd 給使用者提 用gsm網路傳送dtmf 雙音多頻 雙音訊。這個命令用來定義雙音訊的長度 預設值是300毫秒 at vts ...

GPRS基本命令使用

顯示模組資訊 ati 查詢sim 卡的狀態 查詢訊號 at csq 查詢sim卡的 商 at cops?如果返回 cops 0,0,chn unicom 表示 商為中國聯通,返回 cops 0,0,chian mobile 為中國移動 查詢使用者號碼 at cnum 查詢開發板的狀態 at cpas...

GPRS模組協議棧和終端協議棧的區分

1.模組 外部 協議棧 即採用at指令收 發資料,由gprs模組組tcp ip協議幀與伺服器通訊,這裡的at指令,資料都是通過乙個串列埠可以實現 2.終端 內部 協議棧 終端自身採用pppd內建tcp ip協議與gprs模組和伺服器通訊 實際物理通訊串列埠只有乙個,要麼用於at指令收發,要麼用於pp...