AT Device 软件包发布有将近一年的时间了,期间经过几个版本的迭代,AT Device 软件包支持的功能和使用的方式也基本趋于稳定。从软件包的下载量和排名也可以看出大家对 AT Device 软件包的热情和支持。
本帖主要介绍 AT Device 软件包使用方式和版本说明,并就 AT Device 软件包使用时出现的部分问题提出解决方式,希望对大家在 AT Device 软件包使用时有所帮助。如果有问题可以直接在该贴查找解决方式或提问,将会获得第一时间的回复 。 软件包介绍1. 什么是 AT Deivce 软件包 AT Device 软件包是由不同 AT 设备的移植实现和示例文件组成; AT Device 软件包需要配合 RT-Thread AT 组件使用,AT Device 软件包是 AT 组件针对不同 AT 设备的实现。 AT Device 软件包旨在简化 AT 设备命令交互流程。软件包封装处理复杂的 AT 交互命令,提供简便的 AT 设备初始化和控制操作接口,并且抽象标准 BSD Socket API 用于 AT 设备网络连接。 - AT Device 软件包目前支持的设备如下:
- wifi 模块:ESP8266、RW007
- 2G 模块:M26、MC20、SIM800C
- 4G 模块:EC20、SIM76XX
2. 为什么要使用 AT Device 软件包 现如今,AT 命令被广泛的应用于嵌入式开发领域,但是针对不同厂家或者设备 AT 命令的格式不尽相同,使得适配的程序缺少重用性也为程序维护提供困难。使用 AT Device 软件包,抽象统一接口,应用层无需改动程序即可兼容不同的 AT 设备。 针对 AT 设备程序开发,最难处理的就是 AT 命令的收发和数据解析的操作,如果处理不好很容易造成数据的丢失或解析错误。 AT Device 软件包中针对不同设备已经完成大部分命令交互和解析的工作,并提供标准命令交互和数据解析接口,用户只需调用简单接口即可完成对 AT 设备的控制。 AT Device 软件包提供多种 AT 设备支持,针对已经适配好的设备,可以直接配置使用软件包,无需任何更改,即可对 AT 设备进行管理和控制。 - AT Device 软件包支持多个 AT 设备同时接入(V2.0.0 版本支持),各个 AT 设备之间独立互不影响。
3. 如何使用 AT Device 软件包 4. 软件包版本更新说明 AT Device 软件包发布以来经过了多个版本的更新迭代,各个版本之间功能有所差异且需要适配 AT 组件改动,导致大家在版本的选择上容易产生问题,下面着重介绍一下 AT Device 软件包版本发展史,如果在版本选择和使用上出现的问题小伙伴可以优先查看这里。 目前 AT Device 软件包已经 release 7 个版本,最新版本为 laster 版本(V2.0.0),各个版本介绍如下: - V1.0.0:该版本为最初版本,适配 ESP8266、M26 模块,距最新版本改动较大,不建议使用;
- V1.1.0:该版本主要适配系统中 SAL 组件和 AT 组件改动,距最新版本改动较大,不建议使用;
- V1.2.0:该版本要修复 BUG,添加对 EC20 模块支持,建议配合 RT-Thread V3.1.0 版本使用;
- V1.3.0:该版本主要适配 AT 组件中多客户端功能支持,建议配合 RT-Thread V3.1.0 版本使用;
- V1.4.0:该版本修复软件包 BUG,建议配合 RT-Thread V3.1.1 、V3.1.2 或 V4.0.0 版本 使用;
- V1.5.0:该版本添加对 RW007、SIM800C、SIM76XX 模块支持,建议配合 RT-Thread V3.1.1 、V3.1.2或 V4.0.0 版本使用;
- V1.6.0:该版本适配 netdev 网卡组件,添加 AT Device 网卡命令的支持,需要配合 RT-Thread V3.1.3 版本 或 V4.0.1 版本使用;
- laster(V2.0.0):最新版本重构了 AT Device 软件包结构,添加对多网络客户端支持,即支持同时选中多个 AT 设备。因为改动较大且和之前 RT-Thread 版本不兼容,如果选中 laster 版本 AT Device 软件包,只能使用 Github 最新版本 RT-Thread!!!
综上我们可以知道,不同版本 AT Device 软件包在使用时对 RT-Thread 版本有一定依赖,希望大家在使用之前注意这点。当然 AT Device 软件包版本依赖在 ENV 中已经处理,我们需要做的只有更新 ENV!更新 ENV!更新ENV!,才能正确的处理软件包依赖关系。 5. 软件包使用注意事项 - 配置软件包之前建议 pkgs --upgrade 更新 ENV 工具(强烈建议 ENV 工具添加自动更新功能);
- 如果使用 github 上最新版本 RT-Thread ,则只能使用 laster 版本 AT Device 软件包;如果使用 release 版本 RT-Thread ,请参考上述软件版本更新说明选择合适版本 AT Device 软件包。
- AT Device 软件包适配的模块目前不支持作为网络服务器使用(如 accept 等函数不支持);
- AT Device 软件包 V1.X.X 版本只支持开启一个设备,V2.0.0 版本(laster)支持同时开启多个设备。
- AT Device 软件包 V1.X.X 版本和 V2.0.0 版本选项配置方式差异较大,如果进行版本升级请详细查 软件包 README 文件中配置介绍。
- AT Device 软件包开启会默认开启 AT 组件中配置选项,一般来说 AT 组件中配置选项无需改动。
常见问题汇总下面就大家使用 AT Device 软件包或者 AT 组件时可能出现的一些问题进行整理: 1. 软件包版本更新或版本升级问题 错误现象: error: "at_device_ops" has already been declared in the current scope.error: #error directive: "This RT-Thread version is older!!, please check and updata laster RT-Thread!"AT Device 软件包 V2.0.0 更新之后很多小伙伴遇到上述错误,这类问题是下载使用的软件包版本和 RT-Thread 版本不兼容的问题,参考 问题描述。
|