AT开发简介
AT 命令采用标准串口进行数据收发,将以前复杂的设备通讯方式转换成简单的串口编程,大大简化了产品的硬件设计和软件开发成本,这使得几乎所有的网络模组如GPRS、3G/4G 、NB-IoT、蓝牙、WiFi 、GPS 等模组都采用AT命令。
随着物联网时代的发展,AT 命令被广泛的用于单片机(MCU)+ 网络模块 这样的物联网开发模式。但这种开发模式单片机是必不可少的部分,因而会使产品的成本相应的高些。
AT固件是标准固件,所以能支持的驱动也比较少,只有模块状态灯、摄像头扫码、SD卡等外设驱动功能。要想要支持更多的外设建议用LuatOS二次开发固件进行二次开发。
AT命令语法介绍
本手册中所有命令行必须以"AT"或"at"作为开头,以回车()作为结尾。响应通常紧随命令之后,它的样式是“<回车><新行><响应内容><回车><新行>”(<响应内容>) 。整本手册里,只有<响应内容>被自始至终介绍,而<回车><新行>被有意省略了。
合宙无线模块提供的AT 命令包含符合GSM07.05、GSM07.07 和ITU-T Recommendation V.25ter 的命令。
所有AT 命令从语法上可以分为三类:“基础类”,“S 参数类”以及“扩展类”,分别介绍如下:
- 基础类AT命令
这类AT 命令具有“AT”或者“AT&”格式,其中“”是命令;“”可以是一个或者多个参数。例如:“ATE”,该命令用于为DCE 开关回显功能,即DCE 会依据“”值决定是否把接收的字符回显给DTE。“”是选配参数,若没有赋值,模块将使用默认值。 - 参数类AT命令
这类AT 命令具有“AT”或者“AT&”格式,其中“”是命令;“”可以是一个或者多个参数。例如:“ATE”,该命令用于为DCE 开关回显功能,即DCE 会依据“”值决定是否把接收的字符回显给DTE。“”是选配参数,若没有赋值,模块将使用默认值。 - 扩展类AT命令
一般来讲,扩展类命令依据功能可以分为以下几种类型:
命令类型 | 语法 | 说明 |
---|---|---|
测试命令 | AT+=? | 该命令用于查询设置命令或内部程序设置的参数以及其取值范围 |
查询命令 | AT+? | 该命令用于返回参数的当前值 |
设置命令 | AT+=<…> | 该命令用于设置用户自定义的参数值 |
执行命令 | AT+ | 该命令用于读取受GSM 模块内部程序控制的不可变参数 |
扩展类命令语法: | ||
在命令行TA返回结果中<>内为必配参数,[ ]内为选配参数; | ||
在每条命令中,选配参数和必配参数必须按照规定的顺序排列,各参数间必须用逗号隔开; | ||
字符串参数一般放在双引号中; | ||
实际使用中,<>,[ ]不必输入。 |
AT开发基本架构
AT开发优缺点
AT开发的优势:AT指令作为单片机和通信模块的桥梁,很好的兼顾了单片机开发的特点,又满足了产品联网的需求。AT指令是一种通用的使用方式,在无线模块领域也流行了20多年。
AT开发的缺点:成本相应的高些,能支持的驱动也比较少。