如何用OSGi Equinox设置rxtx?
我正在寻找解决我问题的解决方案. 我正在开发一个必须通过rxtx jar从串行端口读取的捆绑包. 启动应用程序时,我会收到以下错误 java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path thrown while loading gnu.io.RXTXCommDriver Exception in thread "Thread-2" java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path at java.lang.ClassLoader.loadLibrary(Unknown Source) at java.lang.Runtime.loadLibrary0(Unknown Source) at java.lang.System.loadLibrary(Unknown Source) at g
2 2024-04-05
编程技术问答社区
连接到rfcomm0的Java rxtx代码不工作
我已经成功地将我的Arduino Uno R3与蓝牙MATE模块连接起来,并能够通过蓝牙将数据发送到运行Ubuntu 12.04的笔记本电脑. (使用串行端口协议).数据是在RFCOMM0上收到的. 以下代码显示收到的数据:sudo screen /dev/rfcomm0 现在,我在Java程序中读取此数据时面临问题.我已经从 http://playground.arduino.cc/interfacing/java 中转介了代码.这使用RXTX库访问串行端口. 这是代码: import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.OutputStream; import gnu.io.CommPortIdentifier; import gnu.io.SerialPort; import gnu.io.SerialPortEvent; import gnu.
6 2024-04-01
编程技术问答社区
Java InputStream阻塞式读取
根据 read() 在 InputStream 被描述为: 如果没有字节,因为 溪流的结尾已经到达, 值-1返回.此方法 块直到输入数据可用, 检测到流的末端,或 抛出例外. 我有一个while(true)循环执行read(),当没有发送在流上时,我总是会得到-1.这是预期的. 我的问题是read()什么时候会阻止?由于如果没有获得任何数据,它将返回-1.我希望阻止read()等到收到数据.如果您到达了输入流的末尾,那么read()不应该等待数据而不是返回-1? 或read()仅在还有另一个线程访问流而您的read()无法访问流的情况下? 这使我解决了下一个问题.我曾经有事件侦听器(由我的库提供),可以在可用数据时通知我.当我被通知时,我将启动while((aByte = read()) > -1)循环存储字节.当我在很短的时间内完成两个事件时,我感到困惑,并不是所有的数据都在显示.似乎只会显示第二个事件数据的尾端,其余的都缺少. 我最终更改了代码,以
2 2024-04-01
编程技术问答社区
错误。由OutputStream.flush()引起的 "nativeDrain中没有错误"。
我有以下问题:当我想冲洗输出流时,rxtx返回错误. 目标是使用调制解调器密钥发送SMS.那我在哪里错了? 我搜索了,什么也没找到,我不知道是什么原因导致问题! 我认为错误消息来自RXTX库,但我不确定. 我已经尝试过没有潮红,但也没有起作用. 所以请帮助我 这是我班级的实际代码: package fr.ryfax.smscontroller.main; import java.io.*; import java.util.ArrayList; import gnu.io.*; public class USBModem { private CommPortIdentifier PORT_ID; private final String PORT; private final int BITRATE; private final String CENTER; private final char ENTER = 13;
2 2024-03-18
编程技术问答社区
无法对ESP8266进行编程
蓝色LED在向模块供电后闪烁,红色固定在启用,我什至可以通过WiFi连接到它.但是我无法编程.我尝试了Arduino IDE,不同的固件闪光灯(例如Nodemcu,XTCOM).我正在使用Arduino Mega. 这是我的初始设置: VCC - 3.3 V on Arduino RST - nothing CH_PD - 3.3 V on Arduino TX - RX on Arduino (TX is transmitting data to RX, so I don't need a voltage divider, right?) RX - voltage divider (R1 = 10K, R2 = 20K) - TX on Arduino GPIO0 - GND on Arduino GPIO2 - nothing GND - GND on Arduino 然后,我尝试从Arduino IDE上传草图,并收到以下错误: warning: espcom
4 2024-03-03
编程技术问答社区
Java RXTX库不加载本地库
基本上,我想使用我的系统规格: OS:OS X Yosemite 10.10.3 Java:SDK 1.8.0_45 RXTX:2.1-7R2-Intel Mac运行64位Java的修改版本,可以找到在这里. IDE:Netbeans 8 我检查了这些文件通过按照安装说明来工作,这只是将这两个文件复制到/库/java/extensions目录中. 现在,我想将它们删除并从我的应用程序中加载库. 我做了以下操作: 将RXTXCOMM库添加到Netbeans的项目. 使用以下代码 中的" java.library.path"属性中的本机库的容器 System.setProperty("java.library.path", location.getPath() + File.pathSeparator + System.getProperty("java.library.path")); 并使用System.loadLibrary("rxtxSeri
4 2024-03-03
编程技术问答社区
不匹配的RXTX版本
我找到了一个代码,可以通过串行端口到Arduino在Java进行通信,并想尝试使其正常工作以扩展其以获取项目想法,但是我一直在收到此错误 Stable Library ========================================= Native lib Version = RXTX-2.2-20081207 Cloudhopper Build rxtx.cloudhopper.net Java lib Version = RXTX-2.1-7 WARNING: RXTX Version mismatch Jar version = RXTX-2.1-7 native lib Version = RXTX-2.2-20081207 Cloudhopper Build rxtx.cloudhopper.net Could not find COM port. Started 我认为这意味着RXTX库存在JAR不匹配,但是本机LIB中构建的链接不再存在.我不
12 2024-03-03
编程技术问答社区
Mac上的RxTx-串行端口已在使用中
我有 rxtx 安装在Mac上. Java Jar程序和Arduino软件都将Arduino视为USB调制解调器,如果两者都声称该端口已经"正在使用",如果我们尝试打开串行端口.两者都声称"未知用户".我在Java扩展中有rxtxcomm.jar. 我如何使其中任何一个工作? 解决方案 OS X在串行端口上具有某种排除机制. MacBook没有任何串行端口,但是USB端口会模仿它们.当arduino挂起时,它在端口列表中显示为"/dev/tty.usbmodem ...",其中...是一些尾巴. 当说港口很忙时,这是标准 i/o 例外,这意味着我们无法获取访问.目前的所有者不确定,因为没有当前所有者.我们只是没有需要访问目录才能获得所有权的访问权. 使用Apple终端,执行以下操作: sudo mkdir /var/lock sudo chmod a+rw /var/lock 这将创建所需的目录并使其可访问.串行端口将不再忙,除非当然还有其他事情正
8 2024-03-03
编程技术问答社区
使用rxtx组件进行串行通信的Java小程序
我正在尝试建立一个可以打开串行端口并与之通信的小程序.我已经使用rxtxcomm.jar进行了串行通信.我有一个在eclipese环境中工作的小程序.我构建了jar文件并签名相同,但是当在浏览器中运行时,控制台显示了foll: java.lang.ExceptionInInitializerError thrown while loading gnu.io.RXTXCommDriver Exception in thread "thread applet-zhas_xbeeComm.xtalk-1" java.lang.ExceptionInInitializerError at zhas_xbeeComm.Xconnect$1.run(Xconnect.java:46) at java.security.AccessController.doPrivileged(Native Method) at zhas_xbeeComm.Xconnect.connec
6 2024-03-02
编程技术问答社区
在Java小程序中动态加载一个本地库
我正在尝试编写一个将从用户的串行端口读取的Java小程序.为此,我正在使用 java comm api 与 rxtx库.我已经成功地通过本地Java应用程序读取了数据,但是我似乎在小程序中做到了同样的事情.问题是RXTX库是一个本机库,我还没有找到将此库加载到Java applet中的方法.我发现了两篇有趣的文章(使用 jni in applets in Applets =" http://www.javaworld.com/jw-10-1998/jw-10-papptowin32.html" rel =" nofollow noreferrer">本文),但两者都超过10岁,我已经超过我想知道是否有一个较新的解决方案.或者,如果您可以提出替代方案,我很想听听! 解决方案 使用Java Web启动.您可以将本地库作为签名的罐子中包含,并且所有内容都应起作用. 1)将本机库放在根目录中的罐子中 2)签名所有罐子 3)写一个引用所有罐子的JNLP(去搜索如何编写JNLP)
6 2024-03-02
编程技术问答社区
安卓上的RXTX串口库
我正在使用 rxtx library 在我的java项目中来自我的GPS芯片的数据.现在,我尝试将其移植到我的Android设备,这是一个带有Android 4.0.3库存ROM的根源的Galaxy Nexus. 我已经创建了一个项目,并将我的类移植到Android版本.它使用 rxtx库for Android 喜欢: public void init() { try { Enumeration portIdentifiers = CommPortIdentifier.getPortIdentifiers(); // / See what ports are available. and latch on desired port while (portIdentifiers.hasMoreElements()) { CommPortIdentifier pid = (CommPortIdenti
12 2024-02-09
编程技术问答社区
RXTX在windows 7 64位下无法列出或找到端口
早上好, 我在Windows 7 64位上使用/或安装RXTX问题.我以前曾在X86 WIN XP系统上使用过它,没有任何问题.由于由于某种原因,RXTX无法找到任何端口,因此重新安装了此新系统.我已经尝试了RXTX安装,Cloud Hopper的64位本地库,并删除所有RXTX文件并从头开始.找到了rxtxcomm.jar,我可以在Netbeans中浏览包裹,但实现似乎已损坏或找不到. 该行执行时,每次都会失败: comPort = "COM1"; portId = CommPortIdentifier.getPortIdentifier(comPort); 并抛出了nosuchportException. 使用它列出串行端口的任何产品. Enumeration ports = CommPortIdentifier.getPortIdentifiers(); String portArray[] = null; while (ports.hasMore
2 2024-01-08
编程技术问答社区
使用Windows上的RXTX Java库使用NosuchportException?
I have followed the instructions to setup rxtx on windows from http://www.jcontrol. org/download/readme_rxtx_en.html . 我确实做的是将rxtxserial.dll复制到" c:\ program文件\ java \ jdk1.6.0_07 \ jre \ bin" 并将RXTXCOMM.JAR复制到" C:\ Program Files \ Java \ JDK1.6.0_07 \ JRE \ lib \ lib \ ext" (我的java_home变量设置为c:\ program文件\ java \ jdk1.6.0_07 \ jre) 我还将rxtxcomm.jar添加到我的日食项目中. 但是当我运行它时,它仍然说" nosuchportException" Devel Library ============================
10 2023-12-06
编程技术问答社区
RXTX中是否需要常量轮询?
试图找出这个问题(在那里有任何帮助),我跑了rxtx使用为什么?这是RXTX居民的实施选择不佳,Sun的不良API选择(因为RXTX遵循Javax.Comm API),还是由本机代码支持的运行Java的限制? 另一方面, 超级终端没有轮询(并且没有问题).它可以访问一些让它这样做的隐藏的Windows系统调用吗? 解决方案 不,不是由于Javax.XOMM API. RXTX可以通过该API使用是否使用. RXTX内部词有点不同/怪异,并且有一些错误. 简短版本,这是应该使用的方式:您有两个参数可以使用:超时和阈值.根据源代码,将超时设置为0(无)和阈值为1(返回之前至少需要1个字节)应通过定义的输入式,阻止读取. . 问题是,即使这样设置它,当前稳定版本中也有一个错误(2.1.7r2).阈值参数始终设置为0!从源代码: /*测试ttyset.c_cc [vmin] =阈值; */ ttyset.c_cc [vmin] = 0; 令人困惑的一部分是在
4 2023-12-06
编程技术问答社区
如何修复Windows 10中的Java rxtxSerial.dll或jSSC-2.7_x86_64.dll串行端口错误?
更新:我已经使用JSerialComm库找到了一个解决方案. (请参阅底部的代码) 我有一个程序,我们已经在Windows 7机器上运行了一段时间,但是现在开始使用Windows 10介绍机器,并且程序崩溃了.所以我需要找到解决方案. 错误是一个异常_ACCESS_VIOLATION错误. (请参阅下文) 以下代码的第一个块是我自己的代码,它使用rxtxSerial.dll库.它将打开并设置端口参数,但是一旦从端口收到数据后就崩溃. 我还尝试了JSSC.JAR库具有相同的exception_access_violation错误. 第二个代码的块是直接来自JSSC样本Wiki.它一旦试图打开端口就会崩溃. 我是使用Intellij Ide. rxtxSerial.dll错误: # # A fatal error has been detected by the Java Runtime Environment: # # EXCEPTION_A
26 2023-12-06
编程技术问答社区
如何在java中访问USB端口
我正在尝试编写一个Java应用程序,该应用程序可以访问USB端口以读取并写入通过USB连接的设备.我遇到的问题是,我不知道在Java中使用什么来做这样的事情.我在网上搜索,发现了一些叫做JUSB的东西,但是所有帖子似乎都相当旧. 当前我正在使用RXTX库,但有时我会遇到一些同步错误.当我使用C#进行等效的情况时,它需要的代码要少得多,而且我不会遇到任何同步错误. 我的问题是,我可以用来访问USB端口(与等效c#code () >)? 解决方案 与C#在Java中的USB支持无关. JUSB和Java-USB都严重过时,并且可能无法使用任何严重的应用程序开发. 如果要实现跨平台USB应用程序,最好的选择是写一个摘要 jni> jni> jni> jni 与Linux,Mac和Windows本地库进行对话的接口,您必须写自己.我会看 libusb 处理Mac和Linux.如您所见,Windows非常简单.我刚刚完成了一个为期一年的项目,不幸的是,这是唯一严重的跨平台
12 2023-11-10
编程技术问答社区
RXTX 无法在 ubuntu 上列出端口
我正在尝试运行简单的代码: import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.OutputStream; import gnu.io.CommPortIdentifier; import gnu.io.SerialPort; import gnu.io.SerialPortEvent; import gnu.io.SerialPortEventListener; import java.util.Enumeration; public class SerialTest implements SerialPortEventListener { SerialPort serialPort; private BufferedReader input; private OutputStream output; private static final int TIME_O
6 2023-11-02
编程技术问答社区
RXTX在ubuntu中不工作
最终设法从Windows中的RXTX读取了读取-catch块,我什至没有得到例外,并且由于目前无法基于Ubuntu的调试,因此我无法查明问题. (Ubuntu是12.04 64位). import gnu.io.*; import java.io.*; import javax.swing.JOptionPane; public class ReadComPort { public static void main(String[] s) { readcomport(); } public static String readcomport() { String value = null; try { // CommPortIdentifier portIdentifier = CommPortIdentifier // .getPortIdentifie
12 2023-11-02
编程技术问答社区
Ubuntu RXTX无法识别usb-serial设备
我将带有librextx-java的设备连接到ubuntu.该代码以前在10.04中使用,但在12.04中,它无法发现连接到计算机的USB串行. java.util.Enumeration portEnum = CommPortIdentifier.getPortIdentifiers(); while ( portEnum.hasMoreElements() ) { CommPortIdentifier portIdentifier = portEnum.nextElement(); System.out.println( portIdentifier.getName() + " - " + getPortTypeName(portIdentifier.getPortType()) ); } 尽管安装了适当的librextx-java库,但该代码的这一部分永远不会进入WARE循环,并且已识别设备(DMESG | TAIL
16 2023-11-02
编程技术问答社区
gnu.io.PortInUseException: 未知应用程序?
void connect ( String portName ) throws Exception { CommPortIdentifier portIdentifier = CommPortIdentifier.getPortIdentifier(portName); if ( portIdentifier.isCurrentlyOwned() ) { System.out.println("Error: Port is currently in use"); } else { System.out.println(portIdentifier.getCurrentOwner()); CommPort commPort = portIdentifier.open(this.getClass().getName(),2000); if ( commPort instanceo
26 2023-10-25
编程技术问答社区