AT命令網絡撥號上網


基礎概念概述: 參考如下兩個連接博客,在此表示感謝

https://www.cnblogs.com/jiangzhaowei/p/9244154.html

http://www.360doc.com/content/15/0805/10/18945873_489618176.shtml

ppp撥號與用at命令實現gprs網絡通信有什么區別?ppp撥號完成的哪一步驟?
先通過AT命令,讓設備激活PDP,然后PC切換到數據模式,由操作系統發起PPP協商,獲取IP地址和鑒權,然后就可以上網了。

https://blog.csdn.net/caijiwyj/article/details/90769663

 ISP:  ["中國聯通", "中國移動", "中國電信"];
 APN:  ["3gnet", "cmnet", "internet"];
DIALNUM:["*99#", "*99#", "*99#"];

AT命令操作都需要用戶名和密碼。默認即可;

1,at+cpin?  准備

2. AT+CFUN=1 啟用通信3g模塊

3. AT+CGDCONT=1,"IP","internet",,0,0
設置環境包含一組與 PDP 相關的參數

4. ATD*99# 撥號

返回CONNECT   表示at操作DPD(分組數據協議)完成;

at命令操作的所有內容完成; 剩下由pc機器的ppp模塊和服務商協商,獲取IP地址和鑒權;

==================================================================

參考 資料:

pdf:    ML7810 LTE模塊AT指令集_V1.0

電信文檔:https://wenku.baidu.com/view/ef82e5efb8f67c1cfad6b874.html

==============================================================

#comgt -s EVDO_conn.scr -d /dev/ttyUSB1   執行at命令腳本文件

#microcom -s 115200 /dev/ttyUSB1                  DTE和DCE串口通信工具

=================================================================

EVDO_conn.scr

opengt
set com 460800n81
set senddelay 0.03
waitquiet 1 0.2

let $x=$rpipe("nvram get modem_pin")
let a=len($x)
if a<4 goto ready
if a>8 goto ready
let c=0

:test
let $c=$mid($x,c,1)
if $c<"0" goto ready
if $c>"9" goto ready
inc c
if c<a goto test

send "AT+CPIN?^m"
waitfor 10 "SIM PIN","SIM PUK","READY","ERROR","ERR","COMMAND NOT SUPPORT"
if % = 0 goto enterpin
goto ready

:enterpin
send "AT+CPIN=\""+$x+"\"^m"
waitfor 10 "OK","ERR","ERROR","+CME ERROR","COMMAND NOT SUPPORT"
if % = -1 goto pintimeerror
if % = 0 goto ready

:pinerror
let $e="PIN Error! Caution - entering the wrong PIN code three times will lock the SIM!"
print $e+"\n"
system "logger -t comgt \""+$e+"\""
send "ATH^m"
exit 1

:pintimeerror
let $e="ERROR: timeout, device did not respond to PIN command entry!"
print $e+"\n"
system "logger -t comgt \""+$e+"\""
send "ATH^m"
exit 1

:ready
send "ATZ^m"
waitfor 10 "OK","ERR","ERROR"
if % = -1 goto timeerror
if % = 0 goto atcmd
goto error

:atcmd
let $x=$rpipe("nvram get modem_cmd")
let a=len($x)
if a<3 goto dial

send $x+"^m"
waitfor 10 "OK","ERR","ERROR","+CME ERROR","COMMAND NOT SUPPORT"
if % = 0 goto dial
let $e="ERROR sending user AT command! Try to continue..."
print $e+"\n"
system "logger -t comgt \""+$e+"\""

:dial
let $x=$rpipe("nvram get modem_dialnum")
let a=len($x)
if a=0 goto error

send "ATD"+$x+"^m"
waitfor 20 "CONNECT","ERR","ERROR"
if % = -1 goto timeerror
if % = 0 goto dialok
goto error

:dialok
let $e="CONNECTION ESTABLISHED!"
print $e+"\n"
exit 0

:error
let $e="ERROR: CONNECT ERROR!"
print $e+"\n"
system "logger -t comgt \""+$e+"\""
send "ATH^m"
exit 1

:timeerror
let $e="ERROR: CONNECT TIMEOUT!"
print $e+"\n"
system "logger -t comgt \""+$e+"\""
send "ATH^m"
exit 1

=========================================================

AT+ZGAAT=0
在AT+CFUN=1之前命令用作對 PS 服務進行設置永久在線或用時在線,
其起效時間由當前的附着狀態和設置值決定
AT+CGEQREQ? 上下文激活請求發送
AT+CGATT? 查詢當前附着/去附着到分組域服務 0未附着
AT+CGATT=1 設置MT 附着1/去附着0到分組域服務
AT+COPS? 多等等 查詢卡注冊情況
AT+COPS? 搜網
AT+COPS=0 判斷是否注冊登錄,並自動聯網

AT+CGACT=1,1 激活/去激活指定的pdp,返回6000通信通道阻塞
AT+CGACT?
ATD*99*1# 設置命令建立 MT 與外部 PDN 的通信通道,包括附着和 PDP 上下文的激活,進入數據態。返回命令態時返回 NO CARRIER

 

AT+CGACT=1,1 激活/去激活指定的pdp,返回6000通信通道阻塞
AT+CGACT?
ATD*99*1# 設置命令建立 MT 與外部 PDN 的通信通道,包括附着和 PDP 上下文的激活,進入數據態。返回命令態時返回 NO CARRIER

======================================

AT命令狀態
PPP數據狀態

MS移動台:
  ME移動設備
    MT 移動終端
    TE 終端設備
  用戶識別模塊SIM

DTE 數據終端設備/TE 終端設備
DCE 數據電路終端設備/TA 終端適配器
PDP 分組數據協議

ps域服務基於ip

lcp 鏈路層協商

GGSN網關gprs支持節點

IPCP客戶端與服務器協商

ppp (DL數據鏈路層的封裝操作)

 

====

1. AT (選填)
2. //可不寫ATS0=1(pdp上下文激活請求‘s0’) 或者 ATZ
3. DPD參數配置

AT+CGDCONT=1,"IP","internet",,0,0
AT+CGDCONT=1,"IP","internet"    
AT+CGDCONT=1,"IP",""
選填 AT+ZGAAT=0 AT+CFUN=1
調試使用(選填)
  AT+CGEQREQ?
  AT+CGDCONT=1,"IP",""  //填寫參數
  AT+CGATT? //附着
  AT+CGATT=1

AT+CGACT=1,1  激活/去激活指定的pdp

 

4. ATD*99#(撥號) /ATD*98*1# /ATD*99***1# /ATD*99*1#

(3和4時必須填寫的選項)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM