前段时间帮朋友弄了一套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 modbus 串口,android modbus RTU jssc连接

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

  2. Modbus通信协议(Modbus protocol)

    Modbus通信协议 MODBUS是一个请求/应答协议,位于OSI模型的第7层上的应用层报文传输协议. Modbus:1979年,莫迪康,施耐德收购 ModbusRtu/ModbusAscill/Mo ...

  3. STM32:RS485通信和Modbus通信协议汇总

    RS485通信和Modbus通信协议汇总 1. 主从模式 RS-485上的软件层协议ModBus主要依赖于主从模式.主从模式是指在半双工通讯方式上,2个或者2个以上的设备组成的通讯系统中: (1) 至 ...

  4. 干货分享:RS485通信和Modbus通信协议汇总

    https://zhuanlan.zhihu.com/p/24134130 在工业控制.电力通讯.智能仪表等领域,通常情况下是采用串口通信的方式进行数据交换.最初采用的方式是RS232接口,由于工业现 ...

  5. 【知识分享】Modbus通信协议详解

    协议 这里分两部分,Modbus和协议,首先什么是协议?百度解释下就是:意思是共同计议,协商:经过谈判.协商而制定的共同承认.共同遵守的文件.比如大学毕业找工作的时候,一般要签一份叫"三方协 ...

  6. 工控技术:MODBUS通信协议机制简述

    -- 参考自 <机电控制系统> 李勇 <Modbus RTU 串口通信在工业自动化系统中的应用>沈林晖 <RS485 总线通信协议的设计与实现>冯子陵 1 MODB ...

  7. 编写一个字节数的rtu C语言校验程序,Modbus通信协议中CRC校验的快速C语言算法

    Modbus通信协议中CRC校验的快速C语言算法 2004年第11期 福 建 电 脑 63 Modbus通信协议中CRC校验的快速C语言算法 孟开元 (西安石油大学计算机学院陕西西安710065) [ ...

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

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

  9. Modbus RTU设备连接

    1. C#上位机 ScottPlot曲线控件(详解1)_哔哩哔哩_bilibili 2. C#上位机Chart控件实时曲线终极讲解_哔哩哔哩_bilibili 3. 新阁教育上位机课程--深入浅出Mo ...

最新文章

  1. C++文件如何在linux下生成动态库So,以及如何使用这个动态库
  2. java gui 选项_【Java-GUI】04 菜单
  3. scala语法注意点小结
  4. 独家下载!Java工程师成神必备宝典
  5. 相机标定(一) —— 深入理解齐次坐标及其作用
  6. 电脑键盘中英文按键有哪些?有什么作用?
  7. 逆水寒服务器维护7.5,逆水寒7.26日维护到什么时候 逆水寒7.26日游戏改动汇总介绍...
  8. C++笔记(6)友元
  9. 批处理for命令截取字符串
  10. C/C++矩阵计算器
  11. 答答星球微信答题小程序头脑王者源码带后台手机app开发排位pk
  12. 八皇后问题(回溯算法)
  13. 狄利克雷分布公式_Dirichlet Distribution(狄利克雷分布)与Dirichlet Process(狄利克雷过程)...
  14. java设计模式之中介者模式(Mediator)
  15. 二进制八进制相互转换
  16. 如何写个优秀的Github项目Readme文档?经典模版拿去不谢~
  17. 2023 车险计算器微信小程序源码
  18. php按住说话然后播放,小程序仿微信聊天按住说话功能
  19. 用于跑深度学习的嵌入式硬件平台资料整理(二)
  20. Swift开源项目-模仿今日头条

热门文章

  1. cad批量打印_还为批量打印CAD图纸而发愁?只需五步,3秒打印百张图纸!
  2. 微信小程序流量主被封和暂停搜索?
  3. 编译2.6内核模块出问题了,尚未解决.............
  4. 怎么用文本文档写html框架,基于Metronic的Bootstrap开发框架经验总结(17)-- 使用 summernote插件实现HTML文档的编辑和图片插入操作...
  5. getprop 属性
  6. 漏洞管理平台『洞察』部署指南
  7. hellon world
  8. 怎么往日历里面加时钟java,怎么添加电脑桌面时钟日历
  9. BBdoc文档搜索软件V1.09,真的好用,可以卸掉Everything了。
  10. 1.1 Java ME