首页 文章

如何在Android上控制串口设备?

提问于
浏览
9

我想在Linux Android上开发一个应用程序whitch控制串口设备 .
Android OS是支持USB主机的3.1 .

Q1:请告诉我如何安装串行设备的端口 .

当我在Dalvik Debug Monitor上获得"Dump Device State"时,我可能获得了USB设备信息 .
并且,我使用adb检查了android设备上的/ dev / tty * .
我不知道串行设备是哪一个(/ dev / tty ??) .

adb shell
$ ls / dev / tty *
的/ dev / tty的
的/ dev / ttyFIQ0
的/ dev / ttyHS0
的/ dev / ttyHS2
的/ dev / ttyHS3
的/ dev / ttyHS4
的/ dev / ttyS0来
的/ dev /就是ttyS1
的/ dev / ttyS2
的/ dev / ttyS3

Q2:请告诉我如何在没有root权限的情况下控制Android上的串行设备 .

我有一个应用程序(exe),可以控制Linux上的串行设备 .
我试图在android上做,但是我不能拒绝许可 .

而且,我尝试重定向到串口(也许)
$ ls> / dev / ttyS0
但我不能 .
无法创建/ dev / ttyS0:权限被拒绝 .

请让我知道如何控制和访问串行设备 .

3 回答

  • 3

    在XDA论坛帖子中有一个很好的评论:

    How to talk to the Modem with AT commands .

    该主题向您展示如何使用远程终端(USB连接到您的PC)发送AT命令(ATC),但它还没有解决如何使用本地(电话)终端与手机调制解调器通信的问题 .

    BTW . 你需要一个终端应用程序/程序来与调制解调器进行任何对话(记住,它是一种双向通信) . 所以这就是你需要一个有根设备的原因,因为root kit通常带有Busybox(包括一个microcom终端程序) . 否则你必须编写自己的程序 .

  • 0

    在下一步中,您可以通过几个命令测试tty * port:$ cat / dev / tty * /用于接收来自tty的字符和$ echo 'text string'> / dev / tty * /用于将字符发送到tty

    祝好运!

  • 2

    试试root设备?在研究同样的事情时,我读过只有少数3.1 / 2.3.4设备允许对root端口进行非root访问 .

    这就是我对HTC Desire无根据的看法,2.2:

    $ ls /dev/tty*
    ls /dev/tty*
    /dev/tty
    /dev/ttyHS0
    /dev/ttyHSUSB0
    /dev/ttyHSUSB1
    /dev/ttyHSUSB2
    /dev/ttyMSM0
    

    我的华硕变压器,无根,3.2:

    $ ls /dev/tty*
    ls /dev/tty*
    /dev/tty
    /dev/ttyHS1
    /dev/ttyHS2
    /dev/ttyS0
    /dev/ttyS1
    /dev/ttyS2
    /dev/ttyS3
    

    当安装了键盘底座时,我得到完全相同的列表(它作为2个USB端口) .

    希望它有所帮助,请让我知道我很想能够做同样的事情 .

相关问题