zoukankan      html  css  js  c++  java
  • 【我的物联网成长记8】超速入门AT指令集【华为云技术分享】

    【摘要】 在物联网中,AT命令集可用于控制&调测设备、通信模块入网等。本文为您介绍NB-IoT常用的AT命令集及其调测工具。

    什么是AT指令集

    AT命令,用来控制TE(Terminal Equipment)和MT(Mobile Terminal)之间交互的规则,如下图所示。在GSM网络中,用户可以通过AT命令进行呼叫、短信、电话本、数据业务、传真等方面的控制。

    AT命令是以AT作首,字符结束的字符串,AT命令的响应数据包在中。每个命令执行成功与否都有相应的返回。AT指令集可分为三个类型:

    类别

    语法

    说明

    执行命令

    有参数:AT+<x>=<...>

    无参数:AT+<x>

    用来设置AT命令中的属性。

    测试命令

    AT+<x>=?

    用来显示AT命令设置的合法参数值有哪些(范围)。

    查询命令

    AT+<x>?

    用来查询当前AT命令的设置的属性值。

    大部分模组支持3GPP TS 27.007 AT命令集,并在此基础上扩展出自定义指令集。以C开头的命令如AT+CFUN是是通用的命令,以N开头的命令是模组厂商自定义的命令,不同的模组厂商可能使用不同的命令实现相同的功能。

    在物联网中,AT指令集可用于通信模块调测、控制&调测设备等。本节将以移远通信的BC35-G模组为例,为大家剖析常用的NB-IoT 3GPP相关命令及其常见用法,完整的文档可找模组厂家获取。

    常用AT命令

    • AT+CGSN(查询模块序列号)

      AT+CGSN=<snt>,如果没有写入<snt>,则 只返回"OK”。

      • <snt>=0,返回<sn>。

      • <snt>=1,返回IMEI(国际移动设备识别码),这个序列号每个模块都是唯一的。物联网平台基本都是以IMEI号或者Mac地址来区分不同的设备,包括华为OceanConnect物联网平台。

      • <snt>=2,返回IMEISV(国际移动电台设备身份和软件版本)。

      • <snt>=3,返回软件版本号SVN。

    例:查询IMEI

    发送命令:      

    AT+CGSN=1      

    模块返回:      

    +CGSN:868744036640526      

    OK

    AT+CGMR(查询固件版本)

          执行该命令返回固件版本 。

          例:      

          发送命令:      

          AT+CGMM      

          模块返回:      

          <Revision>       

            OK

    • AT+CMEE(查询终端报错)

      用于设置终端错误报告,使能后当发送AT执行错误时终端会返回错误编码,这样便于定位问题。

      例:

      开启错误码上报

      发送命令:

      AT+CMEE=1

      模块返回:

      OK

    • AT+NRB(重启模块)        

    例:
    发送命令
    AT+NRB
    模块返回:REBOOTING
    ****
    Boot: Unsigned
    Security B.. Verified
    Protocol A.. Verified
    Apps A...... Verified
    REBOOT_CAUSE_APPLICATION_AT
    Neul
    OK

    AT指令集调测工具

    AT指令集调测工具(也称串口调试工具)有IoT Studio、QCOM、SSCOM、XCOM、COMTool。本节为大家重点介绍常用的IoT Studio和QCOM。

    【IoT Studio】

    IoT Studio是基于华为LiteOS嵌入式系统软件开发的工具,支持C,C++、汇编等多种开发语言,提供了代码编辑、编译、烧录及调试等一站式开发体验,可以对系统关键数据进行实时跟踪、保存与回放。

    基于IoT Studio进行AT指令集调测,请参考《IoT开发精英实战营:一往无前》课程的3.5和3.6章节。

    • AT+CSQ(查询信号强度)

      返回值为+CSQ:<rssi>,<ber>。rssi越大,表示信号越强。信号强度和rssi换算公式为:信号强度=113dBm+(rssi*2)。

      没有信号或信号强度过低,需要联系运营商处理。

    • 例:
      发送命令:
      AT+CSQ
      模块返回
      +CSQ:31,99
      OK
      • rssi=0,表示信号非常差。

      • rssi=31,表示信号质量非常强。

      • rssi=99,表示没有信号。

      • ber字段未使用,恒等于99。

    • AT+CGATT(查询网络是否激活)

      返回:+CGATT:1,表示网络已激活;若返回:+CGATT:0,则表示网络未激活,请尝试重启模组激活网络。

    • 例:
      发送命令:
      AT+CGATT?
      模块返回:
      +CGATT:1
      OK
    • AT+CEREG(查询网络注册状态)

      该命令用于查询终端EPS网络注册状态。当使能提示时,终端的网络注册状态信息有变化,会主动上报给用户终端。通过不同的设置可以上报EPS注册状态、位置区码、小区ID、服务小区的接入技术等信息,通常情况下只需要设置为自动上报EPS注册状态。

    • 例:设置网络注册状态上报信息
      发送命令:
      AT+CEREG=1
      模块返回:
      OK
      设置成功后,当网络注册状态信息有变化,会主动上报给用户终端,如:
      +CEREG:1,1
      OK
    • AT+CSCON(查询网络当前连接状态)

      返回格式为:+CSCON:<n>,<mode>?

      <n>是通知设置。取值和说明:0为取消异步通知,当网络连接后,串口不会主动上报+CSCON命令;1为使能异步通知,串口主动上报+CSCON。

      <mode>是当前模块连接状态,取值和说明:0处于IDLE状态,1处于已连接状态。当处于IDLE状态时,只要发送数据或者重启设备,就会变成已连接状态。

    • 例:
      发送命令:
      AT+CSCON?
      模块返回:
      +CSCON:0,1
      OK
    • AT+CFUN(设置模块射频功能)

      该命令用于设置和查询模块的射频功能是否开启。

    • 例:
      AT+CFUN=0     //关闭射频功能
      OK
      AT+CFUN=1     //开启模块射频功能
      OK
      AT+CFUN?      //查询模块的射频开启状态
      +CFUN:1       //射频功能已打开成功,若回复0通常是因为SIM卡的电路与模块没有连接成功

    【QCOM】

    QCOM串口调试助手是经典的AT指令调试和NB-IoT开发工具,支持多条AT命令的保存,多个命令待发送区域,每个都可以单独设置延时,使2G、NB-IoT模块开发更容易。

    QCOM串口调试工具下载路径和使用指导请参考QCOM下载和使用指导

    作者:我是卤蛋

  • 相关阅读:
    第10组 Beta冲刺(2/4)
    第10组 Beta冲刺(1/4)
    第10组 Alpha冲刺(4/4)
    第08组 Beta版本演示
    第08组 Beta冲刺(4/4)
    第08组 Beta冲刺(3/4)
    第08组 Beta冲刺(2/4)
    第08组 Beta冲刺(1/4)
    第08组 Alpha事后诸葛亮
    第08组 Alpha冲刺(4/4)
  • 原文地址:https://www.cnblogs.com/huaweicloud/p/11861167.html
Copyright © 2011-2022 走看看