电路研究9.2——合宙Air780EP使用AT指令

这里正式研究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

这个就是基本一些需求了。剩下的就是外设的了。暂时就是这些了。

相关推荐
于小猿Sup7 小时前
VMware在Ubuntu22.04驱动Livox Mid360s
linux·c++·嵌入式硬件·自动驾驶
chao1898448 小时前
STM32 HAL库驱动AT24C02 EEPROM例程
stm32·单片机·嵌入式硬件
不会武功的火柴10 小时前
SystemVerilog语法(8)-有限状态机(FSM)
嵌入式硬件·fpga开发·自动化·ic验证·rtl·uvm方法学
嵌入式小站12 小时前
STM32 零基础可移植教程 05:按键消抖,为什么按一次会触发好几次
chrome·stm32·嵌入式硬件
czhaii12 小时前
跟我动手学FX系列PLC GX2环境
嵌入式硬件
2zcode14 小时前
基于STM32的智能扫地机器人设计与实现
stm32·嵌入式硬件·机器人
jllllyuz15 小时前
单相并网逆变器控制代码实现(STM32版)
stm32·单片机·嵌入式硬件
冉卓电子16 小时前
GD32C103RBT6 misc 内核驱动库极简解析
单片机·嵌入式硬件
yongui4783416 小时前
MAX6675 K型热电偶温度采集程序(Keil环境)
单片机·嵌入式硬件
豆包公子16 小时前
AUTOSAR CP XCP 移植到裸机 MCU-实践篇
单片机·嵌入式硬件