Hayes AT在Android上支持命令

时间:2012-02-23 16:52:29

标签: android linux

我工作的当前产品通过串行链路支持标准调制解调器AT命令。 ATD,ATH,ATV,ATQ ATE等命令可以从设备获取信息,也可以从设备上获取seti信息。

该设备还支持拨号PPP连接,当从PC启动时,通常会先执行一些AT命令 - 例如ATD。

我们正在寻找使用Android创建类似的设备,我搜索Android或Linux是否通过串行接口(如RS232或USB)支持Hayes调制解调器AT命令,并且无法找到这样的层或组件。

在Android RIL页面上,我看到它说,“Android提供参考供应商RIL,使用Hayes AT命令集,您可以将其用作电话测试的快速入门和商业供应商RIL的指南”。但我相信这可能是为了与基带或电话层连接。这通常也用于串行接口,DTE可以发出AT命令并与Android设备通话吗?

我也研究过Linux,它确实有一套基本的AT命令,但它们与调制解调器无关,并且用于不同的目的 - 例如atq列出了用户的待处理作业,atrm删除了由其作业编号标识的作业。

所以我期待看,Android或Linux内核是否有默认的AT命令解析器,它支持Hayes AT命令集,可以通过串行链路连接到Android设备的DTE访问。

我认为这是手机的典型案例,其他人可能会遇到同样的问题或问题,但我没有在Android论坛上找到答案。


添加更多信息以澄清我的问题,因为它似乎从答案来看,我不是很清楚我在问什么


为了澄清我的问题,我不是试图从Android手机发出AT命令。相反,我希望通过串行链路(如RS232 / USB /蓝牙)从PC向Android手机发出AT命令。

我想了解Android是否固有支持AT命令并且有AT解析器?

例如要建立从Windows到支持PPP的设备的PPP链接(拨号连接),Windows将首先发送一些AT命令,最后发送ATD(拨号)命令。设备响应CONNECT响应,之后切换到在线模式,建立PPP链路,并在PC和设备之间发送IP数据。因此,通常这种设备(调制解调器)默认处于AT模式。 ATD就是这样一个命令。该设备还支持其他几种AT命令。

现在要开发一个使用Android的类似设备,我想在不显着改变Linux内核或Andorid架构的情况下做到这一点,并且我希望了解是否一个识别标准AT命令集的AT命令解析器是否受到了隐含支持机器人。

为了使我的问题更清楚,请考虑用于例如PC的情况。使用BT DUNS(拨号网络)配置文件连接到设备(电话)。 DUNS配置文件要求电话支持即解析并识别某些AT命令,例如AT& C,& D,& F,+ GCAP,+ GMI,+ GMM,+ GMR,ATA,D,E,H,L ,M等。

Android如何解决这个问题?它是否具有重新配置和响应此类AT命令的原生支持?

提前感谢!

3 个答案:

答案 0 :(得分:0)

如果我理解正确,您希望通过从Android设备到硬件的串行通信发送AT命令,并获得回复。

基本上,人们可以通过蓝牙实现串行通信 - 或者使用USB通信从12级开始。

我在两种方式都做了相当广泛的串行通信,它运行得很好。到目前为止,主要问题是蓝牙串行适配器非常昂贵 - 新的USB串行通信在某些设备上存在缺陷。

我最后一次测试三星Galaxy Tab时,USB驱动程序无法正常运行。在其他一些Android设备上,根本没有安装USB驱动程序。

但是,一旦你有一个有效的Android设备串口通信(使用或不使用AT命令)工作正常

有关详细信息,您可以查看http://developer.android.com/guide/topics/usb/host.html

答案 1 :(得分:0)

在linux上,有chat命令,它通常由pppd恶魔使用。然后是经典TCL expect,它允许编写脚本。它已移植到多种语言,例如expect for JavaPython expect。我没有使用后两种,但它看起来好像你可以将它们用作库而不必将它们称为外部程序。

令人感到奇怪的是,最先进的手机仍然使用古老的Hayes AT命令集而不是合适的API ..

答案 2 :(得分:0)

我知道这是一个旧线程,但是adb shell ls /devices/tty*显示了/dev/ttyG0/dev/ttyG1

此模式显示COM6上的串行设备: echo ATDTnumberofmyparents >>com6:允许我拨打父母的电话。