我正在寻找解决我问题的解决方案. 我正在开发一个必须通过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
以下是关于 rxtx 的编程技术问答
我想在覆盆子Pi上安装RXTX捆绑包 该捆绑包将在Kura平台上运行(Equinox是Kura的OSGI容器) 我使用: sudo apt-get安装librextx-java . 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库 > 我添加到捆绑包中: Bundle-NativeCode: /usr/lib/jni/librxtx
我正在使用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类可以无限期地实现可运行的循环,从端口读取并将数据构造为有用的软件包,然后再将其发送到其他应用程序.但是,我将其简化为以下简单性: public void run() { ReadableByteChannel byteChan = Channels.ne
我的最终目标是从Adafruit Ultimate GPS(NMEA 0183标准)接收LAT和长GPS信息到我的Java应用程序.我正在使用Java Marine API来做到这一点.然后,当前位置将与时间戳一起写入DB. 到目前为止,我已经成功(我认为)配置了RXTX,可以通过USB端口启用COM. Java Marine API附带了一些示例.java文件.下面的示例应扫描所有现有的COM端口并寻求NMEA数据 - 但是当我运行时,我只会获得输出 Scanning port /dev/tty.Bluetooth-Incoming-Port GPS已连接,当我通过终端访问它时,我可以看到它流数据. 请原谅这个文本转储,我有点不符合我的深度,不确定哪些部分是相关的. public class SerialPortExample implements SentenceListener { public SerialPortExample() { i
好吧,我正在一个使用rxtxserial.dll的项目(顺便说一句). 无论如何,我对GUI进行了修改,以使其更加用户友好,最初显示程序显示主窗口,并且可以打开其他框架,用户可以监视我为我工作的公司设计的某些设备.因此,当用户想关闭孔程序和打开的任何窗口时,它会显示一个对话框,要求用户亲自关闭反对的窗口,然后关闭该程序,这确实很丑,所以我想:让我们变得更好;这就是我所做的: 当打开使用串行通信的JDialog s时,如果用户提示与退出之前关闭程序,则将其保存以供将来使用就像停止从串行端口阅读: for (Window w : openedWindows) { w.getToolkit().getSystemEventQueue().postEvent( new WindowEvent(w, WindowEvent.WINDOW_CLOSING)); } 当用户关闭对话框时,该程序不会崩溃(在串行通信方面
我正在使用rxxtx java lib连接到串行端口.我正在使用此lib,没有任何问题连接到/dev/ttyusb0(1,2,3等). 但是,当我想连接到/dev/ttyacm0时,找不到端口. CommPortIdentifier portIdentifier = CommPortIdentifier.getPortIdentifier("/dev/ttyACM0"); 抛出了例外: gnu.io.nosuchportException 在gnu.io.io.commportidentifier.getPortidentifier(ConmportIdentifier.java:218) 我已经列出了所有端口,但没有成功. 解决方案 处理和USB端口/dev/ttyacm0,/dev/ttyacm1,.... http://pblog.ebblog.ebaker.me.uk/2011/09/processing-usb-ports-devttyacm
基本上,我想使用我的系统规格: 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
我将rxtxcomm.jar放入jre/lib/ext文件夹中,但是我仍然得到NoClassDefFoundError这个文件夹不是自动将其带入Global class Path吗? 谢谢 解决方案 是的,它是自动将其带到ClassPath,但是RXTXCOMM使用JNI/本机外部库(.SO和.DLL文件),您必须在命令行中运行程序时提供通往它们的路径: java -jar yourprogram.jar -Djava.library.path="PATH_TO_EXTERNAL_LIBRARIES" for Linux: 假设您打开包装 rxtx.zip 到 /home/user/ 如果您有32位x86 platofrm: PATH_TO_TO_EXTERNE_LIBRARIES =/home/user/linux/i686-Inknown-linux-gnu/ 如果您有64位x86平台,则将是: PATH_TO_TO_EXTERN
我正在尝试连接ubuntu上的串行端口.但是,这对我不起作用.我仅与不同的驱动程序一起在Windows上成功运行了同一项目.问题是我在使用此问题时无法加载任何端口: conmportidentifier.getPortidentifiers();//我正在使用RXTX 2.1.7 它总是返回零端口.我想使用端口ttys0与Minicon一起使用哪个工作,所以我确信该端口不会被阻止并且机器未破坏. 有人有原因吗? 解决方案 这只是因为低私密性.我必须将自己添加到一个应该与TTYS0一起使用的小组中. 其他解决方案 我使用了此命令 sudo chmod 666/dev/ttyusb0 我遇到了同样的问题,并且在我使用此命令后奏效了.就像Smolda所说,这是一个许可问题. 其他解决方案 如果没有任何帮助,则应考虑将此行添加到Java代码: System.setProperty("gnu.io.rxtx.SerialPorts", "
我不知道我的代码正在发生什么.我没有错误,也没有回应.我正在将数据写入序列上,并通过激活port.notifyOnDataAvailable(true);等待响应,但是没有触发此事件,inputstream.available.available()始终返回0.可能怎么了?我在Linux中使用RXTX. 编辑 package testConn; import forms_helper.global_variables; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.PrintStream; import java.io.UnsupportedEncodingExcep
我已经成功地将我的arduino uno r3与蓝牙序列模块连接起来,并能够通过蓝牙将数据发送到运行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.io
根据Java API,InputStream.read()被描述为: 如果没有字节,因为 溪流的末端已经到达, 值-1返回.这个方法 块直到输入数据可用, 检测到流的末端,或 抛出例外. 我有一个while(true)循环进行阅读,而我总是在流上没有发送的时候得到-1.那是预期的. 我的问题是读()什么时候会阻止?因为如果没有获得任何数据,它将返回-1.我希望封锁阅读能等到收到数据.如果您已经到达输入流的末尾,那么不应该读取()只需等待数据而不是返回-1? 或read()仅在还有另一个线程访问流而您的read()无法访问流的情况下阻止()? 这使我解决了下一个问题.我曾经有事件侦听器(由我的库提供),可以在可用数据时通知我.当我收到通知时,我会致电while((aByte = read()) > -1)存储字节.当我在非常接近的时间内获得两个事件时,我感到困惑,并不是所有的数据都在显示.似乎只会显示第二个事件数据的尾端,其余的都缺少. 我最终更改了代码
我有以下问题:当我想刷新输出流时,Rxtx返回错误. 目标是使用调制解调器键发送短信.所以我错了? 我搜索并找不到什么,我不知道是什么原因出现问题! 我认为错误消息来自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; pri
我正在尝试编写一个将从用户的串行端口读取的Java小程序.为此,我正在使用 解决方案 使用Java Web启动.您可以将本机库作为签名的罐子中包含,并且所有内容都应起作用. 1)将本地库放在根目录中的罐子中 2)签署所有罐子 3)写一个引用所有罐子的JNLP(去搜索如何编写JNLP) 之后它应该起作用 其他解决方案 首先,我建议在小程序中这样做可能是个坏主意. 如果您还是要继续前进, jnlpappletlauncher 可能会帮助. 其他解决方案 我不知道小程序,除了它们被锁定在wrt上.安全/访问机器的资源等. 如果您需要Web-Deployable解决方案,您是否查看了?特别是请参见此
我使用RXTXCOMM与Arduino(USB-Serial端口)进行通信(发送和接收数据).如何使用RXTXCOMM库(例如DTR)处理握手行?您能给我一些有关此或一些示例代码的教程吗? 注意:我使用Win7 OS.我今天(2012年2月21日)购买了USB串行(DB9)适配器;计划将LED数组直接连接到RS232 ... 解决方案 我想您已安装了所有库. 更改为端口defaultport =" com24"; 尝试标准代码 package serialtest; import java.util.*; import gnu.io.*; import java.io.IOException; import java.io.OutputStream; public class DXSimpleWrite { static Enumeration portList; static CommPortIdentifier po
这是我的代码,我正在使用public void Send(byte[] bytDatos) throws IOException { this.out.write(bytDatos); } public byte[] Read() throws IOException { byte[] buffer = new byte[1024]; int len = 20; while(in.available()!=0){ in.read(buffer); } System.out.print(new String(buffer, 0, len) + "\n"); return buffer; } 其余代码与InputStream in = serialPort.getInputStream(); OutputStream out = serialPort.getOutputStream(); 它们现在是全局变量,... (new Thread(new SerialReader(
我有一个Java程序,该程序在NetBeans中构建,该程序使用在这里.到目前为止,它在Windows和Linux中都非常有效. 我的问题:是否可以根据RXTX站点上的说明在罐中包含所需的RXTX文件,而无需安装它们.我希望能够将罐子在Linux或Windows上使用所有包含的文件提供给人们. 这是可能的,最好的方法是什么? 谢谢. 解决方案 您不需要 install per -se-您需要做的就是指向包含适当DLL文件的文件夹java.library.path vm参数. 但是,对于jar文件,这将涉及将它们提取到某个地方,然后在您初始化rxtx之前单独加载dll,因为它们无法直接从jar文件内部读取和使用(因为它本质上是zip存档.) 应该指出的是,最高答案您在这里朝正确的方向朝着正确的方向(不要忘记,没有什么可以阻止您将它们提取到临时位置并在文件上打电话deleteOnExit(),因此它的寿命并不比它所围绕.)
我正在使用 smslib 在我的Java应用程序中发送 SMS ,我将A USB Internet调制解调器连接到我的PC,然后确定它是端口号(即comx)然后创建串行调制解调器网关这样: 确定端口号: 创建网关: SerialModemGateway gateway = new SerialModemGateway("mobile", "COM5", 115200, "Apple", "iPhone"); 但是,无论我是将端口定义为com4还是com5,它首先运行连接,然后给我以下例外,然后以通常的方式停止服务: 0 2013-06-19 15:36:49,915 [main] INFO org.smslib.Service - SMSLib: A Java API library for sending and receiving SMS via a GSM modem or other supported gateways. This so
蓝色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: espco
我找到了一个代码,通过串行端口将Java通信给Arduino,并希望尝试并将其工作,以便为项目的想法进行扩展,但我继续收到此错误 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中的构建链接是一个网站不再存在.我不确