首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Linux频道
中国IT教育
Google
首页 资讯动态 认证考试 新手入门 核心技术 高级技术 J2EE J2ME Java&XML 开源技术 其他技术 RSS订阅 论坛 专题
您现在的位置: 中国IT实验室 >> Java >> 核心技术 >> 网络编程 >> 正文

教你如何在java应用程序中访问usb设备

  用 jUSB API 访问一台 USB 设备的正常过程如下:

  ·通过从 HostFactory 得到 USB Host 进行 Bootstrap。

  ·从 Host 访问 USB Bus,然后从这个 Bus 访问 USB root hub(即 USB Device)。

  ·得到 hub 上可用的 USB 端口数量,遍历所有端口以找到正确的 Device。

  ·访问附加到特定端口上的 USB Device。可以用一台 Device 的 PortIdentifier 直接从 Host 访问它,也可以通过从 root hub 开始遍历 USB Bus 找到它。

  ·用 ControlMessage 与该 Device 直接交互,或者从该 Device 的当前 Configuration 中要求一个 Interface,并与该 Interface 上可用的 Endpoint 进行 I/O 。

  清单 1 展示了如何用 jUSB API 获得 USB 系统中的内容。这个程序编写为只是查看 root hub 上可用的 USB 设备,但是很容易将它改为遍历整个 USB 树。这里的逻辑对应于上述步骤 1 到步骤 4。

  清单 1. 用 jUSB API 获得 USB 系统的内容

  import usb.core.*;

  public class ListUSB
  {
  public static void main(String[] args)
  {
  try
  {
   // Bootstrap by getting the USB Host from the HostFactory.
   Host host = HostFactory.getHost();

   // Obtain a list of the USB buses available on the Host.
   Bus[] bus = host.getBusses();
   int total_bus = bus.length;

   // Traverse through all the USB buses.
   for (int i=0; i   {
    // Access the root hub on the USB bus and obtain the
    // number of USB ports available on the root hub.
    Device root = bus[i].getRootHub();
    int total_port = root.getNumPorts();

    // Traverse through all the USB ports available on the
    // root hub. It should be mentioned that the numbering
    // starts from 1, not 0.
    for (int j=1; j< =total_port; j++)
    {
     // Obtain the Device connected to the port.
     Device device = root.getChild(j);
     if (device != null)
     {
      // USB device available, do something here.
     }
    }
   }
  } catch (Exception e)
  {
   system.out.println(e.getMessage());
  }
  }

 

上一页  [1] [2] [3] [4] [5] [6] [7] 下一页

【责编:Ken】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·关于Java框架技术专题
 ·XML全攻略技术专题
 ·JAVA开源技术介绍专题
 ·Java嵌入式开发之J2ME技术专题
 ·超前体验 Oracle 11g的5个新特性…
 ·揭密使用VB.NET的五个实用技巧
 ·Oracle和SQL Server常用函数对比专题…
 ·展现C#世界 C#程序设计专题…
 ·Java入门 Tomcat的配置技巧精华专题…
 ·Oracle RMAN物理备份技术详解…
 今日更新
 社区讨论
 博客论点
 频道精选
 Java 频道导航