【我的物联网成长记 8】超速入门 AT 指令集

阅读数:11 2019 年 12 月 24 日 13:53

【我的物联网成长记8】超速入门AT指令集

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

什么是 AT 指令集

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

1572920520498238.png

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

类别 语法 说明
执行命令 有参数:AT+=<…>

无参数:AT+ | 用来设置 AT 命令中的属性。
测试命令 | AT+=? | 用来显示 AT 命令设置的合法参数值有哪些(范围)。
查询命令 | AT+? | 用来查询当前 AT 命令的设置的属性值。

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

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

常用 AT 命令

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

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

    • =0,返回

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

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

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

例:查询 IMEI
发送命令:      
AT+CGSN=1      
模块返回:      
+CGSN:868744036640526      
OK
  • AT+CGMR(查询固件版本)

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

例:      
      发送命令:      
      AT+CGMM      
      模块返回:      
             
      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+CSQ(查询信号强度)

    返回值为 +CSQ:,。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:,?

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

    是当前模块连接状态,取值和说明: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 卡的电路与模块没有连接成功

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 章节。spacer.gif

1572920538967014.png

【QCOM】

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

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

1572920548955826.png

下期预告:物联网安全如何破?

本文转载自华为云社区博客。

原文链接: https://bbs.huaweicloud.com/blogs/129189

评论

发布