【问题标题】:Hayes AT command support on Android在 Android 上支持 Hayes AT 命令
【发布时间】:2012-02-23 16:52:29
【问题描述】:

我正在使用的当前产品支持通过串行链路的标准调制解调器 AT 命令。 ATD、ATH、ATV、ATQ ATE 等命令可以从设备获取信息或在设备上设置信息。

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

我们正在考虑使用 Android 创建类似的设备,我搜索了 Android 或 Linux 是否支持通过 RS232 或 USB 等串行接口的 Hayes 调制解调器 AT 命令,但找不到这样的层或组件。

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

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

所以我想弄明白,Android 或 Linux 内核是否具有支持 Hayes AT 命令集的默认 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 profile要求手机支持ie解析识别某些AT指令,如AT&C、&D、&F、+GCAP、+GMI、+GMM、+GMR、ATA、D、E、H、L、M等。

Android 如何解决这个问题?它是否具有对重新协调和响应此类 AT 命令的本机支持?

提前致谢!

【问题讨论】:

  • 你在这方面有什么帮助吗?

标签: android linux


【解决方案1】:

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

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

我已经在这两种方式上进行了相当广泛的串行通信,它工作得很好。迄今为止的主要问题是,虽然蓝牙串行适配器相当昂贵,但新的 USB 串行通信在某些设备上存在缺陷。

我上次测试三星 Galaxy Tab 时,USB 驱动程序不起作用。在其他一些 Android 设备上根本没有安装 USB 驱动程序。

但是一旦你有一个工作的 Android 设备串行通信(使用或不使用 AT 命令)就可以正常工作

更多信息请关注http://developer.android.com/guide/topics/usb/host.html

【讨论】:

  • 请查看我添加到帖子中以澄清我的问题的更多信息。我希望将 AT 命令发送到设备并让它识别和处理 AT 命令。
  • OK - 这有点不同。 AFAIK 没有对 AT 命令的固有支持。您必须自己编写解析器和解释器,以及翻译成 Android 系统上的相应功能。
  • 关于您在此处发布的内容的任何线索?
【解决方案2】:

在 linux 上,有 chat 命令,通常由 pppd 恶魔使用。然后是经典的TCL expect,它允许编写脚本。它已被移植到多种语言,例如expect for JavaPython expect。后面两个我没用过,不过看起来好像可以把它们当做库来用,不用把它们当外部程序来调用。

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

【讨论】:

    【解决方案3】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-19
      • 1970-01-01
      • 1970-01-01
      • 2021-05-27
      • 1970-01-01
      相关资源
      最近更新 更多