serialPortCommunication
码云源码:serialPortCommunication: JAVA实现的串口读写程序,用于不同电台温度模块记录,分为root用户,操作员用户和普通用户,支持自定义设置唤醒频率,时间 - Gitee.com
介绍
JAVA实现的串口读写程序,用于不同电台温度模块记录,分为root用户,操作员用户和普通用户,支持自定义设置唤醒频率,时间
该项目完成的需求:
客户需要读取一栋楼中不同房间的温度,将所有房间的温度汇总统计,并绘制出统计图。项目优点是因为硬件端即温度检测模块内只有一块电池,由于节能需要,我们设定每个一段时间,利用java程序,通过串口向电台发送数据,电台将数据发送带对应模块,模块接收到该数据开始检测房间温度,检测完成将检测的数据发送到电台。其余时间温度检测模块都处于休眠状态,只有当有数据来临时唤醒一下,检测之后就立即休眠。而当电台接收到温度模块发来的数据后,java应用程序进行数据解析,将有效数据写入到数据库。
软件架构
该项目使用的技术架构为springboot+mybatis-plus+shiro+RXTX+Thymeleaf+Echart,整体采用MVC的设计思想,前后端不分离。其中springboot用于项目总体架构,mybatis-plus用于数据库读写,shiro用于权限管理,RXTX负责串口信息的读写,Thymeleaf负责前端页面数据渲染,Echart用于数据统计图绘制。
数据库结构介绍:
E-R关系为电台和模块为一对多,其它无关系。
目录结构说明
一次标准的执行流程为:
RXTX的使用过程:
安装教程
-
由于java RXTX为第三方依赖需要单独安装, 官网下载RXTX安装包,复制 rxtxParallel.dll 和 rxtxSerial.dll 到 C:\Program Files\Java\jdk1.8.0_241\jre\bin 下,如果无法打包,可以将 jar 包复制到C:\Program Files\Java\jdk1.8.0_241\jre\lib 中
-
修改SerialOperation类下的serialportInit函数,来自定义需要的串口(默认COM3)
-
通过idea启动JAVA程序
使用说明
-
进入http://localhost:8081/index,
普通用户:账号123456 密码123456
操作员:账号operator 密码123456
超级管理员:账号root 密码123456
-
-
页面功能包括电台和模块的增删改查(目前只有一个电台30个温度检测模块)
-
-
通过电台唤醒模块设置可以自定义设置需要唤醒的模块和时间