Ubuntu-Java-SerialPort-RXTX
来源:互联网 发布:java程序设计流程图 编辑:程序博客网 时间:2024/06/01 07:12
总结下linux系统下使用串口扩展卡(moxa)及串口开发吧
1.首先安装串口扩展卡的驱动。貌似一般串口卡支持的linux内核的版本都比较老,是2.X和3.X左右的版本;所以需要找到较新的驱动(去串口卡牌子的官网上找,实在不行就找厂商的售后,我就是通过找技术支持获得的最新的驱动)。获得驱动后,一般都有安装文档,按照文档一步步安装,大致如下:
a. #tar -zxvf XXX.tgz
b. #make clean; make install
c. #./msmknod(这一步不同串口卡命令不同)
安装驱动完成后, 会显示ttyM0-ttyM7安装成功。可以在/dev/目录下看到串口
2.顺便加入Java安装吧,我是使用的.tar.gz包来安装的。
a. 解压JDK, tar -zxvf jdk-8u60-linux-x64.tar.gz
b. 配置环境变量, 添加以下内容,JAVA_HOME根据实际目录来
EXPORT JAVA_HOME=/java/jdk1.8.0_151
EXPORT JRE_HOME=$JAVA_HOME/jre
EXPORT CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
EXPORT PATH=$JAVA_HOME/bin:$PATH
c. 执行命令使配置生效: source /etc/profile
3.Java串口编程使用RXTX,RXTX开源包下载地址: http://users.frii.com/jarvi/rxtx/download.html
a. 根据Linux具体的型号, 选择对应的RXTX的Linux版本
b. 将RXTXcomm.jar文件拷贝至$JAVA_HOME/jre/lib/ext
c. 将librxtxSerial.so文件拷贝至/usr/lib/目录下, 或者拷贝至JDK配置的CLASSPATH下也可以(后者未检验)
4. 到此使用RXTX的监听事件方法SerialPortEventListener可以实现串口开发,一般的USB转串口是没有问题的,但是串口扩展卡就不行,原因是RXTX本身获得串口集合是扫描/dev/ttySxx,所以无法识别非/dev/ttySxx的串口,例如:/dev/ttyMI0;摘自http://blog.csdn.net/xiezhiyong3621/article/details/8092150的RXTX的官方解释:
解决方法就是创建软连接, sudo ln -s /dev/ttyMI0 /dev/ttyS0,通过/dev/ttyS0映射到/dev/ttyMI0
5. DEMO两个实例,a-windows下的串口开发, b-ubuntu下的串口开发
a. https://github.com/SmileyWin/RXTX-Demo.git
b. https://github.com/SmileyWin/RXTX-Demo.git
SUCCESS!
参考文献:
1. http://users.frii.com/jarvi/rxtx/download.html
2. http://blog.csdn.net/cheng157507947/article/details/43764623
3. http://blog.csdn.net/xiezhiyong3621/article/details/8092150
P.S.: 在linux版本下最后可能还是无法获取串口号, 还需要给串口权限, chmod 666 /dev/ttyxxx
- Ubuntu-Java-SerialPort-RXTX
- Ubuntu 系统下java rxtx 开发串口通讯程序
- RXTX
- JAVA串口编程之RXTX
- java基于rxtx串口操作
- Java Rxtx 串口通讯配置
- RXTX 串口程序调试 -java
- ubuntu下使用 rxtx串口通讯
- Java SerialPort SDK
- java 使用rxtx 进行串口交流。
- java浅析之RXTX串口通信
- RXTX for JAVA 串口编程实例
- java 串口通信的例子(RXTX)
- Java中基于Rxtx的串口操作
- Java中基于Rxtx的串口操作
- Java中基于Rxtx的串口操作
- rxtx+smslib java控制短信猫
- 使用java基于RXTX实现串口通信
- pip
- java 读取txt中矩阵
- 再说装饰器模式
- 蓝桥杯算法训练 ALGO-1 区间k大数查询 Java
- 自定义EditText_password输入框
- Ubuntu-Java-SerialPort-RXTX
- Eclipse的GUI编程 (WindowBulider)
- mysql用户root多密码成因
- opencl之code builder学习教程1
- 数据源读写分离 -- replication
- 还说关于工业软件的那点事
- 学习秒杀系统时遇到的问题
- angular table的添加搜索
- 第十三周项目2