首页 > 其他分享 >RTOS 最常用的一种扩展— AT 设备包

RTOS 最常用的一种扩展— AT 设备包

时间:2023-03-19 21:32:00浏览次数:48  
标签:RT 常用 Enable Thread RTOS 扩展 --- 组件 设备

RTOS 最常用的一种扩展— AT 设备包_RTOS

RTOS 使用的是模块方式,以便于扩展,这一点跟   类似。各种软件包可以让开发者将 RTOS 用于任何想要的目标设备。RTOS 最常用的一种扩展是 AT 设备包,它包含各种不同 AT 设备(例如调制解调器)的移植文件和示例代码。

在超过 62,000 次下载中(截止至撰写本文时),RTOS 扩展之一是 AT 设备包,其中包括用于不同 AT 设备的移植文件和示例代码。

关于 AT 工具

起初,AT 工具是一个协议,用于控制拨号调制解调器。随着调制解调器技术发展到较高的带宽,它仍然可以用作轻量级而高效的设备控制协议,主流的移动电话厂商也联手开发了一系列 AT 命令,用于控制移动电话上的 GSM 模块。

如今,AT 命令仍然在网络通信领域具有通用性,很多设备,例如 WiFi、蓝牙、4G,都支持 AT 命令。

如果你正在创建用于边缘计算输入、监控或物联网(IoT)的专用设备,则你可能接触到一些 RTOS 支持的 AT 设备,包括 ESP8266、ESP32、M26、MC20、RW007、MW31、SIM800C、W60X、SIM76XX、A9/A9G、BC26、AIR720、ME3616、M 6315、BC28 和 EC200X。

RT-Thread 包含套接字抽象层(SAL)组件,SAL 实现了多种网络协议和接口的抽象,为上层提供了一系列标准的 BSD 套接字 API。SAL 进而接管了 AT 的套接字接口,所以开发者只需要考虑网络应用层提供的网络接口。

这个软件包实现了设备(包括上述设备)上的 AT 套接字功能,支持通过标准套接字接口以 AT 命令的形式通信。RT-Thread 编程指南 中就有关于这些功能的详细介绍。

at_device 软件包是在 LGPLv2.1 许可证下分发的,借助 RT-Thread Env 工具 可以方便地获取到。该工具包含一个配置器和一个包管理器,它们分别用于配置内核和组件功能,可以用于定制组件并管理在线包。有了这些工具,开发者可以像搭积木一样构建系统。

获取 AT 设备包

为了使用配置了 RTOS 的 AT 设备,你必须启用 AT 组件库和 AT 套接字功能,需要:

  1. RT_Thread 4.0.2+
  2. RT_Thread AT 组件 1.3.0+
  3. RT_Thread SAL 组件
  4. RT-Thread netdev 组件

AT 设备包已经针对多种版本进行了相应的更新。版本不同,配置选项也相应地不同,因此必须针对相应的系统版本进行适配。目前最常用的 AT 设备包版本有:

  1. V1.2.0: 针对低于 V3.1.3 的 RT-Thread,V1.0.0 的 AT 组件
  2. V1.3.0: 针对低于 V3.1.3 的 RT-Thread,V1.1.0 的 AT 组件
  3. V1.4.0: 针对低于 V3.1.3 或等于 V4.0.0 的 RT-Thread,V1.2.0 的 AT 组件
  4. V1.5.0: 针对低于 V3.1.3 或等于 V4.0.0 的 RT-Thread,V1.2.0 的 AT 组件
  5. V1.6.0: 针对低于 V3.1.3 或等于 V4.0.1 的 RT-Thread,V1.2.0 的 AT 组件
  6. V2.0.0/V2.0.1: 针对高于 V3.1.3 的 RT-Thread,V1.3.0 的 AT 组件
  7. 最新版: 针对高于 V3.1.3 的 RT-Thread,V1.3.0 的 AT 组件

获取正确的版本的过程主要是在生成菜单时自动完成的。它基于现有的系统环境提供最合适的 AT 设备包。

正如前文提到的,不同的版本需要不同的配置选项。例如,

RT-Thread online packages  --->
IoT - internet of things --->
-*- AT DEVICE: RT-Thread AT component porting or samples for different device
[ ] Enable at device init by thread
AT socket device modules (Not selected, please select) --->
Version (V1.6.0) --->

按线程启用 AT 设备初始化的选项决定了配置是否创建一个单独的线程来初始化设备网络。

2.x 版本支持同时启用多个 AT 设备:

RT-Thread online packages  --->
IoT - internet of things --->
-*- AT DEVICE: RT-Thread AT component porting or samples for different device
[*] Quectel M26/MC20 --->
[*] Enable initialize by thread
[*] Enable sample
(-1) Power pin
(-1) Power status pin
(uart3) AT client device name
(512) The maximum length of receive line buffer
[ ] Quectel EC20 --->
[ ] Espressif ESP32 --->
[*] Espressif ESP8266 --->
[*] Enable initialize by thread
[*] Enable sample
(realthread) WIFI ssid
(12345678) WIFI password
(uart2) AT client device name
(512) The maximum length of receive line buffer
[ ] Realthread RW007 --->
[ ] SIMCom SIM800C --->
[ ] SIMCom SIM76XX --->
[ ] Notion MW31 --->
[ ] WinnerMicro W60X --->
[ ] AiThink A9/A9G --->
[ ] Quectel BC26 --->
[ ] Luat air720 --->
[ ] GOSUNCN ME3616 --->
[ ] ChinaMobile M6315 --->
[ ] Quectel BC28 --->
[ ] Quectel ec200x --->
Version (latest) --->

这个版本包含了很多其他选项,其中也有启用示例代码的选项,这对初学者或使用不熟悉的设备的开发者很有帮助。

你也可以设置相应选项,选择你想用来给你的组件供电的针脚、指示电源状态的针脚、样本设备使用的串行设备的名称,以及样本设备接收数据的最大长度。在合适的设备上,你也可以设置 SSID 和密码。

简而言之,控制选项是够用的。

  1. V2.x.x 版本支持同时启用多个 AT 设备,欲查看启用的设备信息,在 finsh   中执行 ifocnfig 命令即可。
  2. V2.X.X 版本需要设备在使用前先注册;注册可以在样例目录中进行,或在应用层以自定义方式进行。
  3. 针脚选项,例如电源针脚和电源状态针脚是按照设备的硬件连接来配置的。如果硬件的开启功能不可用,它们就会被设置为 -1。
  4. 一台AT 设备应当对应一个序列名称,每台设备的 AT 客户端名称应当是不同的。

AT 组件配置选项

当选择了 AT 组件包,启用了设备支持,AT 组件的客户端功能也就默认选择完成了。对 AT 组件来说,这就意味着有更多的选项要设置:

RT-Thread Components  --->
Network --->
AT commands --->
[ ] Enable debug log output
[ ] Enable AT commands server
-*- Enable AT commands client
(1) The maximum number of supported clients
-*- Enable BSD Socket API support by AT commnads
[*] Enable CLI(Command-Line Interface) for AT commands
[ ] Enable print RAW format AT command communication data
(128) The maximum length of AT Commonds buffer

与 AT 设备包有关的配置选项有:

  1. 支持的客户端最大个数:选择 AT 设备包中的多台设备时,需要将该选项配置为对应的设备台数;
  2. 通过 AT 命令启用 BSD 套接字 API 功能:当选择 AT 设备包时默认选择该选项。
  3. AT 命令的最大长度:AT 命令可发送的数据的最大长度

一切皆有可能

当你开始进行嵌入式系统编程,你会很快意识到,你可以创造自己想象得到得任何东西。​​RTOS​​ 旨在帮助你实现它,它的那些功能包为你提供了良好的开端。现在,设备的互联也是可期待的。边缘的物联网技术必须能够通过各种协议进行通信,而 AT 协议是关键。

标签:RT,常用,Enable,Thread,RTOS,扩展,---,组件,设备
From: https://blog.51cto.com/706054oyu/6131361

相关文章

  • this关键字,多类合作,继承,多类合作的扩展,继承,重写和重载,抽象类声明
    1.this关键字字面意思:​ 这个​ 1.一般写在实体类中。表示的是当前的对象​ 可以使用this调用属性和方法​ 2.this关键字可以调用构造方法(很少用)​ ......
  • 常用Markdown语法学习
    Markdown语法学习标题语法一共有六级标题一级标题二级标题三级标题四级标题五级标题六级标题用"#"号代表标题等级,"#"号越多,标题等级越低注意!"#"号和标题文字......
  • 常用JVM参数
    -XX:+PrintCommandLineFlags打印那些已经被用户或者JVM设置过的详细的xx参数的名称和值。-XX:+PrintFlagsInitial打印所有JVM参数启动的初始值-XX:+PrintFlagsFinal打......
  • #yyds干货盘点#工作中常用的git命令
    Git配置了解版本控制什么是版本控制?我真的需要吗?版本控制是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统。什么是分布式版本控制系统分布式版本控制系统(......
  • PDF 压缩常用方法比较
    日常工作中,如果是一份PDF文档传输,时间长一点没什么问题,但如果需要传输几十个文档或者几百个就会花费很多时间,而对多个PDF文档压缩,体积变小了,传输的效率会大大提高,节省时......
  • 嵌入式开发中常用的条件编译
    条件编译命令常见形式:1#ifdef标识符2程序段13#else4程序段25#endif作用:当标识符被#define定义过,则对程序段1进行编译,否则编译程序段2。常用形式2:#ifndef......
  • 前端开发常用工具
    HtmlEmmethtml代码快速生成工具。占位字符生成lorem敲tab键即可自动生成一段占位文本图片占位符生成网址/图片宽度x图片高度支持的网址:http://placeholder......
  • 10 常用容器
    这些容器的泛型中全部只能使用对象,不能使用基本数据类型。10.0CollectionFrameworkjava.util.Collection集合中不能存放基本类型数据,而只能存放对象的引用。Collec......
  • Kubernetes应用访问层扩展CRD接入Prometheus原理
    1、kubernetes扩展点kubernetes应用访问层扩展点:webhook、operator、aggregator、容器探针、启停回调、kubectl插件。kubernetes基础设施层扩展点:调度器扩展、存储插件、网......
  • Pandas 常用操作
     Pandas库专为数据分析而设计,它是使Python成为强大而高效的数据分析环境的重要因素。一、Pandas数据结构1、importpandasaspdimportnumpyasnpimportmatplotli......