[新唐博主]

上云秘笈:连结通讯模块的 AT 命令实用精技

[复制链接]
423|8
手机看帖
扫描二维码
随时随地手机跟帖
21ic小管家|  楼主 | 2020-10-30 16:22 | 显示全部楼层 |阅读模式
上云秘笈:连结通讯模块的 AT 命令实用精技


AT 命令(AT Commands)最早是由美国Hayes公司为了控制 MODEM 发明的控制协议。因为指令是以「AT」为开头,故以此称之。随后的 3G、4G、NB-IoT 模块等,均采用 AT 命令来控制,AT 命令逐渐在产品开发中成为实际标准。AT 命令广泛的应用于嵌入式开发领域,AT 命令作为MCU芯片和通讯模块的协议接口,透过硬件串口,主控MCU可以通过简单的AT命令和通讯模块连结完成多种通讯操作。

AT 命令集是一組指令集合,应用于 AT 服务器(AT Server)与 AT 客户端(AT Client)间的设备连接与数据通信的方式。其结构如下图所示:

微信图片_20201030161640.jpg

*一般 AT 命令由三个部分组成,分别是:前缀、主体和结束符。其中前缀由字符 AT 构成;主体由命令、参数和可能用到的数据组成;结束符一般为 <CR><LF> ("\r\n")。
*AT 功能的实现需要 AT Server 和 AT Client 两个部分共同完成。
*AT Server 主要用于接收 AT Client 发送的命令,判断接收的命令及参数格式,并下发对应的响应数据,或者主动下发数据。
*AT Client 主要用于发送命令、等待 AT Server 响应,并对 AT Server 响应数据或主动发送的数据进行解析处理,获取相关信息。
*AT Server 和 AT Client 之间支持多种数据通讯的方式,目前最常用的是串口 UART 通讯方式。
*AT Server 向 AT Client 发送的数据分成两种:响应数据和 URC 数据。
*响应数据:AT Client 发送命令之后收到的 AT Server 响应状态和信息。
*URC (Unsolicited Result Code))数据:AT Server 主动发送给 AT Client 的数据,一般出现在一些特殊的情况,比如 WIFI 连接断开、TCP 接收数据等,这些情况往往需要用户做出相应操作。



01
AT Client 数据收发方式

AT Client 主要功能是发送 AT 命令、接收数据并解析数据。下面是对 AT Client 数据接收和发送相关流程与函数介绍。相关结构体定义:

微信图片_20201030161843.jpg

该结构体用于定义一个 AT 命令响应数据的控制块,用于存放或者限制 AT 命令响应数据的数据格式。其中 buf 用于存放接收到的响应数据,注意的是 buf 中存放的数据并不是原始响应数据,而是原始响应数据去除结束符("\r\n")的数据,buf 中每行数据以 '\0' 分割,方便按行获取数据。buf_size 为用户自定义本次响应最大支持的接收数据的长度,由用户根据自己命令返回值长度定义。line_num 为用户自定义的本次响应数据需要接收的行数,如果没有响应行数限定需求,可以置为 0。line_counts 用于记录本次响应数据总行数。timeout 为用户自定义的本次响应数据最大响应时间。该结构体中 buf_size、line_num、timeout 三个参数为限制条件,在结构体创建时设置,其他参数为存放数据参数,用于后面数据解析。
02
串口配置信息解析示例

1.jpg
03
IP 和 MAC 地址解析示例

2.jpg
透过以上的介绍,可以初步的掌握 AT Client 数据收发方式, 以上的功能都能够在新唐NuMaker-IoT-M487 开发板上实现。

NuMaker-IoT-M487 开发板透过AT命令,可连接支持多種无线通讯模块,並整合常用组件,内建多轴传感器,提供兼容 Arduino UNO 与 mikroBUS™ 接口,不论是 GPIO、UART、ADC、PWM、SPI 或 I2C 等等都能连接;外挂 SPI Flash 及提供 microSD 卡插槽。


如您对以上方案感兴趣,请发邮件联系。
SalesSupport@nuvoton.com



使用特权

评论回复
凯复Kane| | 2020-10-30 23:25 | 显示全部楼层
哦 我是第一 支持一下

使用特权

评论回复
xixi2017| | 2020-11-3 16:43 | 显示全部楼层
给力啊,学习一下,是不是所有家的AT指令都是一样的

使用特权

评论回复
huquanz711| | 2020-11-4 22:53 | 显示全部楼层
z赞一下,支持小管家哈。

使用特权

评论回复
zhouyong77| | 2020-11-5 07:10 | 显示全部楼层
AT命令确实很方便,统一了很多设备。

使用特权

评论回复
xuanhuanzi| | 2020-11-10 22:37 | 显示全部楼层
联网必备技能。

使用特权

评论回复
两只袜子| | 2020-11-11 09:14 | 显示全部楼层
长知识了长知识了

使用特权

评论回复
caigang13| | 2020-11-13 07:02 | 显示全部楼层
小管家也在学技术了吗?

使用特权

评论回复
yiy| | 2020-11-21 20:12 | 显示全部楼层
最近在用。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:祝大家天天开❤ ///w/// 有问题咨询联系QQ:3326242524

2524

主题

6197

帖子

227

粉丝