一切以移远应用指导手册为准。

名词解释

  • GPRS:General Packet Radio service,通用分组无线业务

    是一种基于GSM系统的无线分组交换技术,提供端到端的、广域的无线IP连接。相对原来GSM的拨号方式的电路交换数据传送方式,GPRS是分组交换技术,具有“实时在线”“按量计费”“快捷登录”“高速传输”“自如切换”的优点。通俗地讲,GPRS是一项高速数据处理的技术,方法是以“分组”的形式传送资料到用户手上。GPRS是GSM网络向第三代移动通信系统过渡的一项2.5代通信技术,在许多方面都具有显著的优势。

  • PDN:Public Data Network,公用数据网

    为公众提供数据通信服务的通信网。由交换机、网控中心、用户入网设备、通信线路等设施组成。每个入网用户可与网上其他用户通信,公用数据网负责数据在其间作透明的无差错传输。有公用数字数据网、公用分组交换数据网、公用帧中继网、公用ATM(异步传送模式)网等之分。它除了向公众提供一般的数据交换平台服务外,还提供公用电子信箱业务、公众宽带多媒体业务、公用电子数据交换业务、公众互联网业务、公用无线数据通信网及相应的业务等。

  • PDP:Packet Data Protocol,分组数据协议

    是外部PDN网与GPRS接口所用的网络协议。

    PDP附着(PDP-Attach)在PDP激活、PDP更新、PDP去激活之前的操作是PDP附着。

    PDP附着是让终端登录到PS域里,就是登记到SGSN/PDSN的数据库,同时在HLR里进行PS域的location update,此时是control-plane还没有流量,相当于拨号成功。

    相对于PDP激活(PDP-activation)就是开始进行数据流通了,也就是开始打开网页上网了,此时有userplane流量了。

    分组数据协议(Packet Data Protocol,PDP)包括PDP地址和PDP上下文两个概念。PDP地址是数据用户的网络层地址,可以有一个或多个,这由该用户所涉及的外部网络来决定。PDP地址与标准的网络层地址(如IPv4地址、IPv6地址和X.121地址)建立了临时或永久性的关联。PDP地址可以有以下3种方式分配给MS。

    1. 静态PDP地址,HPLMN将一个PDP地址永久性地分配给MS。
    2. 动态HPLMN PDP地址,当激活一个PDP上下文时,HPLMN才将一个PDP地址临时分配给MS。
    3. 动态VPLMN PDP地址,当激活一个PDP上下文时,VPLMN才将一个PDP地址临时分配给MS。
  • PDP上下文:主要包括以下一些信息:APN、Qos、PDP 类型、PDP 地址等。即是移动场景,英文全称PDP Context,PDP是分组报文协议的简写,Context翻译成上下文。

  • APN:Access Point Name,接入点

    APN指一种网络接入技术,是通过手机上网时必须配置的一个参数,它决定了手机通过哪种接入方式来访问网络。

  • APN设置

    是用户在通过手机上网时必须配置的一个参数,它决定了用户手机通过哪种接入方式来访问移动网络。根据接入点名称,可以确定在分组数据链接中提供什么服务。这些服务可能包括:公众互网的链接;到WAP的连接,以转发互联上的网页;提供短消息,或多媒体业务。

TCP/IP流程

  • 通过AT+QICSGP命令配置APN

    1
    2
    3
    4
    5
    6
    7
    AT+QICSGP=1,1,"UNINET","","",1   //UENINET联通

    AT+QICSGP=1,1,"CMNET" //CMNET 移动

    AT+QICSGP=<contextID>[,<context_type>,<APN>[,<username>,<password>)[,<authentication>]]]
    //<contextID>场景ID,
    //<context_type>协议类型:1-IPv4,2-IPv6,3-IPv4v6,<APN>接入点名称
  • 激活场景

    1
    2
    3
    AT+QIACT=1	//激活场景1

    AT+QIACT? //查询场景状态,IP
  • TCP连接

    1
    AT+QIOPEN=1,0,"TCP","220.180.239.212",8009,0,2
  • 关闭SOCKET

    1
    AT+QICLOSE=<connectID> //<connectID>socket id

MQTT流程

  • 配置可选参数

    1
    2
    3
    4
    AT+QMTCFG=?

    //可以选择配置ssl,如果选择ssl,则必须配置证书,
    //否则在打开MQTT客户端网络时会报:网络断开导致错误
  • 打开MQTT客户端网络

    1
    2
    3
    4
    5
    6
    AT+QMTOPEN=0,"qzwjer.top",1883

    //0为MQTT客户端标识符,对某个标志符配置参数,
    //之后可使用此标志符进行MQTT通信

    //回复0,0正常
  • 关闭MQTT客户端网络

    1
    AT+QMTCLOSE=0
  • 连接客户端到 MQTT 服务器

    1
    2
    3
    AT+QMTCONN=0,"client0"

    //client0为终端名
  • 客户端断开与 MQTT 服务器的连接

    1
    2
    3
    AT+QMTDISC=0

    //不太清楚 和 关闭MQTT客户端网络 的区别
  • 订阅、退订、发布消息

    1
    2
    3
    4
    5
    6
    AT+QMTSUB=0,1,"topic/example",2   //订阅主题

    AT+QMTUNS=0,2,"topic/example" //退订主题

    AT+QMTPUBEX=0,0,0,0,"topic/pub",30
    //发布消息,发送命令后收到“>”响应,发送数据。 30为数据长度

GNSS配置

GNSS只需要注意配置优先级即可。

1
2
3
4
5
6
7
AT+QGPSCFG="priority",1
//GNSS优先级1,LTE会中断定位,结束后重新开始

AT+QLOCREL=3,3 //GNSS配置
AT+QGPS=1 //打开GNSS
AT+QGPSLOC=0 //获取定位
AT+QGPSEND //GNSS休眠