前段时间帮朋友弄了一套Android自动售卖机的App,主要工作流程就是用户在自动售卖机的屏幕(App)上点击物品,然后App控制工控主机来控制售货机电控执行动作,将货物吐出来。

这里主要就记录一下如何让Android和工控主机连接起来,在百度,谷歌,github搜了很久,没有符合我的。

我主要是用到modbus rtu通讯协议,在github找到一个modbus rtu的但是就是连接不上工控主机,最后发现他的代码是不仅仅有java还有.so文件这时候我就感觉java如果想和工控主机连接,还是得底层C,于是我找到他们是通过jssc连接的,就去github找到了jssc原版的.h和.c文件,然后将这两个文件编译成.so文件,通过调用.so文件暴露出来的接口即可实现与Android与工控主机连接。

1.1这里有三个文件,把这三个文件放入jni文件夹中,然后进jssc_SerialNativeInterface.h,将所有 Java_jssc_SerialNativeInterface改成 Java_你的主包名_jssc_SerialNativeInterface;

1.2进jssc.cpp,将所有 Java_jssc_SerialNativeInterface改成 Java_你的主包名_jssc_SerialNativeInterface且将#include "../jssc_SerialNativeInterface.h"改成"#include "jssc_SerialNativeInterface.h"";

具体怎么编译看这里:如何编译.so

编译之后,还需要有一些java代码来调用这个.so,但是jssc官方demo也太简单了,而且没有任何分装,于是我在网上找到了一套很完美的demo,经过修改和编译过的.so完美匹配,并且在MainActivity中写好了几个常用的方法,例如配置modbus,读串口,写串口等,文章最后有github链接。

当你自己编译之后,如果出现:

1.找不到native方法,那就重新研究一下1.1和1.2,肯定是包名没修改好,细心修改。

2. cannot locatesymbol "tcgetattr" referenced by "xxx",这是因为ndk在android发展过程中出现了一次很大的改变,tcgetattr 被删掉了。不要怕,这个库文件我已经有提供,将其丢进jni文件夹下即可。

android modbus 串口,android modbus RTU jssc连接相关推荐

  1. Android 操作串口 (android serial port api)

    Android 操作串口 (android serial port api)

  2. android modbus 通信协议,android modbus RTU jssc连接

    前段时间帮朋友弄了一套Android自动售卖机的App,主要工作流程就是用户在自动售卖机的屏幕(App)上点击物品,然后App控制工控主机来控制售货机电控执行动作,将货物吐出来. 这里主要就记录一下如 ...

  3. android 蓝牙串口自动断开,uni-app 蓝牙连接被自动断开问题

    遍历 快速对两个蓝牙设备(deviceId,mac地址不同)进行连接操作,时间隔为1秒,蓝牙刚进行连接,监听蓝牙连接状态,直接监听到被自动断开,而且断开两次,有知道怎么回事的不?ios ,androi ...

  4. android gps 串口,Android GPS数据上报(基于gps_qemu.c)

    Android GPS数据上报(基于gps_qemu.c) 在网上找了好久关于这方面的东西,可都是介绍启动的,现在我把我理解的其数据上报的流程写下来,以作记录: (主要基于gps_qemu.c的数据上 ...

  5. modbus串口连接java程序报错总结

    第一次写modbus串口通讯,遇到很多问题,代码网上很多,理解起来也不难. 就是报让人很无语,最后总结了一下这个错:下面的这个错其实就是串口连接超时,一个问题可能是你串口不存在或者串口不是modbus ...

  6. Modbus在Android上的应用之Modbus TCP Slave

    Modbus TCP Slave 这篇文章是接着我上一篇文章的.Modbus在Android上的应用之Modbus TCP Master 之前做了很多项目都是在用Master,Android端做主站, ...

  7. android 蓝牙串口连接不上,安卓手机搜索不到蓝牙模块HC-06,是怎么回事?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 问题0010:蓝牙串口模块使用的正确步骤 很多人现在都开始使用蓝口模块,利用手机蓝牙或者PC蓝牙进行控制单片机系统.但是很多人一上来就直接把蓝牙模块和单片 ...

  8. MODBUS转PROFINET网关(PROFINET转MODBUS网关)协议转换器PNMD485-K20连接安川变频器,接入到西门子S7-1200PLC PROFINET通讯网络应用配置方法

    本文主要介绍微硬创新:MODBUS转PROFINET网关(PROFINET转MODBUS网关)协议转换器PNMD485-K20连接安川变频器,接入到西门子S7-1200PLC PROFINET通讯网络 ...

  9. Modbus通信协议+Modbus串口调试工具+Java版协议解析源码

    网络与串口二合一调试助手TCPCOM: https://download.csdn.net/download/liuyuan_java/87454762 Modbus调试工具,模拟串口调试工具 htt ...

最新文章

  1. Spring Cloud + Mybatis配置类设置
  2. SAP 用户参数 ME_USE_GRID
  3. java继承----类的复用
  4. Codeforces 769D k-Интересные пары чисел
  5. python数据库增删改查_python实现数据库增删改查
  6. 经典C语言程序100例之五五
  7. mysql数据库设计三大范式_了解数据库设计三大范式
  8. 并行计算(一)——并行计算机系统及结构模型
  9. 14岁女孩模仿视频中易拉罐做爆米花意外身亡 博主办公室小野回应...
  10. 啊哈算法-擒贼先擒王(并查集)
  11. ConcurrentHashMap1.8
  12. 新一代 Windows 即将发布、GPT-3 成功商业化,这届微软 Build 大会究竟带来了什么?
  13. Bailian4018 子串【字符串】
  14. HCIE Security 防火墙转发流程及相关知识点 备考笔记(幕布)
  15. 消息队列实现socket 消息同步_消息队列二三事
  16. 黑客攻防技巧:2分钟入侵网站全程实录
  17. 电池电量检测方法-库仑计-基于LTC2941
  18. 金融计量模型(十一):对波动率和相关性建模
  19. 布丰投针问题和蒙特卡洛方法
  20. CF 1437C Chef Monocarp (背包dp)

热门文章

  1. 请教一个ghost恢复的问题
  2. Spring源码学习笔记:经典设计模式之装饰者模式
  3. 最新安徽省二c语言题型_2020年成人高考考试考前1个月最新最全备考攻略+资料,考生必看,建议收藏!...
  4. 云服务器在哪里创建网站目录,如何在云服务器创建根目录
  5. apache hbase的region 分割与合并
  6. Linux下Keepalived 安装与配置 此博文包含图片
  7. showModalDialog模态对话框的使用详解以及浏览器兼容
  8. Exception in thread main java.lang.NoClassDefFoundError解决了
  9. linux之创建大文件
  10. 微软云计算介绍与实践(实践之一)