【摘要】 在物联网中,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下载和使用指导

作者:我是卤蛋

【我的物联网成长记8】超速入门AT指令集【华为云技术分享】的更多相关文章

  1. 【我的物联网成长记6】由浅入深了解NB-IoT【华为云技术分享】

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...

  2. 通过哪吒动漫豆瓣影评,带你分析python爬虫与BeautifulSoup快速入门【华为云技术分享】

    久旱逢甘霖 西安连着几天温度排行全国三甲,也许是<哪吒之魔童降世>的剧组买通了老天,从踩着风火轮的小朋友首映开始,就全国性的持续高温,还好今天凌晨的一场暴雨,算是将大家从中暑边缘拯救回来了 ...

  3. Python爬虫从入门到精通——基本库re的使用:正则表达式【华为云技术分享】

    置顶:华为云618大促火热进行中,全场1折起,免费抽主机,消费满额送P30 Pro,点此抢购. 正则表达式是处理字符串的强大工具,它有自己特定的语法结构,有了它,实现字符串的检索.替换.匹配验证都不在 ...

  4. javascript基础修炼(13)——记一道有趣的JS脑洞练习题【华为云技术分享】

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...

  5. 【我的物联网成长记6】由浅入深了解NB-IoT

    [摘要] 什么是NB-IoT?NB-IoT有什么优势?NB-IoT能做什么?本文将会从NB-IoT技术的发展历程,技术特点,通信协议,应用场景等方面为您全方面解读NB-IoT技术,了解NB-IoT的独 ...

  6. 由浅入深了解NB-IoT | 我的物联网成长记

    [摘要] 什么是NB-IoT?NB-IoT有什么优势?NB-IoT能做什么?本文将会从NB-IoT技术的发展历程,技术特点,通信协议,应用场景等方面为您全方面解读NB-IoT技术,了解NB-IoT的独 ...

  7. 华为OceanConnect物联网平台概念全景 | 我的物联网成长记

    作者 | 我是卤蛋 华为云OceanConnect IoT云服务包括应用管理.设备管理.系统管理等能力,实现统一安全的网络接入.各种终端的灵活适配.海量数据的采集分析,从而实现新价值的创造. 华为云O ...

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

    [摘要] 在物联网中,AT命令集可用于控制&调测设备.通信模块入网等.本文为您介绍NB-IoT常用的AT命令集及其调测工具. 什么是AT指令集 AT命令,用来控制TE(Terminal Equ ...

  9. 五分钟了解物联网SIM卡 | 我的物联网成长记10

    [摘要] SIM卡是移动通信中不可或缺的组成部分,在物联网解决方案中,设备移动上网也需要使用SIM卡.那么,SIM卡是什么?SIM卡有几种?各种SIM卡有什么区别?本文将为您答疑解惑. 通信进化史 过 ...

随机推荐

  1. [考试反思]1013csp-s模拟测试72:距离

    最近总是这个样子. 看上去排名好像还可以,但是实际上离上面的分差往往能到80分,但是身后的分差其实只有10/20分. 比上不足,比下也不怎么的. 所以虽然看起来没有出rank10,但是在总分排行榜上却 ...

  2. [考试反思]0922csp-s模拟测试50:谜朦

    这辈子第5个rank1,是在长期状态低迷再度偶遇傻逼出题人然后总算在下午而不是晚上考了一场试 然后莫名其妙选对了头铁的题把其它暴力打满之后发现sdfz没有参加之后竞争减弱的综合结果. 说是在的其实这套 ...

  3. FastJson稍微使用不当就会导致StackOverflow

    GitHub 9.4k Star 的Java工程师成神之路 ,不来了解一下吗? GitHub 9.4k Star 的Java工程师成神之路 ,真的不来了解一下吗? GitHub 9.4k Star 的 ...

  4. Wireshark嗅探抓取telnet明文账户密码

    0x00 Wireshark(前称Ethereal)是一个网络封包分析软件.网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料.Wireshark使用WinPCAP作为接口,直 ...

  5. Python实现王者荣耀小助手(二)

    接下来我们获取英雄和武器信息,详细代码KingGlory.py如下(代码中有详细注解): # -*- coding: utf-8 -*- #!/usr/bin/env python # @Time : ...

  6. Apache Jmeter进行服务器压力测试

    1.前言 最近项目遇到一个问题:其他公司对接我们系统,请求量太大的时候,返回单给对方就是丢失格式,大概十几万中总有那么十几单会出现格式错误! 所以我们老大就叫我用apache jmeter来进行并发测 ...

  7. mysql忘记密码怎么办??

    1.停掉mysql 1.1单实例停止方式 [root@qiuhom ~]# /etc/init.d/mysqld stop Shutting down MySQL. [ OK ] 1.2多实例停止方式 ...

  8. 心里有点B树

    在说B树之前最好先看看2-3树, 2-3树是B树的一种特例, 什么B树, B树就是2-3树, 2-3-4 树 , 2-3-4-5... 树的统称, 而B+树又是B树的一种变形 性质: 什么是二节点, ...

  9. pug参考文档

    1. API express框架的渲染模板有多种选择,官方的例子是Pug,网上找了一下,Pug没有可以参考的中文文档,于是自己动手丰衣足食.翻译水平一般,各位凑合着看吧. 1.1 开始 安装 通过np ...

  10. Hadoop之HDFS读写原理

    一.HDFS基本概念 HDFS全称是Hadoop Distributed System.HDFS是为以流的方式存取大文件而设计的.适用于几百MB,GB以及TB,并写一次读多次的场合.而对于低延时数据访 ...