我是靠谱客的博主 魔幻鸭子,最近开发中收集的这篇文章主要介绍随笔:关于AT命令,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

AT命令(Attention)在手机中,用于对modem(也就是移动模块)通过串口命令进行操作,处理与语音电话、短信和数据。

AT命令的用途

在N年前的一个涉及MeeGo的项目,MeeGo采用ofono开源项目进行移动通信,ofono通过AT命令来提供GSM的通信,但是不支持CDMA。这也从侧面论证了CDMA手机可能并不采用AT命令作为标准接口。当时请OEM根据高通芯片的API和参考,参照GSM的AT命令进行封装,在拨号应用中通过AT命令对modem进行操作,并通过DBus允许其他应用调用拨号软件。无论ofono还是我们的处理,架构层次如下:

OS(系统或系统级应用)→ AT命令(OEM封装)→ 芯片API

Android系统与AT命令

对于智能手机,AP和BP分离的情况,在AP上的系统通过串口和BP通信是个不错方式。在Android的源码中有一个内部包com.android.internal.telephony中有对AT命令的封装和解析,但这种internal的包开发者不能调用的SDK部分,可以用来封装ROM。这说明Android对AT command的方式是支持的。

网上信息,对于Android如何调用AT command,用root登录命令行,直接对串口进行操作,如

echo -e "ATr" > /dev/smd0

具体的串口,不同设备会有不同,甚至不一定会提供。这种方式,开发者是可以调用的,通过Runtime.exec直接执行命令行命令,但要求是root,例如echo -e "ATD123456789;r" > /dev/smd0,拨打123456789的号码。

衍生Android系统

关于ROM,国内有很多Android的衍生分支,最著名的是小米,但实际上包括华为手机,中兴手机,他们对UI和用户体验,以及部分的系统应用都进行了更改,另外还有百度云ROM等等。架构如下:

Android衍生系统→ Android OS→ AT command → 芯片API,我个人估计是Android衍生系统不会直接处理AT command,需要AT命令的应该是新OS。

但我有下面的疑问

以前OS很多,Modem的厂家也很多,OEM通过中间规范的AT命令来适配。现在OS已经高度统一,芯片厂家的数目也减少了很多,原则上芯片厂商可以提供直接适配OS,不一定需要中间标准的AT命令,芯片平台完全可以直接对接OS。

对于SoC芯片,AP和BP是继承在一起的,中间并没有什么串口,如果放在一起还需要通过串口的方式调用,看起来有点傻,估计是内存共享或别的什么方式。

我的看法是:AT命令很可能即将完成其使命。

我上3GPP的网站上去查,目前最新的AT命令标准发布与2014.6.27,似乎还活得挺滋润的。但是给出的keywords是

UMTS, GSM, command, terminal, LTE

这说明CDMA确实很可能不是采用AT命令的方式。


最后

以上就是魔幻鸭子为你收集整理的随笔:关于AT命令的全部内容,希望文章能够帮你解决随笔:关于AT命令所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部