传感器
M2M 云计算
智慧城市
电子标签
二维码
IPV6

未来
物联网
让一切想象变成现实!

未来物联网为您提供物联网资讯,物联网新闻,物联网技术,物联网会议,

物联网企业,物联网行业资讯网站,全球物联网技术及物联网应用最新动态。

物联网从业者必须要会的AT指令介绍

[复制链接]
生活物联网   发表于 2021-8-17 11:57:49   查看: 389 帖子
物联网从业者必须要会的AT指令介绍-1.jpg


  对于大多数物联网从业者来说,有两样东西是避免不了的,一个是单片机,一个是移动通信模块。现在主流的通信模块都以4G模组和NB-IOT模组为主(由于运营商正在对2G进行退网,在新产品上继续使用2G模组已经是个不明智的决定了)。无论是曾经的2G模组还是现在主流的4G和NB-IOT模组,都采用了AT指令的方式与外部控制器进行通信,AT指令因此成为物联网从业者必须要掌握的知识。

物联网从业者必须要会的AT指令介绍-2.jpg

4G模组举例


  AT是Attention的缩写,最早是贺氏公司(Hayes)为了控制调制解调器而发明的协议。后来随着网络带宽的升级,速度很低的拨号调制解调器基本退出一般使用市场,但是 AT 命令保留了下来,并且逐渐被标准化。现在的移动通信模组(2G,4G,NB-IOT)皆采用AT指令作为其控制协议,AT 指令已经成为通信模组产品开发中的实际标准。

物联网从业者必须要会的AT指令介绍-3.jpg

某4G模块应用示意图


  AT指令只是AT客户端(如MCU)和AT服务器(如移动通信模组)之间的软件接口,硬件上基本都采用串口作为接口。有一点需要注意,很多模块的串口电平采用的是1.8V,而大多数MCU的IO口电平是3.3V或5V,所以在硬件连接上需要依据具体情况考虑进行电平转换。

物联网从业者必须要会的AT指令介绍-4.jpg

AT指令工作示意图


  AT指令的大部分使用场景是这样:MCU主动发送AT指令给模组,然后等待模组返回数据,MCU再根据返回的数据做对应操作。每个AT指令都有一个超时时间,如果MCU发送出AT指令后在超时时间内没有收到返回的数据则需要重试。AT指令中还有一种数据被成为URC数据,URC的全称是Unsolicited Result Code,翻译成中文就是“不请自来的结果码”。顾名思义,它不是模块对MCU所发送AT指令的返回,而是模块主动上报的数据。比如模块收到TCP数据包,或者模块的网络状态发生改变,都会通过URC数据主动告知MCU。

物联网从业者必须要会的AT指令介绍-5.jpg


  下面介绍下AT指令的格式。AT指令是基于字符串的通信协议,一般 AT 命令由三个部分组成,分别是:前缀、主体和结束符。其中前缀由字符“AT”构成;主体由命令、参数和可能用到的数据组成,结束符一般 <CR><LF> (即回车换行,对应于ASCII码中的“\r\n”)。AT指令可以分为以下几种(<x>代表命令):

物联网从业者必须要会的AT指令介绍-6.jpg


  上表中省略了结束符,在实际使用中,将<x>替换为要用的命令,并且整个命令需要以<CR><LF>结尾。如何知道模块都支持哪些AT指令呢?关于具体的AT指令,其实不用刻意去记忆,因为每个模块都会有配套的AT指令集手册,要用的时候再去查询手册就行了。
AT指令应用举例(以下指令皆省略了回车换行):

MCU发送:AT
模组返回:OK
命令说明:可以根据是否有OK返回判断模块是否可用。
<hr>
MCU发送:AT+CGSN
模组返回:<IMEI>
     OK
命令说明:用于查询模组的IMEI。
<hr>
MCU发送:AT+CGACT=<state>,<cid>
模组返回:OK
命令说明:用于设置模块PDP上下文激活状态。
<hr>
MCU发送:AT+CGACT?
模组返回:+CGACT: <cid>,<state>
     OK
命令说明:用于查询模块PDP上下文激活状态。

物联网从业者必须要会的AT指令介绍-7.jpg
 郑重声明:本文仅代表作者个人观点,与未来物联网(wlit.cn)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
回复

使用道具 举报

QQ|Archiver|手机版|未来物联网 ( 鲁ICP备17019744号-2 ) 百度统计

GMT+8, 2021-9-24 12:25 , Processed in 0.094875 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表