如何从 VB.NET 中的 USB 端口获取数据

Posted

技术标签:

【中文标题】如何从 VB.NET 中的 USB 端口获取数据【英文标题】:How to get the data from a USB port in VB.NET 【发布时间】:2012-03-06 23:38:34 【问题描述】:

我开发了一个用于管理患者详细信息的软件,该软件将数据存储到 MSsql 数据库中...... 但是,我需要存储的数据必须从传输数据的外部设备读取......现在我的问题是如何使用 VB.NET 2010 读取这些数据。

我在网上搜索,发现我可以使用 My.Computer.Port 从 USB 连接设备读取数据,但我无法获得它的逻辑和任何示例来实际完成这项工作......

我也通过很多书来了解这样做的实际方法,但还没有解决任何问题.....

如果有人可以帮助我举个例子,这样我就有办法完成我的任务......

【问题讨论】:

您是否已经有此设备的驱动程序等?是否像从 USB 记忆棒中读取文件一样简单? 设备实现了什么接口?您有几个用于 USB 的标准接口:USB 键盘、USB 驱动器、USB 串行...如果设备使用其中一个进行通信,那么您很幸运,并且可能有一个标准接口。如果设备没有实现这些,您将不得不编写自己的驱动程序或与供应商提供的驱动程序接口。最好的办法是询问供应商是否有可用的 API;您要做的并不像“读取 USB 端口”那么简单。查看设备管理器。 USB 设备如何报告?特殊司机? 你好@parasietje 我的设备使用串口Com 端口连接...并且设备不需要驱动程序,它会发送一些数据包。 见lvr.com/serial_ports_dotnet.htm 你想从中读取的只是一堆零和一?如果没有驱动程序来翻译它,这些数据将毫无意义。您使用的是什么设备?使用 Com 端口与使用 USB 端口不同,您知道吗? 【参考方案1】:

这是我发现的。您使用 HID.dll 连接 USB 端口。你知道最好的部分吗?我找到了一些例子。

这是一个链接,其中包含 USB 接口的基本示例和教程。 The HID Page

Sample Project File

【讨论】:

感谢约翰的快速回答,让我检查一下...如果它对我有用:) 我在制作一个安全程序时使用了那个 DLL,当计算机上没有连接闪存驱动器时会锁定资源管理器。 这两个链接现在都断开了;他们去一个时尚网站。域名可能已售出。 仅供参考:链接现在应该转到:janaxelson.com 而不是 lvr.com。我编辑了答案以反映这些更改,因此一旦经过审核,它们现在应该是正确的。【参考方案2】:

你循环那些: IO.DriveInfo.GetDrives() 并检查 DeviceType = IO.DriveType.Removable 的位置 然后是设备名称来使用它来复制数据或其他东西

详情请查看:Detect USB drive

【讨论】:

【参考方案3】:

Abhilash(我只问了这个问题

我添加这个,只是为了让大家知道,我目前对该主题的理解......

我实际上是向我认识的一个人问这个问题....

他向我解释了这个:-

基本上有两种方法可以从外部仪器获取数据。第一种方法是使用仪器自带的软件。如果仪器有任何类型的接口,应该有一些软件来读取数据。您可以使用此软件将数据存储到文件中,您的应用程序将读取具有固定结构的文件。很简单。

如果仪器提供串口但没有软件,那么您可以使用 My.Computer.Port 命名空间来访问仪器的串口。向串口发送命令并读回响应很容易,但您必须知道另一端识别的命令。您将需要有关设备的详细文档,您很可能会在 Internet 上找到这些文档。

第一种方法总是可取的。当然,您必须将数据与患者相关联。这可能很棘手。如果您可以找到允许您将数据从仪器下载到计算机的软件,那么获取数据将很简单。由于必须有人将设备连接到计算机,他们还可以启动应用程序并将数据保存到文件中。

【讨论】:

这是一个答案吗?或者属于问题的其他信息? @cody-grey 这是我从我的一个朋友那里找到的答案....这是为了让大家现在,我已经明白了这么多,但仍然如何实际得到这个东西...有问题... 以上不是两种方式...而是步骤:-) @abduIntegral 它是一个旧线程,但无论如何......这实际上是两种不同的方式,而不是步骤。许多 USB 设备都有自己的驱动程序,但有些经常使用标准的 FTDI USB 到 COMport 转换器。当你使用它时,你连接的不是USB,而是模拟的COM端口。

以上是关于如何从 VB.NET 中的 USB 端口获取数据的主要内容,如果未能解决你的问题,请参考以下文章

如何从 VB.net 组合框中的数据库中获取特定列的所有行?

在 vb.net 中,如何从数据表中获取列名

如何从 VB.NET 的视图中获取 SQL 查询

使用 MIDI 到 USB 电缆在 VB.NET 中获取信息

从动态 htmlTable 获取 vb.net 中的数据

VB.NET 如何获取网页中的数据