java使用usb4java连接USB 实现数据通讯

基于usb4java实现的java下的usb通信 项目地址:点击打开 使用java开发的好处就是跨平台,基本上java的开发的程序在linux、mac、MS上都可以运行,对应这java的那句经典名言:一次编写,到处运行。这个项目里面有两种包选择,一个是low-level(libus)一个是high-level(javax-usb),相关的优缺点在官方网站上已经说明了,我这里就不翻译了,不过前者好像基于libusb已经好久不更新了,所以还是选择后... 阅读详情
AI摘要

本文介绍如何使用Java库usb4java实现USB设备的数据读写。通过详细代码示例,展示从设备连接到数据传输的全过程,适用于需要与USB设备交互的项目。

                            java使用usb4java连接USB 实现数据通讯 

最近公司接到一个项目,需要连接usb获取/写入数据到数显盒。 查阅了很多资料,发现可以使用usb4java 来实现,然后我就来填坑了!  po代码不易,请各位小伙伴多多关注!

先上代码,代码我并没有优化,有可能有很多函数没有用到但是还写在上面,复制的时候删掉即可!只希望对大家有所帮助!

首先你的POM里需要这个 包 

<dependency>
   <groupId>org.usb4java</groupId>
   <artifactId>usb4java-javax</artifactId>
   <version>1.2.0</version>
</dependency>

其次你需要在你的项目中建立一个 javax.usb.properties 静态文件 内容就一句:

javax.usb.services = org.usb4java.javax.Services  
写好保存即可。

 

 

 

前期准备就完成了!

创建一个java类 xxxx.java

写一个连接方法:

/**
*
* TODO: 连接设备
*@author Zck
*@date 2020/5/20 15:48
*
*/
public Map<String,Object> linkDevice() throws Exception{

    Map<String,Object> mainMap = new HashMap<>();

    mainMap.put("code", usbConnectCSS.USB_CONNECT_TRUE.getCode());

    UsbDevice device = null;
   //去搜索特定的设备!需要用到设备的VID PID  自己百度怎么看!
    if (device == null) {

        device = findDevice(UsbHostManager.getUsbServices()
                .getRootUsbHub());

    }

    if (device == null) {

        mainMap.put("code", usbConnectCSS.USB_CONNECT_NOT_HAVE.getCode());
        mainMap.put("msg", usbConnectCSS.USB_CONNECT_NOT_HAVE.getInfo());
        System.out.println("设备未找到!");
        return mainMap;

    }
    UsbConfiguration configuration = device.getAc
java使用usb4java读取usb连接的设备 1、最近在做一个java与usb通信的项目,在我原来的理解中,java是不能读取电脑底层设备信息的,所有就让人用C写一个中间程序来传递数据。但是最近在查询资料的时候,看到usb4java是写好的jar包,可以用java读取硬件设备,虽然最终不知道是什么原因一直无法读取我公司的硬件设备,但是可以查看到鼠标、键盘、手机是否连接usb。做一个参考吧。2、首先需要查看usb连接的idVendor和idPr... 阅读详情

相关推荐

ARM工业平板在机器人示教器控制系统中的应用与实现

机器人示教器是工业自动化中实现人机交互与运动控制的核心设备,其本质是一个集成了实时通信、安全控制与友好人机界面的嵌入式控制系统。其工作原理在于通过特定的通信协议(如EtherCAT)与机器人控制器进行确定性的数据交换,实现对机械臂运动指令的下发与状态监控。该技术的核心价值在于提升编程调试效率、保障操作安全并降低系统总成本。在工业机器人焊接、搬运、装配等场景中,示教器的性能直接关系到生产柔性与可靠性。随着工业4.0发展,基于**ARM架构的工业平板**凭借其开放生态、强大算力与成本优势,正成为新一代示教器的主

weixin_30638387的博客 261

Arduino和树莓派单片机,第一次学习如何选?

大家好,我是华维,今天给讲讲Arduino和树莓派的知识,想要学习单片机小伙伴可以关注收藏哦

华维单片机编程 1769

javax.usb-开源

该项目允许从 Java 访问 USB 设备。 它是在 JCP 进程下创建的,并被分配了 JSR 080。官方的 Java 包名称是“javax.usb”。

usb4java-javax:usb4java的javax.usb扩展

usb4java-javax 这是usb4java的扩展,并使用usb4java提供的libusb包装器作为后端来实现javax-usb。 有关更多详细信息,请访问。

usb4java:基于libusb的Java USB库

usb4java 基于libusb 1.0的Java USB库 版权所有(C)2011 Klaus Reimer, 版权所有(C)2013 Luca Longinotti, 有关许可信息,请参阅LICENSE.md。 该库可用于访问Java中的USB设备。 它基于本地libusb 1.0共享库,并且尽可能完整地反映了此API。 usb4java还实现了javax-usb(JSR80)API。 因此,您可以选择是否要通过低级libusb 1.0 API或高级别javax-usb API访问USB设备。 本机库以预编译的形式包含在32位和64位版本Linux,Windows和Mac OS X中。 库是自动提取并加载的,因此您无需关心它们。 有关更多详细信息,请访问。

usb4java-javax-1.3.0.tar_usb4java包_usb4java1.3.0_usb4java版本_

用于使用usb串口的jar包,版本号1.3.0

实用工具系列 - Xshell安装下载与使用

一、介绍 二、下载 三、安装 四、使用

Passerby_Wang的博客 1万+

Moodle平台题库建设技术

Moodle平台题库建设技术简述1新的改变1功能快捷键1合理的创建标题,有助于目录的生成1如何改变文本的样式1插入链接与图片1如何插入一段漂亮的代码片1生成一个适合你的列表1创建一个表格1设定内容居中、居左、居右1SmartyPants1创建一个自定义列表1如何创建一个注脚注释也是必不可少的1KaTeX数学公式1新的甘特图功能,丰富你的文章1UML 图表1FLowchart流程图1导出与导入导出1...

lxf78的博客 4534

巨量千川M-API实战:5分钟搞定短视频计划数据自动获取(Python版)

本文详细介绍了如何利用巨量千川M-API和Python快速搭建自动化工具,实现短视频计划数据的自动获取。通过实战代码演示了从环境准备、Token管理到核心数据接口调用的完整流程,帮助电商运营和技术开发者告别手动导出,高效完成数据汇总与分析。

weixin_29325515的博客 1362

手把手教你用Simulink搭建DSOGI-PLL模型(附完整代码下载)

本文详细介绍了在Simulink中搭建高鲁棒性DSOGI-PLL模型的完整工程实践指南。针对传统锁相环在非理想电网下的不足,文章深入剖析了双二阶广义积分器锁相环(DSOGI-PLL)的核心原理与优势,并提供了从模块构建、系统组装到参数整定与测试验证的全流程手把手教程,附有完整代码下载,助力工程师应对谐波、电压跌落等复杂电网工况。

weixin_29223603的博客 388

RK3588 固定hdmiin的dev/videoX节点

RK3588 固定hdmiin的dev/videoX节点

目前从事linux驱动开发,多交流多学习吧 2050

华为OD机试 - 末世分配资源包 - 二分查找 + 贪心(Python/JS/C/C++ 新系统 100分)

本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新。末世时代,政府为各地方配资源,现有资源分配表 nums[n],要求按如下规则分配给 k 个营地:在最优平均分配情况下,得到最大团队所获得的资源数4,3,6,9,7 216最佳划分之一:[4,3,6] -> 13 [9,7] -> 16最大

学Java,找哪吒 224

自动驾驶算法/规划决策控制算法面经汇总、学习路线、面经心得

自动驾驶算法学习路线,面试求职大全

qq_41667348的博客 1万+

黑猫带你学eMMC协议第2篇:eMMC部分相关名词释义

1 前言 1.1 声明 本文依据eMMC JEDEC5.1、网络资料及个人工作经验整理而成,如有错误请留言。 本文结合eMMC JEDEC5.1协议手册查看效果更佳。 1.2 本文背景 本文关键词不包括emmc jedec5.1协议第3章节:《Terms and definitions》内容。关于emmc协议层的关键词,直接查阅spec相关章节即可,清晰明了,此处没必要再列出。 本文为本人工作学习中常听到或常用到关乎于emmc/flash的一些关键词合集,没有固定分类,不需要强行记忆,供查询使用。 1.

黑猫奥利奥的博客 7441

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

上一篇: java-spring boot-rabbitMQ-死信队列-订单失效案例
ChenKun_zhao
博客等级 码龄10年 3粉丝 4原创
评论 11
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值