AT开发简介

@[TOC](目录) # AT指令介绍 ## 简介 AT 即Attention。AT指令是应用于终端设备与PC应用之间的连接与通信的指令。AT指令在当代通讯模组通讯中起着重要的作用,能够通过AT指令控制模组,的许多行为,包括拨叫号码、按键控制、传真、GPRS等。 ![图片.png](https://cdn.openluat-luatcommunity.openluat.com/images/20210203162744866_图片.png) ## AT命令语法 本手册中所有命令行必须以"AT"或"at"作为开头,以回车(<CR>)作为结尾。响应通常紧随命令之后,它的样式是“<回车><新行><响应内容><回车><新行>”(<CR><LF><响应内容><CR><LF>) 。整本手册里,只有<响应内容>被自始至终介绍,而<回车><新行>被有意省略了。 合宙无线模块提供的AT 命令包含符合GSM07.05、GSM07.07 和ITU-T Recommendation V.25ter 的命令。 所有AT 命令从语法上可以分为三类:“基础类”,“S 参数类”以及“扩展类”,分别介绍如下: - 基础类AT命令 这类AT 命令具有“AT<x><n>”或者“AT&<x><n>”格式,其中“<x>”是命令;“<n>”可以是一个或者多个参数。例如:“ATE<n>”,该命令用于为DCE 开关回显功能,即DCE 会依据“<n>”值决定是否把接收的字符回显给DTE。“<n>”是选配参数,若没有赋值,模块将使用默认值。 - 参数类AT命令 这类AT 命令具有“AT<x><n>”或者“AT&<x><n>”格式,其中“<x>”是命令;“<n>”可以是一个或者多个参数。例如:“ATE<n>”,该命令用于为DCE 开关回显功能,即DCE 会依据“<n>”值决定是否把接收的字符回显给DTE。“<n>”是选配参数,若没有赋值,模块将使用默认值。 - 扩展类AT命令 一般来讲,扩展类命令依据功能可以分为以下几种类型: | 命令类型 | 语法| 说明| | --- | --- | --- | | 测试命令| AT+<X>=?| 该命令用于查询设置命令或内部程序设置的参数以及其取值范围| | 查询命令| AT+<X>?| 该命令用于返回参数的当前值| | 设置命令| AT+<X>=<…>| 该命令用于设置用户自定义的参数值| | 执行命令| AT+<X>| 该命令用于读取受GSM 模块内部程序控制的不可变参数| 扩展类命令语法: 在命令行TA返回结果中<>内为必配参数,[ ]内为选配参数; 在每条命令中,选配参数和必配参数必须按照规定的顺序排列,各参数间必须用逗号隔开; 字符串参数一般放在双引号中; 实际使用中,<>,[ ]不必输入。 # AT开发基本架构 ![undefined](https://cdn.openluat-luatcommunity.openluat.com/images/20201230210615740_11.png "undefined") # AT开发缺点与优势 AT开发的优势:AT指令是一种通用的使用方式,在无线模块领域也流行了20多年。 AT开发的缺点:成本相应的高些,能支持的驱动也比较少。如果对成本又要求,建议使用LuatOS-Air二次开发。 # 应用场景 应用场景非常广泛,可以说物理网的所有应用场景都能适用,例如: 共享经济:共享充电宝、共享单车、共享充电桩、共享净水器、共享柜(寄存柜、换电柜)…… BMS:电池管理系统、锂电池共享租赁 售货机:自动售货机、无人售货机 公网POC:公网对讲机 CPE/Mi-Fi:4G路由器 POS:传统POS、智能POS AI:智能车载(ADAS)、智能安防(人脸识别摄像机、门禁、考勤)、智能支付(人脸支付) DTU 儿童手表 定位器、学生卡、广告机、表计 车载:T-BOX、OBD ![undefined](https://cdn.openluat-luatcommunity.openluat.com/images/20201230212431186_55.png "undefined") # AT固件支持的功能板块 合宙Cat1 AT固件除了3GPP规定的一些常用AT指令(语音通话、短信、电话本、网络状态查询等)功能之外,考虑到单片机开发的一些特性,还增加了很多扩展功能,以满足“单片机+通信模块”这种场景的开发,具体功能如下: 1,数据传输功能 数据传输功能是通信模块的核心功能,也是最常用的功能。有了这个功能产品才可以接入网络,连接服务器或其他物联网设备。 AT固件提供了TCP/UDP/HTTP/FTP/MQTT/PING/PPP等常用的数据传输协议,满足大部分产品需求。 2,数据加密功能 在基础数传功能基础上,如果为了防止数据被监听或者恶意篡改,可以通过数据加密功能来保证数据安全性。目前大部分的网站都实现了加密访问,阿里云、腾讯云、OneNet等设备云平台也都需要加密连接。 3,外设驱动功能(摄像头扫码、模块状态灯、SD卡等) 由于外设比较多,而AT固件又是标准固件,所以能支持的驱动也比较少,只有模块状态灯、摄像头扫码、SD卡等外设驱动功能。要想要支持更多的外设建议用Luat二次开发固件进行二次开发。 4,定位功能(GPS、WiFi定位、基站定位) 定位方式 应用场景 定位精度 优点 缺点 GPS 室外 10米 利用卫星定位系统、稳定可靠 受环境影响、室内无法定位 基站 室外/室内 100米 无需额外硬件成本、只要注册上网便可以定位 需要连接后台,而且定位精度较差 WiFi 室内 3-10米 室内定位精度较高 需要连接后台,一般只能在室内有WiFi信号的地方进行定位 1)GPS定位 利用GPS、BEIDOU、GLONESS定位卫星进行全球定位。定位准确可靠,误差可以做到10M以内。而且合宙Cat1 AT固件还可以通过连接合宙IoT后台进行快速秒定位,满足对定位时长有要求的客户。 2)基站定位 纯软件定位方式,利用了模块周围的信号塔作为地标,通过信号强度和当前注册的小区cell id等信息上报到合宙的IoT服务器,服务器根据模块上报的信息来确定当前位置。 3)WiFi定位 WiFi定位通过模块扫描外围热点,将热点信息上报后合宙IoT服务器进行服务器定位的一种技术,WiFi定位不受GPS信号的影响,可以弥补GPS室内无法定位的场景,和GPS一起使用,可以让位置信息不间断。 定位精度按照从低到高顺序:基站定位<GPS定位<wifi定位。 5,语音功能(语音播报、音频文件播放、录音等) 语音播报是云喇叭、音箱产品的重要功能。可以实现文字语音播报(TTS)、语音文件播放、本地录音、通话录音等功能。 以上1-5这些功能,都是3GPP协议里未做规定,但实际却应用非常广泛的功能,因为有了这些功能才让现有的设备实现了万物互联、才有了大数据以及后续的产品智能化。除了这些功能之外,还包含了: 6,模块固件升级功能 为了保证设备在出现软件问题后,可以通过远程方式将模块固件升级,是模块的最后防线。 7,USB网卡功能 USB网卡功能是针对Linux、LiteOS、Anrdoid等设备接入4G网络,这些设备由于其CPU功能强大,往往无需模块端做一些协议联网功能,更多的作为纯网卡功能,复杂的通信协议在主控设备上完成。 8.蓝牙功能模块; 支持4.2版本的双模蓝牙(经典蓝牙/低功耗蓝牙),支持主模式、从模式、广播模式; 支持低功耗蓝牙广播、扫描 支持低功耗蓝牙主、从设备连接 支持低功耗蓝牙数据透传