Java 在我的Ubuntu盒上找不到ttyUSB0端口,上面写着NoSuchPortException
我是Ubuntu/Linux的新用户,我正在尝试连接到设备以获取序列化数据 具有以下参数:Java 在我的Ubuntu盒上找不到ttyUSB0端口,上面写着NoSuchPortException,java,linux,ubuntu,tty,modbus,Java,Linux,Ubuntu,Tty,Modbus,我是Ubuntu/Linux的新用户,我正在尝试连接到设备以获取序列化数据 具有以下参数: <bean id="serialParameters" class="net.wimpi.modbus.util.SerialParameters"> <property name="baudRate" value="115200"/> <property name="portName" value="/dev/ttyUSB06"/> <
<bean id="serialParameters" class="net.wimpi.modbus.util.SerialParameters">
<property name="baudRate" value="115200"/>
<property name="portName" value="/dev/ttyUSB06"/>
<property name="databits" value="8"/>
<property name="stopbits" value="1"/>
<property name="parity">
<util:constant static-field="gnu.io.SerialPort.PARITY_NONE"/>
</property>
<property name="encoding">
<util:constant static-field="net.wimpi.modbus.Modbus.SERIAL_ENCODING_RTU"/>
</property>
<property name="echo" value="false"/>
<property name="receiveTimeout" value="200"/>
</bean>
MyModbusSerialMaster.java位于第20行(super.connect();):
我的Ubuntu Box confgig是:
设备:Inspiron-3542(N系列)
Ubuntu:15.10
操作系统类型:64位
我也审阅了所有关于SO like的建议
运行cmd:ls/sys/class/tty/
答复:
控制台tty15 tty24 tty33 tty42 tty51 tty60 ttyS10 ttyS2 ttyS29
ptmx tty16 tty25 tty34 tty43 tty52 tty61 ttyS11 ttyS20 ttyS3
tty tty17 tty26 tty35 tty44 tty53 tty62 ttyS12 ttyS21 ttyS30
tty0 tty18 tty27 tty36 tty45 tty54 tty63 ttyS13 ttyS22 ttyS31
tty1 tty19 tty28 tty37 tty46 tty55 tty7 ttyS14 ttyS23 ttyS4
tty10 tty2 tty29 tty38 tty47 tty56 tty8 ttyS15 ttyS24 ttyS5
tty11 tty20 tty3 tty39 tty48 tty57 tty9 ttyS16 ttyS25 ttyS6
tty12 tty21 tty30 tty4 tty49 tty58 ttyprintk ttyS17 ttyS26 ttyS7
tty13 tty22 tty31 tty40 tty5 tty59 ttyS0 ttyS18 ttyS27 ttyS8
tty14 tty23 tty32 tty41 tty50 tty6 ttyS1 ttyS19 ttyS28 ttyS9
这里ttyUSB0不存在于输出中。
当前用户也在拨号组中我想您使用的是USB到串行适配器。你试过运行“lsusb”吗?@forevergenin这会提供设备信息,但它是在哪个端口连接的?我们也能找到这个吗?是的。检查我认为你使用USB到串行适配器。你试过运行“lsusb”吗?@forevergenin这会提供设备信息,但它是在哪个端口连接的?我们也能找到这个吗?是的。检查
Caused by: java.lang.Exception
at net.wimpi.modbus.net.SerialConnection.open(SerialConnection.java:91)
at net.wimpi.modbus.facade.ModbusSerialMaster.connect(ModbusSerialMaster.java:101)
at com.example.MyModbusSerialMaster.connect(MyModbusSerialMaster.java:20)
public class MyModbusSerialMaster
extends ModbusSerialMaster {
public MyModbusSerialMaster(SerialParameters param) {
super(param);
}
public void connect() throws Exception {
// System.setProperty("gnu.io.rxtx.SerialPorts", "/dev/ttyUSB0"); //or oher ACMx
***super.connect();***
try {
Field f = ModbusSerialMaster.class.getDeclaredField("m_Transaction");
f.setAccessible(true);
((ModbusSerialTransaction) f.get(this)).setRetries(0);
} catch (IllegalAccessException | IllegalArgumentException | NoSuchFieldException | SecurityException e) {
e.printStackTrace();
}
}
}