问题标签 [usbserial]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
25560 浏览

android - 与 Android/Arduino 的 USB 通信

我正在开发这个需要通过 USB 进行通信的 Android 应用程序。我有一个爱可视 101 平板电脑(此处的规格:http ://www.archos.com/products/ta/archos_101it/specs.html?country=us&lang=en )。它有一个完整的 USB 主机端口。我可以将闪存 USB 驱动器插入 USB 端口,然后将文件从闪存驱动器复制到内部存储设备中。

我有这个Arduino Fio板,上面附有XBee。我有一个 XBee Explorer 加密狗和另一个 XBee,我打算将它连接到 Archos 101 平板电脑的 USB 端口。

截至目前,我可以将 XBee Explorer Dongle 放入我的计算机并与 Arduino Fio 之间发送/接收数据,没有问题。

Android有没有办法通过USB通话?我知道平板电脑中的某处必须有驱动程序允许 USB 通信,但我找不到访问或使用它们的方法。

我可以看到 Android 识别 XBee Explorer Dongle。我下载了一个终端仿真器,然后我可以输入“dmesg”并看到它看到了连接的加密狗。但我不能用它做任何事情。

我似乎需要一个适用于 Android的FTDI驱动程序。

对于让我的平板电脑与 XBee Explorer Dongle 通信的任何帮助,我将不胜感激。

0 投票
2 回答
6100 浏览

linux - 根据设备响应而不是 udev 设备信息使用 udev 创建设备符号链接

我有三个不同的串行设备连接到三个 USB 串行转换器 (FTDI USB-RS232)。如果我连接它们,我会按预期获得通用设备名称 /dev/ttyUSBx。当我尝试编写一些 udev 规则时,udevadm 向我显示了三个设备的相同输出,但某些设备序列号属性除外。

这些序列号会在每台设备上发生变化,所以如果我使用不同的 USB 串行转换器,我的规则将不再适用。因此,我需要一种与连接到串行转换器的特定设备通信并通过其响应识别它的方法。

“编写 udev 规则”HOWTO中,关于使用 PROGRAM 功能调用外部程序来命名设备的内容如下:

PROGRAM 用于运行产生设备名称的程序(除此之外它们不应该做任何事情)。在执行这些程序时,设备节点尚未创建,因此无法以任何方式对设备进行操作,

规则示例: SUBSYSTEM=="usb", PROGRAM="/bin/device_namer %k", SYMLINK+="%c"

所以我无法从那里写入 /dev/ttyUSBx 来识别设备。然后,我有 RUN 功能,但它似乎无法创建新的 SYMLINK,因为 udev 不会得到 RUN 的输出。

规则示例: SUBSYSTEM=="usb", RUN="/bin/program"

我可以从该 RUN 脚本中指示 udev 创建符号链接吗?或者我可以从那里手动创建该符号链接吗?

谢谢

0 投票
1 回答
4762 浏览

windows - 如何启用 USB 串行端口设备的“端口设置”​​选项卡?

我正在维护作为 Windows 设备管理器上的串行端口出现的 USB 外围设备的软件。

.inf 文件仅指定标准 usbser.sys 驱动程序。

大多数此类设备在可以更改设备的串行端口分配的属性下都有一个“端口设置”​​选项卡 - 这是我希望能够为我正在维护的这个设备做的事情。

如何启用“端口设置”​​选项卡?

我尝试将 serenum.sys 的“AddService”指令添加到我的 .inf 文件中(基于所有具有“端口设置”​​选项卡的设备都具有此驱动程序),但这不起作用。但是由于 serenum.sys 没有出现在驱动程序详细信息下的“驱动程序”选项卡下,可能我没有正确添加。

0 投票
3 回答
16277 浏览

delphi - 在 Delphi 7 上监听串口

我正在尝试编写一个程序,该程序将监听通过 USB 连接的 Arduino 板的串行输入,并将输出发送到串行端口(COM4)。但我不知道如何从 Delphi 中的串口获取输入。我需要程序来监听端口,每当输入到来时,它应该对它做出反应。有什么建议么?

0 投票
3 回答
1288 浏览

linux - 检测打开的文件/设备是否已被替换/删除

假设Linux下的情况如下:

一个进程不断地从 USB 串行转换器设备中读取数据 ( /dev/ttyUSB0)。该设备突然被拔掉并再次插入(或由于某种原因正在自行重置)。该进程继续拥有有效的文件句柄,/dev/ttyUSB0但不会从设备接收任何数据,除非该进程重新打开设备(因为udev已删除并重新创建了设备节点)。

是否有直接的方法来检测这种情况(即,不是通过检测数据流中的超时来间接检测),以便进程知道它必须重新打开设备?/dev/ttyUSB0监控using的修改时间是否可靠stat()

额外细节:

该过程使用标准open()函数打开设备文件。

/dev是由tmpfs控制的udev

注意:不想为此使用任何udev规则,而是更喜欢直接在流程中实现的解决方案。

0 投票
3 回答
35853 浏览

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

我想在 Linux Android 上开发一个通过 USB 控制串行设备的应用程序。
支持 USB 主机的 Android 操作系统是 3.1。

Q1:请告诉我如何获取串口设备挂载的端口。

当我在 Dalvik 调试监视器上获得“转储设备状态”时,我得到了可能的 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上控制串口设备。

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

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

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

0 投票
1 回答
2605 浏览

android - Android USB 配件与 Linux 系统的通讯

我正在尝试设置 Nexus One 手机以与 Linux 平板电脑上运行的应用程序进行通信。

在手机方面,Nexus One 是 Android 2.3.4,所以它上面有 USB 配件库。我按照http://developer.android.com/guide/topics/usb/accessory.html上的说明创建了一个 Android 应用程序。我已经通过将 Android 应用程序插入 Microchip 附件开发入门套件并连接到它来验证它是否可以正常工作。

在 Linux 方面,我已将其配置为使用 usbserial 模块注册 Nexus 设备,并在插入手机时创建一个 ttyUSB0 设备。我已验证我的应用程序可以正确读取和写入 ttyUSB0。我通过将它连接到另一台计算机上的串行端口并观察通过 minicom 输入的数据来做到这一点。

不幸的是,Android 开发者网站没有涵盖主机设备(在我的例子中是我的 Linux 平板电脑)需要执行的任何配置。换句话说,Linux 遵循什么协议来与手机通信?

0 投票
2 回答
1587 浏览

c - Select( ) 总是在 /dev/ttyUSB0 上阻塞

我在 /dev/ttyUSB0 上的 XBee rf 模块上使用 Select() sys cal。但是这个 syscal 只是不返回(仅在超时时返回),但是如果我在这个端口上的 WHILE 循环中使用 read(),我可以看到数据传入

选择仅在 TIMEOUT 时返回,而不是在端口准备好读取时返回

但如果我使用以下我可以看到正在打印的数据

请注意:关于system()函数中的命令,我在stty -F /dev/USB0 -g打开 GTKterm 后发出它/dev/ttyUSB0。(那是我能够从我的程序与我的调制解调器交谈的时候)所以猜测 GTKterm 配置了端口,我使用了完全相同配置。

0 投票
1 回答
1339 浏览

android - USB communications device class support in Android gingerbread or ice cream sandwich

Starting with Android 3.1, Android devices have limited host support. I have reviewed android.hardware.usb, and I have found very limited references to USB CDC support. I have a self-powered peripheral USB device, that communicates using USB CDC serial. I would like to connect it to an Android phone operating as a host, and read and write to it.

I would prefer to interface using Gingerbread, but could live with Ice Cream sandwich. I have seen posts that discuss this using custom ROMs, and rooted phones, but that is not an option for me.

Is USB CDC serial supported in Android 3.1 or 4.0? If so, are there any good code examples?

Thanks

0 投票
2 回答
1189 浏览

c - USB 串行/CDC 功能驱动程序

操作系统:Ubuntu Linux 10.10 内核:2.6.35-30

查询:我需要在上述平台上的 Windows 进程和嵌入式设备之间建立健壮的通信。在这种情况下有什么可能的解决方案?在这种情况下已经排除了套接字编程。这对您来说可能是一个非常基本的问题,但我是这个领域的新手,非常感谢您的帮助。