Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在我的Ubuntu盒上找不到ttyUSB0端口,上面写着NoSuchPortException_Java_Linux_Ubuntu_Tty_Modbus - Fatal编程技术网

Java 在我的Ubuntu盒上找不到ttyUSB0端口,上面写着NoSuchPortException

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"/> <

我是Ubuntu/Linux的新用户,我正在尝试连接到设备以获取序列化数据

具有以下参数:

<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();
        }
    }
}