2019-12-18 13:24:53 +08:00
# AT device #
2018-07-09 18:17:49 +08:00
## 1. 简介 ##
2019-12-19 21:03:27 +08:00
2019-12-30 16:12:28 +08:00
AT device 软件包是由 RT-Thread AT 组件针对不同 AT 设备的移植文件和示例代码组成,目前支持的 AT 设备有: ESP8266、ESP32、M26、MC20、RW007、MW31、SIM800C、W60X 、SIM76XX、A9/A9G、BC26 、AIR720、ME3616系列设备等, 目前上述设备都完成对 `AT socket` 功能的移植,及设备通过 AT 命令实现标准 socket 编程接口,完成 socket 通讯的功能,具体功能介绍可参考 [《RT-Thread 编程指南》 ](https://www.rt-thread.org/document/site/programming-manual/at/at/ )AT 命令章节 。
2018-07-09 18:17:49 +08:00
2019-05-27 13:41:17 +08:00
### 1.1. 目录结构 ###
2018-07-09 18:17:49 +08:00
| 名称 | 说明 |
| ---- | ---- |
2019-05-27 13:41:17 +08:00
| src | AT device 实现源码目录 |
| inc | AT device 头文件目录 |
| sample | 不同设备示例文件目录 |
| class | 不同设备针对 AT 组件的移植适配目录 |
| class/esp8266 | ESP8266 设备针对 AT 组件的移植目录,实现 AT Socket 功能 |
2019-10-26 16:39:07 +08:00
| class/esp32 | ESP32 设备针对 AT 组件的移植目录,实现 AT Socket 功能 |
2019-05-27 13:41:17 +08:00
| class/rw007 | RW007 设备针对 AT 组件的移植目录,实现 AT Socket 功能 |
| class/sim800c | SIM800C 设备针对 AT 组件的移植目录,实现 AT Socket 功能 |
2019-08-24 16:54:35 +08:00
| class/sim76xx | SIM76XX 设备针对 AT 组件的移植目录,实现 AT Socket 功能 |
2019-05-27 13:41:17 +08:00
| class/m26 | M26/MC20 设备针对 AT 组件的移植目录,实现 AT Socket 功能 |
| class/ec20 | EC20 设备针对 AT 组件的移植目录,实现 AT Socket 功能 |
2019-07-04 17:39:04 +08:00
| class/mw31 | MW31 设备针对 AT 组件的移植目录,实现 AT Socket 功能 |
2019-11-12 18:16:54 +08:00
| class/w60x | W60X 设备针对 AT 组件的移植目录,实现 AT Socket 功能 |
2019-11-26 15:02:05 +08:00
| class/a9g | A9G 设备针对 AT 组件的移植目录,实现 AT Socket 功能 |
2019-12-18 13:24:53 +08:00
| class/bc26 | bc26 设备针对 AT 组件的移植目录,实现 AT Socket 功能 |
2019-12-19 21:16:25 +08:00
| class/air720 | air720 设备针对 AT 组件的移植目录,实现 AT Socket 功能 |
2019-12-30 16:12:28 +08:00
| class/me3616 | me3616 设备针对 AT 组件的移植目录,实现 AT Socket 功能 |
2018-07-09 18:17:49 +08:00
### 1.2 许可证 ###
2018-07-09 19:56:22 +08:00
at_device package 遵循 LGPLv2.1 许可,详见 `LICENSE` 文件。
2018-07-09 18:17:49 +08:00
### 1.3 依赖 ###
2019-05-27 19:43:46 +08:00
- RT_Thread 4.0.2+
- RT_Thread AT 组件 1.3.0+
2018-07-09 18:17:49 +08:00
- RT_Thread SAL 组件
2019-04-19 11:54:30 +08:00
- RT-Thread netdev 组件
2018-07-09 18:17:49 +08:00
## 2. 获取方式 ##
2019-05-27 13:41:17 +08:00
AT device 软件包是对 AT 组件和 AT socket 功能的移植,需开启 AT 组件库和 AT socket 功能来获取 AT device 软件包。
2018-07-09 18:17:49 +08:00
2019-05-27 13:41:17 +08:00
**版本号说明**
2018-07-09 18:17:49 +08:00
2019-05-27 13:41:17 +08:00
AT device 软件包目前已经发布多个版本,各个版本之间选项配置方式和其对应的系统版本有所不同,下面主要列出当前可使用的软件包版本信息:
2018-07-09 18:17:49 +08:00
2019-07-19 16:10:34 +08:00
- **V1.2.0**:适用于 RT-Thread 版本小于 V3.1.3, AT 组件版本等于 V1.0.0;
- **V1.3.0**:适用于 RT-Thread 版本小于 V3.1.3, AT 组件版本等于 V1.1.0;
- **V1.4.0**:适用于 RT-Thread 版本小于 V3.1.3或等于 V4.0.0, AT 组件版本等于 V1.2.0;
- **V1.5.0**:适用于 RT-Thread 版本小于 V3.1.3 或等于 V4.0.0, AT 组件版本等于 V1.2.0;
- **V1.6.0**:适用于 RT-Thread 版本等于 V3.1.3 或等于 V4.0.1, AT 组件版本等于 V1.2.0;
2019-11-01 14:10:59 +08:00
- **V2.0.0/V2.0.1**:适用于 RT-Thread 版本大于 V4.0.1 或者大于 3.1.3, AT 组件版本等于 V1.3.0;
- **laster**:只适用于 RT-Thread 版本大于 V4.0.1 或者大于 3.1.3, AT 组件版本等于 V1.3.0;
2019-05-27 13:41:17 +08:00
> 上述 版本判断在 menuconfig 中自动完成, at_device 软件包选择版本时会根据当前系统环境给出最佳版本支持,这里版本介绍作为运行环境参考。
针对不同的版本号,在 ENV 中的选项配置也有所不同,主要分为如下几部分:
**V1.X.X 版本配置选项介绍**
2019-07-19 16:10:34 +08:00
开启 AT device 软件包,该版本只支持**同时开启一种 AT 设备**, 配置选项具体如下所示:
2018-07-09 18:17:49 +08:00
2018-07-09 19:56:22 +08:00
RT-Thread online packages --->
IoT - internet of things --->
2018-08-29 23:47:21 +08:00
-*- AT DEVICE: RT-Thread AT component porting or samples for different device
[ ] Enable at device init by thread
2018-07-09 19:56:22 +08:00
AT socket device modules (Not selected, please select) --->
2019-05-27 13:41:17 +08:00
Version (V1.6.0) --->
- **Enable at device init by thread**: 配置开启设备网络初始化是否通过创建线程完成;
2019-12-30 16:12:28 +08:00
- **AT socket device modules**: AT 设备选择,目前支持 RW007、ESP8266、M26/MC20、EC20、SIM800C、SIM76XX、A9/A9G、BC26 、air720、ME3616等设备;
2019-05-27 13:41:17 +08:00
- **Version**: 下载软件包版本;
**V2.X.X (laster) 版本配置选项介绍**
开启 AT device 软件包,该版本支持**同时开启多种 AT 设备**配置选项具体如下所示:
```c
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 --->
2019-11-01 14:10:59 +08:00
[ ] Espressif ESP32 --->
2019-05-27 13:41:17 +08:00
[*] 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 --->
2019-07-04 17:39:04 +08:00
[ ] Notion MW31 --->
2019-11-12 18:16:54 +08:00
[ ] WinnerMicro W60X --->
2019-11-26 15:02:05 +08:00
[ ] AiThink A9/A9G --->
2019-12-30 16:12:28 +08:00
[ ] Quectel BC26 --->
[ ] Luat air720 --->
[ ] GOSUNCN ME3616 --->
2019-05-27 13:41:17 +08:00
Version (latest) --->
```
- **Quectel M26/MC20**:开启 M20/MC20( 2G 模块)设备支持;
- **Enable initialize by thread**:开启使用线程进行设备初始化功能(非阻塞模式初始化);
- **Enable sample**:开启示例代码,该示例代码中有对示例设备的注册;
- **Power pin**:配置该示例设备上电引脚;
- **Power status pin**:配置该示例设备上电状态引脚;
- **AT client device name**:配置该示例设备使用的串口设备名称;
- **The maximum length of receive line buffer**:配置该示例设备最大一行接收的数据长度;
2019-05-27 19:43:46 +08:00
- **Quectel EC20**:开启 EC20( 4G 模块)设备支持;
2019-05-27 13:41:17 +08:00
- **Espressif ESP8266**:开启 ESP8266 ( WIFI 模块)设备支持;
- **Enable initialize by thread**:开启使用线程进行设备初始化功能(非阻塞模式初始化);
- **Enable sample**:开启示例代码,该示例代码中有对示例设备的注册;
- **WIFI ssid**:配置该示例设备连接的 WIFI 用户名;
- **WIFI password**:配置该示例设备连接的 WIFI 密码;
2019-10-26 16:39:07 +08:00
- **AT client device name**:配置该示例设备使用的串口设备名称;
- **The maximum length of receive line buffer**:配置该示例设备最大一行接收的数据长度;
- **Espressif ESP32**:开启 ESP32 ( WIFI 模块)设备支持;
2019-05-27 13:41:17 +08:00
- **Realthread RW007**:开启 RW007 ( WIFI 模块)设备支持;
- **SIMCom SIM800C**:开启 SIM800C ( 2G 模块)设备支持;
- **SIMCom SIM76XX**:开启 SIM76XX ( 4G 模块)设备支持;
2019-07-04 17:39:04 +08:00
- **Notion MW31**:开启 MW31 ( WIFI 模块)设备支持;
2019-11-12 18:16:54 +08:00
- **WinnerMicro W60X**:开启 W60X ( WIFI 模块)设备支持;
2019-11-26 15:02:05 +08:00
- **AiThink A9/A9G**:开启 A9/A9G ( 2G 模块)设备支持;
2019-12-18 13:24:53 +08:00
- **Quectel BC26**:开启 BC26( NB-IOT 模块)设备支持;
2019-12-19 21:16:25 +08:00
- **Luat Air720**:开启 air720( 4g 模块)设备支持;
2019-12-30 16:12:28 +08:00
- **GOSUNCN ME3616**:开启 ME3616( NB-IOT 模块)设备支持;
2019-05-27 13:41:17 +08:00
- **Version** 下载软件包版本;
上面配置选项以 2G 模块和 WIFI 模块选项为例,介绍了`V2.X.X` 版本 AT device 软件包配置方式,如下几点值得注意:
- `V2.X.X` 版本支持同时开启多个 AT 设备,可以在 FinSH 中通过 `ifocnfig` 命令查看开启的设备信息;
- `V2.X.X` 版本设备需要注册之后才可使用,目前在 samples 目录文件中完成设备注册,用户也可以在应用层自定义设备注册。
- `Power pin` 和 `Power status pin` 等引脚选项根据具体设备硬件连接情况配置,如果不使用硬件上电功能,可以配置为 `-1` ;
- 一个 AT 设备对应一个串口名称,及每个设备配置的`AT client device name` 应该都不相同。
**AT 组件相关配置选项介绍**
选中 AT device 软件包并开启相关设备支持之后,会默认选中 AT 组件的客户端功能,下面是 AT 组件配置选项,
```c
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 lenght of AT Commonds buffe
```
其中和 AT device 软件包相关的配置选项:
- **The maximum number of supported clients**:最大支持的同时开启的 AT 客户端数量( AT device 软件包中选中多个设备需要配置该选项为对应数值);
- **Enable BSD Socket API support by AT commnads**:开启 AT Socket 功能支持,选中 AT device 软件包默认选中该选项;
- **The maximum lenght of AT Commonds buffe**:最大支持的发送命令数据的长度。
2018-07-09 18:17:49 +08:00
## 3. 注意事项 ##
2019-04-19 11:54:30 +08:00
- AT device 软件包适配的模块暂时不支持作为 TCP Server 完成服务器相关操作(如 accept 等);
2018-07-09 18:17:49 +08:00
- AT device 软件包默认设备类型为未选择,使用时需要指定使用设备型号;
2019-05-27 13:41:17 +08:00
- `laster` 版本支持多个选中多个 AT 设备接入实现 AT Socket 功能,`V1.X.X` 版本只支持单个 AT 设备接入。
2019-04-19 11:54:30 +08:00
- AT device 软件包目前多个版本主要用于适配 AT 组件和系统的改动,推荐使用最新版本 RT-Thread 系统,并在 menuconfig 选项中选择 `latest` 版本;
2018-07-09 19:56:22 +08:00
2019-11-01 14:10:59 +08:00
## 4. 相关文档
- [AT 组件编程指南 ](https://www.rt-thread.org/document/site/programming-manual/at/at/ )
- [应用 AT 组件连接 ESP8266 模块 ](https://www.rt-thread.org/document/site/application-note/components/at/an0014-at-client/ )
2018-07-09 19:56:22 +08:00
## 5. 联系方式
2018-08-29 23:47:21 +08:00
* 维护: RT-Thread 开发团队及社区开发者
2019-02-19 10:02:58 +08:00
* 主页: https://github.com/RT-Thread-packages/at_device