作为新手,如果使用的技术术语不是普遍接受的,请原谅:)
我有一个特定设备(例如设备 A),其 USB2.0 驱动程序可从 Linux 社区获得。基于 Ubuntu 12.04 的 PC 能够通过可用的驱动程序检测到该设备。
我的要求是确保 PC 可以通过 TCP/IP 数据包与设备 A 交换命令和数据(换句话说,不仅仅是基于 USB 的驱动程序,设备 USB 驱动程序上还应该有一个 TCP/IP 包装器,并且仍然执行与 USB 驱动程序之前相同的工作)。
购买了一个 USB(母头)转 RJ-45 适配器,将设备 A(公头)USB 连接到适配器的 USB 母头端,并将以太网端连接到路由器。PC 也连接到同一个路由器,这样设备 A 和 PC 的 IP 地址都在同一子网范围内。因此,设备 A 生成的数据包可以通过某种绑定路由到 PC(不确定如何实现这一点,但这是一个概念性想法)。
以下是我目前看到的问题
USB 转 RJ-45 只是硬件信号转换,本身并不是 NIC,因此没有分配 MAC/IP 地址。我们可以用这个连接器绑定在 PC 中创建的虚拟 NIC 吗?
是否有可用的 USB TO IP 命令以及可用的数据转换包装器?例如,以太网上设备 A 的命令转换为 USB 上设备 A 的命令,然后将其作为来自 USB 驱动程序的命令作用于设备
我的理解中缺少一些环节,因此如果您能就如何推进这项工作以便设备 A 和 PC 通过 IP 交换数据提出一些想法,将会很有帮助。
设备 A 只是一种网络摄像头类型的设备,它只会输出视频数据。
答案1
根据您的描述,我了解到您想通过 IP 网络将您的 USB 网络摄像头连接到其他计算机。正如 John Siu 所写,它们是两种不同的协议,无论是在物理部分(电气部分)还是在软件部分。
您总是需要某种东西能够“说”两种协议,并将一种协议转换为另一种协议。好吧,转换并不是一个更好的词,因为通常的做法是从一种介质中抓取数据包,然后将其作为有效载荷传输到另一种介质上。
我在谷歌上找到了这个项目:
USB/IP 项目旨在开发一个通过 IP 网络共享 USB 设备的通用系统。为了在计算机之间共享 USB 设备并使其具有全部功能,USB/IP 将“USB I/O 消息”封装到 TCP/IP 有效负载中并在计算机之间传输。
这只是软件部分,你还需要一些硬件,为此你需要口袋大小的电脑,比如比格犬板或者树莓派
但是市场上已经有组装好的工具了,比如这个:
http://www.camsecure.co.uk/CamsecureUSBtoIP.html
笔记:我从来不用 usbip 和 CamsecureUSBtoIP。我只是写了这两个链接来帮助你调查。
答案2
简短回答
如果网络摄像头只是用于 Skype 或计算机实时聊天的“普通网络摄像头”(罗技或其他常见品牌或无品牌),那么简短的回答是“否”。
长答案
USB 和以太网是两个不同的东西
当某物插入以太网端口时,以太网卡会等待以太网协议握手。普通的 USB 设备无法/没有程序执行此操作。对于能够执行此操作的设备,它很可能带有 USB 以太网连接器。
力量
USB 设备从 USB 连接获取电源。一些以太网设备能够使用支持以太网供电 (PoE) 的特定类型的网络交换机的电源。没有(我从未听说过或遇到过)支持该功能的网卡。
理论上的可能性
综上所述,仍有可能有人想出一个特殊的驱动程序来取代网卡驱动程序,并使其与特定设备通信 USB 协议。但需要一根特殊的电缆(切出电源线对并连接到电源适配器)来供电。
选择
只需使用一根很长的 USB 电缆即可。如果网络摄像头支持 USB 2.0,则可以使用 5 米长的电缆。
市场上已有支持 IP 网络的网络摄像头。搜索“ip webcam”。以下是一个例子:http://mydlink.dlink.ca/NCCA_DCS932L