rtthread工业使用_RT-Thread AT 组件应用笔记 - 客户端篇

AT组件是RT-Thread继SAL之后的又一重磅发布,解决了不同网络模块AT命令之间的差异导致的重复开发的问题,大幅度简化了MCU+无线模块方案开发。

1 本文的目的和结构

1.1 本文的目的和背景

随着 AT 命令的逐渐普及,越来越多的嵌入式产品上使用了 AT 命令,一般AT 命令作为主芯片和通讯模块的协议接口,硬件接口一般为串口,这样主控设备可以通过简单的命令和硬件设计完成多种操作。

但是不同厂家的不同 AT 命令之间还是没有完全的标准化,这直接提高了用户使用的复杂性。对于 AT 命令的发送和接收以及数据的解析没有统一的处理方式,并且在使用 AT 设备连接网络时,只能通过命令完成简单的设备连接和数据收发功能,很难做到对上层网络应用接口的适配,不利于产品设备的开发。

为了方便用户使用 AT 命令,并且适配不同厂家的不同设备, RT-Thread 提供了 AT 组件用于 AT 设备的连接和数据通讯。AT 组件的使用包括客户端的和服务器,对于嵌入式设备而言,更多的情况下设备使用 AT 组件作为客户端连接服务器设备,所以本文将为大家介绍 AT 组件中客户端的原理、移植方式和主要功能使用,并介绍在客户端的基础上实现标准 BSD Socket API,使用 AT 命令进行网络通讯。

1.2 本文的结构

本应用笔记将从以下几个方面来介绍 RT-Thread AT 组件:

AT 组件介绍AT Client 配置与使用AT Socket 配置与使用

2 问题阐述

本应用笔记将围绕下面几个问题来介绍 RT-Thread AT 组件。

什么是 AT 命令? AT 组件的主要功能是什么?什么是 AT Client,它与 AT Server 之间如何进行数据交互?如何使用 AT 命令实现标准 BSD Socket API,支持多种网络软件包和功能?想要解决这些问题,就要了解 RT-Thread AT 组件基本原理和功能使用方式。下面就从 RT-Thread AT 组件 AT Client 原理开始逐步介绍 配置方式、移植以及功能使用,使用户快速上手 AT 组件的 AT Client 功能。

3 问题的解决

3.1 AT 命令简介

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

3.1.1AT 命令基本概念

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

AT 组件是基于 RT-Thread 系统的AT Server和AT Client的实现,组件完成 AT 命令的发送、命令格式及参数判断、命令的响应、响应数据的接收、响应数据的解析、URC 数据处理等整个 AT 命令数据交互流程。

通过 AT 组件,设备可以作为 AT Client 使用串口连接其他设备完成数据的发送、接收与解析,可以作为 AT Server 让其他设备甚至 PC 设备连接完成数据的响应,也可以在本地 shell 启动 CLI 模式使设备同时支持 AT Server 和 AT Clinet 功能,该模式多用于设备开发调试。

3.2 AT Client 功能

本文将基于正点原子 STM32F4 探索者开发板和乐鑫 ESP8266 开发板,给出了 AT 组件中 AT Client 功能的配置、移植和使用方式。

下图为本文使用的两个开发板的底板图,开发者可以使用 ESP8266 开发板或模组,若缺少正点原子 STM32F4 探索者开发板可使用其他带额外串口的开发板代替,需确保开发板正常运行 RT-Thread 系统

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值