AT Device 软件包发布有将近一年的时间了,期间经过几个版本的迭代,AT Device 软件包支持的功能和使用的方式也基本趋于稳定。
从软件包的下载量和排名也可以看出大家对 AT Device 软件包的热情和支持。
本帖主要介绍 AT Device 软件包使用方式和版本说明,并就 AT Device 软件包使用时出现的部分问题提出解决方式,希望对大家在 AT Device 软件包使用时有所帮助。如果有问题可以直接在该贴查找解决方式或提问,将会获得第一时间的回复 。
AT Device 软件包是由不同 AT 设备的移植实现和示例文件组成;
AT Device 软件包需要配合 RT-Thread AT 组件使用,AT Device 软件包是 AT 组件针对不同 AT 设备的实现。
AT Device 软件包旨在简化 AT 设备命令交互流程。软件包封装处理复杂的 AT 交互命令,提供简便的 AT 设备初始化和控制操作接口,并且抽象标准 BSD Socket API 用于 AT 设备网络连接。
AT Device 软件包目前支持的设备如下:
现如今,AT 命令被广泛的应用于嵌入式开发领域,但是针对不同厂家或者设备 AT 命令的格式不尽相同,使得适配的程序缺少重用性也为程序维护提供困难。使用 AT Device 软件包,抽象统一接口,应用层无需改动程序即可兼容不同的 AT 设备。
针对 AT 设备程序开发,最难处理的就是 AT 命令的收发和数据解析的操作,如果处理不好很容易造成数据的丢失或解析错误。 AT Device 软件包中针对不同设备已经完成大部分命令交互和解析的工作,并提供标准命令交互和数据解析接口,用户只需调用简单接口即可完成对 AT 设备的控制。
AT Device 软件包提供多种 AT 设备支持,针对已经适配好的设备,可以直接配置使用软件包,无需任何更改,即可对 AT 设备进行管理和控制。
AT Device 软件包支持多个 AT 设备同时接入(V2.0.0 版本支持),各个 AT 设备之间独立互不影响。
AT Device 软件包官方地址:https://github.com/RT-Thread-packages/at_device
AT Device 软件包最新版本号:V2.0.0 版本
AT Device 软件包配置使用方式,参考软件包使用说明配置选项介绍。
AT Device 软件包发布以来经过了多个版本的更新迭代,各个版本之间功能有所差异且需要适配 AT 组件改动,导致大家在版本的选择上容易产生问题,下面着重介绍一下 AT Device 软件包版本发展史,如果在版本选择和使用上出现的问题小伙伴可以优先查看这里。
目前 AT Device 软件包已经 release 7 个版本,最新版本为 laster 版本(V2.0.0),各个版本介绍如下:
综上我们可以知道,不同版本 AT Device 软件包在使用时对 RT-Thread 版本有一定依赖,希望大家在使用之前注意这点。当然 AT Device 软件包版本依赖在 ENV 中已经处理,我们需要做的只有更新 ENV!更新 ENV!更新ENV!,才能正确的处理软件包依赖关系。
pkgs --upgrade
更新 ENV 工具(强烈建议 ENV 工具添加自动更新功能);下面就大家使用 AT Device 软件包或者 AT 组件时可能出现的一些问题进行整理:
1. 软件包版本更新或版本升级问题
AT Device 软件包 V2.0.0 更新之后很多小伙伴遇到上述错误,这类问题是下载使用的软件包版本和 RT-Thread 版本不兼容的问题,参考问题描述。
pkgs --update
命令更新 ENV工具,如果更新失败可在官网下载最新版 ENV 并更新,ENV 下载地址。该错误是配置的串口名称错误或者初始化时发送 AT <br>
命令等待 AT 设备响应超时问题,这时候开发板和 AT 设备之间命令无法正常交互。
该类问题一般都是开发板和 AT 设备硬件连接错误问题或 AT 设备本身问题。
确定 AT 设备和开发板连接的串口名称,和 AT Device 软件包中配置的串口名称是否一致;
AT 组件中 Enable print RAW format AT command communication data
选项用于开启 AT 组件 RAW 数据显示功能,该功能可以打印出 AT 设备数据交互过程中发送和接收的命令详细信息。
部分小伙伴在开启该功能后,出现日志显示错误问题。
部分小伙伴在使用 AT Device 运行 onetnet 软件包或者 ali-iotkit 软件包时,关闭创建的 Socket 连接时会出现上述错误, 提示 Socket 关闭之后数据发送失败。
开发板和 AT 设备正常连接后,发送 AT 命令,得到的响应数据不全,缺少部分尾部数据,但是命令发送函数返回正常,参考问题描述。
AT 设备使用 AT Device 软件包完成联网之后,系统中部分网络软件包或网络功能不能使用,如 webnet 软件包、Telnet 功能、TFTP 功能等,参考问题描述。
at client
命令,进入 AT CLI 模式,CLI 模式下用户可以直接输入 AT 命令和 AT 设备进行交互,这样可以确定部分发送的命令和响应的格式是否正确;AT Device 软件包的发展离不开社区小伙伴的努力和支持,该贴将持续更新 AT Device 软件包常见问题,小伙伴们对 AT Device 软件包有什么改进的意见或者建议都可以直接在帖子下方提出。
针对论坛中大家经常提到的 AT 设备移植方式,将在下一篇帖子 《RT-Thread AT 设备移植指南》中为大家展现,尽情期待!!
最后,全家福镇楼。
顶下,代码兼容性问题是一个十分重要的事情!有的时候牺牲一些代码质量的考虑,但能够有更好的兼容性,这也 …
嗯,V2.0.0 版本之后软件包框架和功能基本趋于稳定,之后的改动应该不会太大,兼容性这快会重点考虑
我看到了合宙的720h呢,我也按照sim800c的 源码写了一下,但是我的产品是一个一直不关机的产品,感觉现在的 …
V2.0.0 版本 AT Device 软件包接入 netdev 中提供了对设备网络连接状态的实时检测,可以通过 netdev 组件中相关接口获取,或者 ifconfig 命令查看当前计入设备的网络信息。
关于重连机制,目前软件包中没有做过多处理,但是软件包提供了 at_device_control 接口,可以对设备进行关机或者重启操作,或者其他控制类操作,可以通过 control 接口在应用层实现设备重连机制。