3 Star 28 Fork 17

RT-Thread-Mirror / at_device

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
Apache-2.0

AT device

中文页 | 英文页

1. 简介

AT device 软件包是由 RT-Thread AT 组件针对不同 AT 设备的移植文件和示例代码组成,目前支持的 AT 设备有:ESP8266、ESP32、M26、MC20、RW007、MW31、SIM800C、W60X 、SIM76XX、A9/A9G、BC26 、AIR720、ME3616、M6315、BC28、EC200X、M5311、L610、ML305、ML307系列设备等,目前上述设备都完成对 AT socket 功能的移植,及设备通过 AT 命令实现标准 socket 编程接口,完成 socket 通讯的功能,具体功能介绍可参考 《RT-Thread 编程指南》AT 命令章节 。

1.1. 目录结构

名称 说明
src AT device 实现源码目录
inc AT device 头文件目录
sample 不同设备示例文件目录
class 不同设备针对 AT 组件的移植适配目录
class/esp8266 ESP8266 设备针对 AT 组件的移植目录,实现 AT Socket 功能
class/esp32 ESP32 设备针对 AT 组件的移植目录,实现 AT Socket 功能
class/rw007 RW007 设备针对 AT 组件的移植目录,实现 AT Socket 功能
class/sim800c SIM800C 设备针对 AT 组件的移植目录,实现 AT Socket 功能
class/sim76xx SIM76XX 设备针对 AT 组件的移植目录,实现 AT Socket 功能
class/m26 M26/MC20 设备针对 AT 组件的移植目录,实现 AT Socket 功能
class/ec20 EC20 设备针对 AT 组件的移植目录,实现 AT Socket 功能
class/mw31 MW31 设备针对 AT 组件的移植目录,实现 AT Socket 功能
class/w60x W60X 设备针对 AT 组件的移植目录,实现 AT Socket 功能
class/a9g A9G 设备针对 AT 组件的移植目录,实现 AT Socket 功能
class/bc26 bc26 设备针对 AT 组件的移植目录,实现 AT Socket 功能
class/air720 air720 设备针对 AT 组件的移植目录,实现 AT Socket 功能
class/me3616 me3616 设备针对 AT 组件的移植目录,实现 AT Socket 功能
class/m6315 m6315 设备针对 AT 组件的移植目录,实现 AT Socket 功能
class/bc28 bc28 设备针对 AT 组件的移植目录,实现 AT Socket 功能
class/ec200x EC200T、EC200S 设备针对 AT 组件的移植目录,实现 AT Socket 功能
class/n21 N21 设备针对 AT 组件的移植目录,实现 AT Socket 功能
class/n58 N58 设备针对 AT 组件的移植目录,实现 AT Socket 功能
class/m5311 M5311 设备针对 AT 组件的移植目录,实现 AT Socket 功能
class/l610 L610 设备针对 AT 组件的移植目录,实现 AT Socket 功能
class/ml305 ML305 设备针对 AT 组件的移植目录,实现 AT Socket 功能
class/ml307 ML307 设备针对 AT 组件的移植目录,实现 AT Socket 功能

1.2 许可证

详见 LICENSE 文件。

1.3 依赖

  • RT_Thread 4.0.2+
  • RT_Thread AT 组件 1.3.0+
  • RT_Thread SAL 组件
  • RT-Thread netdev 组件

2. 获取方式

AT device 软件包是对 AT 组件和 AT socket 功能的移植,需开启 AT 组件库和 AT socket 功能来获取 AT device 软件包。

版本号说明

AT device 软件包目前已经发布多个版本,各个版本之间选项配置方式和其对应的系统版本有所不同,下面主要列出当前可使用的软件包版本信息:

  • 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;
  • V2.0.0/V2.0.1:适用于 RT-Thread 版本大于 V4.0.1 或者大于 3.1.3, AT 组件版本等于 V1.3.0;
  • latest:只适用于 RT-Thread 版本大于 V4.0.1 或者大于 3.1.3, AT 组件版本等于 V1.3.0;

上述 版本判断在 menuconfig 中自动完成,at_device 软件包选择版本时会根据当前系统环境给出最佳版本支持,这里版本介绍作为运行环境参考。

针对不同的版本号,在 ENV 中的选项配置也有所不同,主要分为如下几部分:

V1.X.X 版本配置选项介绍

开启 AT device 软件包,该版本只支持同时开启一种 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)  --->
  • Enable at device init by thread: 配置开启设备网络初始化是否通过创建线程完成;
  • AT socket device modules: AT 设备选择,目前仅支持 RW007、ESP8266、M26/MC20、EC20、SIM800C、SIM76XX;更多的设备支持请选择 V2.X.X 分支。
  • Version: 下载软件包版本;

V2.X.X (latest) 版本配置选项介绍

开启 AT device 软件包,该版本支持同时开启多种 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  --->
        [ ]   Neoway N21  --->
        [ ]   Neoway N58  --->
        [ ]   ChinaMobile M5311  --->
        [ ]   ChinaMobile ML305  --->
        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:配置该示例设备最大一行接收的数据长度;
  • Quectel EC20:开启 EC20(4G 模块)设备支持;
  • Espressif ESP8266:开启 ESP8266 (WIFI 模块)设备支持;
    • Enable initialize by thread:开启使用线程进行设备初始化功能(非阻塞模式初始化);
    • Enable sample:开启示例代码,该示例代码中有对示例设备的注册;
    • WIFI ssid:配置该示例设备连接的 WIFI 用户名;
    • WIFI password:配置该示例设备连接的 WIFI 密码;
    • AT client device name:配置该示例设备使用的串口设备名称;
    • The maximum length of receive line buffer:配置该示例设备最大一行接收的数据长度;
  • Espressif ESP32:开启 ESP32 (WIFI 模块)设备支持;
  • Realthread RW007:开启 RW007 (WIFI 模块)设备支持;
  • SIMCom SIM800C:开启 SIM800C (2G 模块)设备支持;
  • SIMCom SIM76XX:开启 SIM76XX (4G 模块)设备支持;
  • Notion MW31:开启 MW31 (WIFI 模块)设备支持;
  • WinnerMicro W60X:开启 W60X (WIFI 模块)设备支持;
  • AiThink A9/A9G:开启 A9/A9G (2G 模块)设备支持;
  • Quectel BC26:开启 BC26(NB-IOT 模块)设备支持;
  • Luat Air720:开启 air720(4g 模块)设备支持;
  • GOSUNCN ME3616:开启 ME3616(NB-IOT 模块)设备支持;
  • ChinaMobile M6315:开启 M6315 (2G 模块)设备支持;
  • Quectel BC28:开启 BC28(NB-IoT 模块)设备支持;
  • Quectel EC200X:开启 EC200T、EC200S(4G 模块)设备支持;
  • Neoway N21:开启 N21(NB-IoT 模块)设备支持;
  • Neoway N58:开启 N58(4G 模块)设备支持;
  • ChinaMobile M5311:开启 M5311(NB-IoT 模块)设备支持;
  • ChinaMobile ML305:开启 ML305(4G 模块)设备支持;
  • Version 下载软件包版本;

上面配置选项以 2G 模块和 WIFI 模块选项为例,介绍了V2.X.X 版本 AT device 软件包配置方式,如下几点值得注意:

  • V2.X.X 版本支持同时开启多个 AT 设备,可以在 FinSH 中通过 ifocnfig 命令查看开启的设备信息;
  • V2.X.X 版本设备需要注册之后才可使用,目前在 samples 目录文件中完成设备注册,用户也可以在应用层自定义设备注册。
  • Power pinPower status pin 等引脚选项根据具体设备硬件连接情况配置,如果不使用硬件上电功能,可以配置为 -1
  • 一个 AT 设备对应一个串口名称,及每个设备配置的AT client device name 应该都不相同。

AT 组件相关配置选项介绍

选中 AT device 软件包并开启相关设备支持之后,会默认选中 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 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:最大支持的发送命令数据的长度。

3. 注意事项

  • AT device 软件包适配的模块暂时不支持作为 TCP Server 完成服务器相关操作(如 accept 等);
  • AT device 软件包默认设备类型为未选择,使用时需要指定使用设备型号;
  • latest 版本支持多个选中多个 AT 设备接入实现 AT Socket 功能,V1.X.X 版本只支持单个 AT 设备接入。
  • AT device 软件包目前多个版本主要用于适配 AT 组件和系统的改动,推荐使用最新版本 RT-Thread 系统,并在 menuconfig 选项中选择 latest 版本;
  • 请参考 at_sample_xxx.c 中说明,部分功能需要增加AT_CMD_MAX_LENRT_SERIAL_RB_BUFSZ设定值大小。

4. 相关文档

5. 联系方式

Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

简介

暂无描述 展开 收起
C 等 2 种语言
Apache-2.0
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/RT-Thread-Mirror/at_device.git
git@gitee.com:RT-Thread-Mirror/at_device.git
RT-Thread-Mirror
at_device
at_device
master

搜索帮助