**Android 项目需要实现modbus通信**

1.本次应用需要使用Modbus4j.jar包,该包的主要功能就是完成串口协议通信,但是需要serial.jar包以及RXTX.jar包。
2.RXTX.jar的主要功能就是完成串口操作,包括获得底层有用串口,以及对串口的读写操作。它需要serial.dll动态链接库才能完成(windows环境),而UNIX环境则需要.so库。因为Android内部环境是在UNIX环境下运行的所以需要给应用配置.so才能完成对底层串口的操作。而且不同的Android系统,需要不同的.so库。此时,涉及到Android的native,生成.so库的基本步骤如下:1.建立java类,里面调用native static方法。2.通过java类生成.h文件,根据.h文件,新建.c/.c++文件,在.c文件完成static native方法,最后编写androi.xml等文件,主要就是对.so文件的一些基本配置,包括生成不同版本类型的.so文件。然后就可以编译生成.so文件,然后就可以调用java的native方法。.so文件可以直接放在jnib文件下,则系统可以直接调用,但是放在libs文件下则需要配置。
3.因为rxtx.jar在Android中查看可用串口时,需要获得某些文件的操作权,在终端输入以下命令就可以完成对串口的操作:(1)adb shell ——chmod 777 /data/local/tmp——chmod 777 /dev/ttyS*(LINUX环境串口是ttyS*,windows环境下串口是COM ,因为Android是Linux环境所以是ttyS*)。最后就可以通过Rxtxcomm.Jar包完成串口读写。
4.目前最常用的Android完成串口功能的是serialPort,它的基本实现功能如下:首先,也是生成serial.so库,2.其次,找到Android的/dev下的文件如ttyS*,然后通过开启现成完成对文件的读入与写出。这样就不需要在终端输入chmod 777 /data/local/tmp。3.他通过获得文件的绝对地址,然后获得修改文件的权限,完成串口的读写。因为本次需要Modbus4j包所以没有使用此方法,但是此方法对于Android的串口读写非常方便,且大多数人都使用此方法。且本次程序也是使用获得文件绝对路径完成对文件的权限的修改,没有通过abd root手机修改权限。

第一次写如有不足之处,望大家指出。也希望此贴可以帮助大家,因为整个项目的完成需要感谢每一位大牛的帖子!加油

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值