Java实现RS485串口通信

  前段时间赶项目的过程中,遇到一个调用RS485串口通信的需求,赶完项目因为楼主处理私事,没来得及完成文章的更新,现在终于可以整理一下当时的demo,记录下来。

  首先说一下大概需求:这个项目是机器视觉方面的,AI算法通过摄像头视频流检测画面中的目标事件,比如:火焰、烟雾、人员离岗、吸烟、打手机、车辆超速等,检测到目标事件后上传检测结果到后台系统,

后台系统存储检测结果并推送结果到前端,这里用的是SpringBoot整合WebSocket实现前后端互推消息,感兴趣的同学可以看一看,大家多交流。然后就是今天的主题,系统在推送检测结果到前端的同时,需要触发

声光报警器,现有条件就是系统调用支持RS485串口的继电器控制电路,进而达到打开和关闭报警器的目的。

准备工作

  说了这么多可能没什么具体的概念,下面先列出需要的硬件设备及准备工作:

  硬件:

  USB串口转换器(现在很多主机和笔记本已经没有485串口的接口了,转换器淘宝可以买到);

  RS485继电器(12V,继电器模块有8个通道,模块的寄存器有对应8个通道的命令);

  声光报警器(12V);

  12V电源转换器;

  电线若干;

  驱动:

  USB串口转换驱动;

  看了这些硬件,感觉楼主是电工是吧?没错,楼主确实是自己摸索着连接的,下面上图:

Java实现RS485串口通信

   线路如何接不是本文的重点,用12V的硬件就是因为安全,楼主可以大胆尝试。。。

  接通硬件设备后,在系统中查看串口名称,如下图,可以看到通信端口名称是COM1,其实电脑上每个硬件接口都是有固定名称的,USB插在不同的USB接口上,系统读取到的通信端口名称就是对应接口的名称,这里

的端口名称要记下来,后面编码要用到。

Java实现RS485串口通信

   然后是搬砖前的最后一步准备工作:安装驱动。楼主的USB串口转换器是在淘宝上买的,商家提供驱动,在电脑上正常安装驱动即可。

开发实现

  首先需要引入rxtx的jar包,Java实现串口通信的依赖,如下:

<dependency> <groupId>org.rxtx</groupId> <artifactId>rxtx</artifactId> <version>2.1.7</version> </dependency>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpjxfg.html