Browse Source

导入rfid-zebra-spring-boot-starter

k 2 years ago
parent
commit
2cbdec91fd

+ 34 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/warewms/test/RfidReaderTestController.java

@@ -0,0 +1,34 @@
+package com.ruoyi.web.controller.warewms.test;
+
+import com.ruoyi.hard.rfid.RFIDReaderClient;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @author JWK
+ * @version 1.0
+ * @date 2022/11/14 14:52
+ */
+@Api("Rfid测试")
+@RestController
+@RequestMapping("/api/rfid")
+public class RfidReaderTestController {
+
+
+    @Autowired
+    private RFIDReaderClient rfidReaderClient;
+
+    /**
+     * 读取标签
+     */
+    @ApiOperation("读取标签")
+    @PostMapping("/readTags")
+    public void readTags() {
+        rfidReaderClient.readTags();
+    }
+
+}

+ 7 - 0
ruoyi-admin/src/main/resources/application-dev.yml

@@ -81,4 +81,11 @@ modbus:
             host: 192.168.42.202
             port: 9000
 
+rfid:
+  first:
+      open: false
+      host: 169.254.199.221
+      port: 5084
+      number-of-tags: 3
+      timeout-milliseconds: 5000
 

+ 8 - 0
ruoyi-admin/src/main/resources/application-prod.yml

@@ -79,3 +79,11 @@ modbus:
             open: true
             host: 192.168.42.202
             port: 9000
+
+rfid:
+    first:
+        open: true
+        host: 169.254.199.221
+        port: 5084
+        number-of-tags: 3
+        timeout-milliseconds: 5000

+ 1 - 1
ruoyi-admin/src/main/resources/application.yml

@@ -43,7 +43,7 @@ spring:
     # 国际化资源文件路径
     basename: i18n/messages
   profiles:
-    active: prod
+    active: dev
   # 文件上传
   servlet:
      multipart:

+ 5 - 0
warewms-hard/pom.xml

@@ -25,5 +25,10 @@
             <artifactId>modbus-spring-boot-starter</artifactId>
             <version>1.0</version>
         </dependency>
+        <dependency>
+            <groupId>com.jwk</groupId>
+            <artifactId>rfid-zebra-spring-boot-starter</artifactId>
+            <version>1.0</version>
+        </dependency>
     </dependencies>
 </project>

+ 45 - 0
warewms-hard/src/main/java/com/ruoyi/hard/rfid/RFIDReaderClient.java

@@ -0,0 +1,45 @@
+package com.ruoyi.hard.rfid;
+
+import com.jwk.spring.boot.autoconfigure.ModbusTcpMasterTemplate;
+import com.jwk.spring.boot.autoconfigure.RfidReaderTemplate;
+import com.jwk.spring.boot.modbus4j.ModbusMasterUtil;
+import com.jwk.spring.boot.rfid.RfidReaderUtil;
+import com.mot.rfid.api3.TagData;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.serotonin.modbus4j.msg.ReadResponse;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Arrays;
+
+import static com.ruoyi.hard.modbus.tcp.AutoDoorClient.AUTOMATIC_DOOR_CODE.*;
+
+
+/**
+ * RFID对接
+ *
+ * @author JWK
+ * @version 1.0
+ * @date 2022/12/21 21:04
+ */
+@Slf4j
+@Service
+public class RFIDReaderClient {
+
+
+    @Autowired(required = false)
+    private RfidReaderTemplate rfidReaderTemplateFirst;
+
+
+    public void readTags() {
+        RfidReaderUtil rfidReaderUtil = rfidReaderTemplateFirst.getRfidReaderUtil();
+        for (; ; ) {
+            TagData[] tagData = rfidReaderUtil.readTags();
+            if (tagData == null) {
+                log.error("读取标签为空!");
+            }
+            Arrays.stream(tagData).forEach(t -> System.out.println(t.getTagID()));
+        }
+    }
+}