基礎概念概述: 參考如下兩個連接博客,在此表示感謝
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
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時必須填寫的選項)