【问题标题】:Using AT commands with an Android phone在 Android 手机上使用 AT 命令
【发布时间】:2013-05-06 17:54:28
【问题描述】:

我正在编写一个程序,该程序能够使用 AT 命令从我的 Android 手机中的 GSM 调制解调器发送和接收数据。

我执行以下shell脚本:

su
echo -e "AT+CSQ?\r" > /dev/smd0
cat /dev/smd0 > /dev/asd.txt

创建了 asd.txt 文件,但其中没有任何内容(它应该写出信号强度)。看起来它挂在 cat 命令上,我认为是因为它没有得到任何输出。我尝试了其他一些命令,但到目前为止我没有运气。有什么推荐的吗?

【问题讨论】:

  • 'cat' 通常不是从串行端口读取的可靠工具 - 您可能需要自己制作。但您真正的问题是管理调制解调器的 Android 平台代码可能会在您之前消耗响应。试图躲在它的背后可能不是一个好主意。最后,上述内容不会真正起作用,因为 'su' 不会导致粘性 root - 您需要在 su 调用产生的 root shell 中执行以下命令。

标签: android shell at-command


【解决方案1】:

您可以尝试使用atinout 程序,它的行为应该如下所示:

$ echo AT+CSQ | atinout - /dev/smd0 -
AT+CSQ
+CSQ: <rssi>,<ber>

OK
$

如果您想捕获代码中的结果,请以... - /dev/smd0 /dev/asd.txt 运行。 请注意,您应该运行 AT+CSQ,而不是 AT+CSQ?

(atinout-0.9.tar.gz中的Makefile需要稍作改动编译,git源就可以了)。

【讨论】:

  • 你能简单描述一下我在makefile中要做的改变吗?
  • 您需要使用合适的cross compiler 编译它,我相信可以通过android 的NDK tools 获得它,但我自己从未这样做过,所以我的知识到此为止。
  • 如何在android中使用atinout? @hlovdal
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-20
  • 1970-01-01
相关资源
最近更新 更多