• 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+" "
    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+" "
    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+" "
    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+" "
    exit 0

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

    :timeerror
    let $e="ERROR: CONNECT TIMEOUT!"
    print $e+" "
    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时必须填写的选项)

  • 相关阅读:
    Java Web开发 之VO、PO、DTO等收集
    Hive的安装与使用
    各种默认回车提交表单
    A/B Problem
    A+B Problem II
    A+B Problem IV
    关于521
    劝你别做
    无主之地1
    A+B Problem(V)
  • 原文地址:https://www.cnblogs.com/Sam-2018/p/AT_DEMO.html
Copyright © 2020-2023  润新知