这里正式研究AT指令的学习了,之前只是接触的AT指令,这里则是深入分析AT指令了。
软件的开发方式:
AT:MCU 做主控,MCU 发 AT 命令给模组的开发方式,模组仅提供标准的 AT 固件, 所有的业务控制逻辑在 MCU 端实现;
LuatOS :无需 MCU ,模组支持软件二次开发,业务逻辑直接在模组上实现,开发语 言为 Lua 脚本语言;
用户可用 ROM 空间:脚本: 256KB ;文件系统: 128KB ; FSKV 分区: 64KB ; FOTA 分区:420KB ;
用户可用 RAM 空间:内核系统 (SRAM) : 250KB ; Lua 虚拟机 (SRAM) : 256KB ; pSRAM: 2MB ;
此处列举的用户可用 ROM 和 RAM 空间为发布的系统固件默认配置数值或者上限数值;如果默认发布的系统固件功能满足不了需求,可以在云编译系统中自 定义编译系统固件,一般来说,自定义编译的系统固件功能越多,给用户可用 的剩余空间就越小;
CSDK:无需 MCU,模组支持软件二次开发,业务逻辑直接在模组上实现,开发语言
为 C 语言;
用户可用 ROM 空间:代码:1500KB;文件系统:128KB;FSKV 分区:64KB;FOTA 分区:420KB;
用户可用 RAM 空间: SRAM : 530KB ; pSRAM : 2MB ;
此处列举的用户可用 ROM 和 RAM 空间为发布的系统固件默认配置数值或者上 限数值;如果默认发布的系统固件功能满足不了需求,可以在云编译系统中自 定义编译系统固件,一般来说,自定义编译的系统固件功能越多,给用户可用 的剩余空间就越小;
Linux/Android 应用:
支持适配 Linux USB RNDIS 应用;
支持适配 Android ril 应用;
这里我们先用AT指令模式,先研究一下如果不用STM32行不行,不行的话尝试连接STM32,之后再尝试 LuatOS,毕竟合宙推荐的是LuatOS模式。我们为了省空间使用的是模块本身,没添加MCU。后面那两种,不熟悉呢,特别是最后那种属于完全是上位机的,压根不行。
看着这个框图,模块用的cortex-M3,感觉跟STM32系列单片机有很大联系,所以可以尝试编程。
AT命令用法:
之前已经列举过了,这里就不再重复了。我只列举我之后需要用到的。
2.5 查询 SIM 卡 ICCID 号码: AT+CCID(/ICCID)
这个是奔着SIM卡来的,不过查了一下CCID是什么,不接触确实不知道呢。
ICCID:Integrate circuit card identity 集成电路卡识别码即 SIM卡卡号,相当于手机卡的 身份证。 ICCID为 IC卡的识别号码,共由20位字符组成,其编码格式为:XXXXXX 0MFSS YYGXX XXXX。分别介绍如下: 前六位运营商代码: 中国移动的为:898600;898602;898604;898607 , 中国联通的为:898601、898606、898609, 中国电信898603、898611。
不过这个好像也没啥用,所以就是了解一下就好了。
2.12 重启模块:AT+RESET:
2.13 重启模块并恢复出厂设置: AT+RSTSET
这个两个是必需的,使用的时候重启一下,运行试试设置的对不对,或者信息没有获取,重新获取一下。
2.14 查询开机原因值: AT*EXINFO?
这个指令一般是非正常关机时候查看信息用的。倒也了解一下就好了。
3.2 保存用户当前的配置: AT&W
这个命令我觉得比较常用吧,保存好的数据,再开机不会出现清除。而且后面很多都需要进行这种保存配置。
3.11 实时时钟:AT+CCLK


这个时钟可能是需要的呢,计时用或者定时用。比如累计设备的运行时间。
3.12 设置 USB 模式:AT+SETUSB




因为用到了USB端口,而且涉及到AT指令了,所以这里就添加一下吧。
4.2关机:AT+CPOWD

关机,这个可以了解一下,不过一直开机,没电了就关机也是一个情况。本来打算的就是这个。
4.7设置 TE-TA 波特率:AT+IPR




这个可以设置波特率,然后用AT&W保存住设置。
4.8设置 TE-TA 帧格式:AT+ICF



这个看着像波特率的校验位设置呢,所以也要添加上,
4.9设置指令行换行字符:ATS4

这里换行,便于发送指令时候每条1行使用。
4.10 TE-TA 本地流量控制:AT+IFC
流控简介:
对 模块与 DTE 之间可靠的通信而言,流控是很重要的。假使一次数据或传真呼叫中,发送端的发送 速度大于接收端的接收速度,当接收缓存接近满的时候,接收端应该有方法让发送端暂停发送,直到 它重新赶上。这就是流控。
一般来说,有两种方法来实现流控。它们是软件流控和硬件流控。在多路复用模式下,推荐采用硬件 流控。合宙模块对这两种流控方式都支持。
软件流控:
软件流控发送不同的字符去暂停(XOFF ,十进制 19) 和恢复 (XON ,十进制 17)数据流。它适用于仅 仅有三根线的串口通信。 合宙 LTE 模块如果使用软件流控,则需要通过命令: AT+IFC=1,1 来配置。 因为这个配置不保存,所以若希望重启后继续使用软件流控,需要通过 AT&W 保存到用户配置表中。
注:当模块传送的是二进制/ 十六进制数据时,不适合软件流控方式,因为 TE可能会将二进制数据当成流控字符。
硬件流控:
硬件流控通过 RTS/CTS 信号来实现。当接收缓存快满的时候,模块把 CTS 信号设置为无效,数据 传输被暂停。当模块的接收缓存可以接收更多数据时, CTS 信号重新被设置为有效。 要实现硬件流控功能,请确保你的应用串口包含 RTS/CTS 线。


这个流控因为涉及到了软件流控,之前也查过了流控相关,所以这里仅仅备注一下,而且我们以前使用的大部分都是软件流控,所以这里肯定用到了。
4.14 通过 UART 口设置睡眠唤醒:AT+CSCLK








通过串口使模块进入睡眠的先决条件是:不接 USB 口。这里开来串口跟USB口只能二选一了,当然串口跟USB口都能做AT指令通讯口,可以测试看看。
4.16 超低功耗指令:AT+POWERMODE






4.17 设置睡眠等待时间:AT+WAKETIM


这个低功耗指令跟睡眠等待时间,需要设置,便于省电。
4.23 打开/关闭网络灯:AT+CNETLIGHT
本命令的设置命令是用来打开或关闭网络状态指示灯(NET_STATUS)。本命令的查询命令是用来查询网络状态指示灯是否已经打开。 Air780E 系列模块分别用如下管脚信号来指示网络的状态。如下表描述了管脚定义。


网络状态指示灯,是需要的,可以查看是否连接网络。
4.28 重新打开 USB:AT+SYSNV=1,"ureboot",1

5.5网络注册信息:AT+CREG





5.6E-UTRAN EPS 网络注册状态:AT+CEREG
设置命令打开或关闭+CEREG的URC上报,URC上报内容如下: 设置<n>=1,当在E-UTRAN网的EPS注册状态发生变化时,主动上报+CEREG: <stat>设置<n>=2,当在E-UTRAN网的EPS注册状态或驻网小区发生变化时,主动上报+CEREG: <stat>[,<tac>,<ci>,<act>] 设置<n>=3,当在E-UTRAN网的EPS注册状态或驻网小区发生变化时,主动上报 +CEREG: <stat>[,<tac>,<ci>,<act>[,<cause_type>,<reject_cause>]]




5.7设置网络模式:AT^SYSCONFIG
本命令设置系统模式,GSM/WCDMA 接入顺序,漫游和业务域特征。
这个就是网络相关情况了。
5.10 自动时区更新: AT+CTZU
这个就是基本一些需求了。剩下的就是外设的了。暂时就是这些了。