Tag: rxtx

我想在java中使用RxTx通过串口检测设备

我想在java中使用RxTx通过串口检测设备,设备被编程,如果它从计算机收到一个特定的单词,它将回复“ok”,如果计算机收到ok ..它将停止发送单词并突出显示设备已连接。 请帮我。 还有一件事……我必须检查每个端口..请您编写一个自动循环通过端口的方法,直到检测到设备。 我的代码即使在无限循环中也只发送一次该单词。 码: private void cb1KeyPressed(java.awt.event.KeyEvent evt) { // TODO add your handling code here: try{ l1.setText(“Port: “+cb1.getSelectedItem().toString()+” is Selected”); selectedPort = cb1.getSelectedItem().toString();// TODO add your handling code here rs.connect(selectedPort); for(;;) { CommPortSender.send(new ProtocolImpl().getMessage(“KITM”));//send message if(pi.rmess().equalsIgnoreCase(“OK”))//received message { l1.setText(“The Device is attached to: “+selectedPort); CommPortSender.send(new ProtocolImpl().getMessage(“OK ACK”));//send message break; } else { […]

Java RXTX Library不加载本机库

基本上我想使用RXTX Library for java为我的Arduino编写一个简单的通信工具,并且在加载动态库时失败了。 我的系统规格: 操作系统:OS X Yosemite 10.10.3 Java:SDK 1.8.0_45 RXTX:2.1-7r2 – 运行64位java的intel mac的修改版本,可以在这里找到。 IDE:NetBeans 8 我检查过,这些文件按照安装说明工作,这只是将这两个文件复制到/ Library / Java / Extensions目录中。 现在我想删除它们并从我的应用程序加载库。 我做了以下事情: 在netbeans中将RXTXcomm库添加到项目中。 使用以下代码在“java.library.path”属性中包含本机库的容器 System.setProperty(“java.library.path”, location.getPath() + File.pathSeparator + System.getProperty(“java.library.path”)); 并使用System.loadLibrary(“rxtxSerial”)加载库 当我编译代码并尝试运行它时,它给了我一个 java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path 现在我想知道我做错了什么(也许是一些很大的误解?) 任何帮助,将不胜感激!

PortInUseException – Java串行通信

我正在使用RXTX在Java中开发一个串行通信应用程序。 现在我在打开一个端口时收到一个错误“端口已经在使用:gnu.io.PortInUseException:未知的应用程序”。但我不认为它没有被任何其他应用程序使用。 请紧急。 提前致谢。

Mac上的RxTx – 串口已在使用中

我在Mac上安装了RXTX 。 Java JAR程序和Arduino软件都将Arduino视为USB调制解调器,如果它们声称端口“已在使用中”,如果我们尝试打开串行端口。 两者都声称“未知用户”。 我在Java Extensions中有rxtxcomm.jar 。 我如何让其中任何一个工作?

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.hasMoreElements()) { CommPortIdentifier port = (CommPortIdentifier) ports.nextElement(); System.out.println(port.getName()); } 我已经检查过串口是否可用所以此时我想知道本机库是否只是针对Windows 7 64位而被破解。 有没有人在Windows 7 64位下成功使用RXTX 2.2pre2? 构造函数中的违规代码部分: public SerialControl(String name, String comPort, int baudrate, int databits, […]

在我的Raspberry中安装rxtx包

我想在我的Raspberry Pi上安装一个rxtx软件包,该软件包将在KURA平台上运行(Equinox是Kura的OSGi容器) 我使用以下命令安装了rxtx本机库:sudo apt-get install librxtx-java .so安装在目录中:/ usr / lib / jni / pi@raspberrypi /usr/lib/jni $ ls librxtxI2C-2.2pre1.so librxtxParallel.so librxtxRS485-2.2pre1.so librxtxSerial-2.2pre1.so librxtxI2C.so librxtxRaw-2.2pre1.so librxtxRS485.so librxtxSerial.so librxtxParallel-2.2pre1.so librxtxRaw.so 然后我按照这个链接将rxtx库包装在一个包中http://rxtx.qbang.org/wiki/index.php/Wrapping_RXTX_in_an_Eclipse_Plugin 我添加到捆绑清单中: Bundle-NativeCode: /usr/lib/jni/librxtxSerial.so;osname=”Linux”;processor=”armv6l” 因为我的os类型是linux,我的架构是ARM: pi@raspberrypi ~ $ cat /proc/sys/kernel/{ostype,osrelease,version} Linux 3.18.11+ #781 PREEMPT Tue Apr 21 18:02:18 BST 2015 pi@raspberrypi ~ $ arch armv6l 但是我仍然无法安装捆绑包,我收到了这个错误: !ENTRY 1 […]

线程中断没有结束阻塞调用输入流读取

我正在使用RXTX从串口读取数据。 读取是在以下列方式生成的线程内完成的: CommPortIdentifier portIdentifier = CommPortIdentifier.getPortIdentifier(port); CommPort comm = portIdentifier.open(“Whatever”, 2000); SerialPort serial = (SerialPort)comm; …settings Thread t = new Thread(new SerialReader(serial.getInputStream())); t.start(); SerialReader类实现Runnable并且无限循环,从端口读取并将数据构建到有用的包中,然后再将其发送到其他应用程序。 但是,我把它简化为以下简单: public void run() { ReadableByteChannel byteChan = Channels.newChannel(in); //in = InputStream passed to SerialReader ByteBuffer buffer = ByteBuffer.allocate(100); while (true) { try { byteChan.read(buffer); } catch (Exception e) { System.out.println(e); […]

RXTX串行连接 – 阻塞read()的问题

我试图使用RXTX库来阻止Windows上的串行通信(XP和7)。 我已经在两端测试了与Hyperterminal的连接,并且它完美无缺。 我使用以下代码设置连接:(为清楚起见,省略了exception处理和防御性检查) private InputStream inStream; private OutputStream outStream; private BufferedReader inReader; private PrintWriter outWriter; private SerialPort serialPort; private final String serialPortName; public StreamComSerial(String serialPortName) { this.serialPortName = serialPortName; CommPortIdentifier portIdentifier; portIdentifier = CommPortIdentifier.getPortIdentifier(serialPortName); CommPort commPort = null; commPort = portIdentifier.open(this.getClass().getName(),500); serialPort = (SerialPort) commPort; serialPort.setSerialPortParams(4800,SerialPort.DATABITS_8,SerialPort.STOPBITS_1,SerialPort.PARITY_NONE); inStream = serialPort.getInputStream(); outStream = serialPort.getOutputStream(); inReader = new […]

Windows上的RxTx安装java.lang.NoClassDefFoundError:gnu / io / CommPort

我把rxtxcomm.jar放到jre/lib/ext文件夹中,但我仍然得到NoClassDefFoundError这个文件夹是不是自动进入全局类路径? 谢谢

在Java applet中动态加载本机库

我正在尝试编写一个将从用户的串行端口读取的Java小程序。 为此,我将Java Comm API与RXTX库结合使用。 我已成功设法通过本地Java应用程序读取数据,但我似乎无法在applet中执行相同操作。 问题是RXTX库是一个本机库,我还没有找到在Java applet中加载这个库的方法。 我发现了两篇有趣的文章( 在Applet中使用JNI引用了这篇文章 ),但两者都超过10年,我想知道是否有更新的解决方案。 或者,如果您可以提出替代方案,我很乐意听到它!