diff --git a/lab-service/lab-iot/src/main/java/org/springblade/iot/config/ModbusReader.java b/lab-service/lab-iot/src/main/java/org/springblade/iot/config/ModbusReader.java new file mode 100644 index 0000000..99acbd9 --- /dev/null +++ b/lab-service/lab-iot/src/main/java/org/springblade/iot/config/ModbusReader.java @@ -0,0 +1,35 @@ +package org.springblade.iot.config; + +import com.serotonin.modbus4j.ModbusMaster; +import com.serotonin.modbus4j.exception.ModbusInitException; +import org.springblade.iot.utils.ReadModBusUtil; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; + +@Component +public class ModbusReader { + + /** + * 项目启动读取传感器数据 相关逻辑 + */ + @PostConstruct + private void readModBusSensor() throws Exception { + // 1.获取tcp协议的主机(上位机) + ModbusMaster master = ReadModBusUtil.getTcpMaster("192.168.1.217", 502, 1); + // 2.初始化 + try { + master.init(); + while (0 == 0) { + // 3.读取保持寄存器数据 + ReadModBusUtil.readHoldingRegistersTest(master, 1, 0, 10); + Thread.sleep(1000L); + } + } catch (ModbusInitException e) { + e.printStackTrace(); + } finally { + // 销毁连接 + master.destroy(); + } + } +}