|
@@ -16,6 +16,7 @@ import org.springframework.stereotype.Service;
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
|
import java.util.Hashtable;
|
|
import java.util.Hashtable;
|
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
|
|
+import java.util.Objects;
|
|
|
import java.util.concurrent.ConcurrentHashMap;
|
|
import java.util.concurrent.ConcurrentHashMap;
|
|
|
|
|
|
|
|
@Slf4j
|
|
@Slf4j
|
|
@@ -42,25 +43,58 @@ public class DeJuRFIDService implements IService {
|
|
|
subscribeHandler(client);
|
|
subscribeHandler(client);
|
|
|
|
|
|
|
|
// 功率配置, 将4个天线功率都设置为30dBm.
|
|
// 功率配置, 将4个天线功率都设置为30dBm.
|
|
|
- //todo 持久化配置,断电保存 ,请勿做重复配置操作,需要频繁配置时,请先查询校验
|
|
|
|
|
- MsgBaseSetPower msgBaseSetPower = new MsgBaseSetPower();
|
|
|
|
|
- Hashtable<Integer, Integer> hashtable = new Hashtable<>();
|
|
|
|
|
Integer uniformPower = hardware.getUniformPower();
|
|
Integer uniformPower = hardware.getUniformPower();
|
|
|
- hashtable.put(1, uniformPower);
|
|
|
|
|
- hashtable.put(2, uniformPower);
|
|
|
|
|
- hashtable.put(3, uniformPower);
|
|
|
|
|
- hashtable.put(4, uniformPower);
|
|
|
|
|
- msgBaseSetPower.setDicPower(hashtable);
|
|
|
|
|
- client.sendSynMsg(msgBaseSetPower);
|
|
|
|
|
- if (0 == msgBaseSetPower.getRtCode()) {
|
|
|
|
|
- log.info("Power configuration successful.");
|
|
|
|
|
|
|
+ MsgBaseGetPower msgBaseGetPower=new MsgBaseGetPower();
|
|
|
|
|
+ client.sendSynMsg(msgBaseGetPower);
|
|
|
|
|
+ if (0 == msgBaseGetPower.getRtCode()) {
|
|
|
|
|
+ Hashtable<Integer, Integer> dicPower = msgBaseGetPower.getDicPower();
|
|
|
|
|
+ Integer integer = dicPower.get(0);
|
|
|
|
|
+ if (!Objects.equals(integer, uniformPower)){
|
|
|
|
|
+ MsgBaseSetPower msgBaseSetPower = new MsgBaseSetPower();
|
|
|
|
|
+ Hashtable<Integer, Integer> hashtable = new Hashtable<>();
|
|
|
|
|
+
|
|
|
|
|
+ Integer channels = hardware.getChannels();
|
|
|
|
|
+ for (int i = 1; i <= channels; i++) {
|
|
|
|
|
+ hashtable.put(i,uniformPower);
|
|
|
|
|
+ }
|
|
|
|
|
+ msgBaseSetPower.setDicPower(hashtable);
|
|
|
|
|
+ client.sendSynMsg(msgBaseSetPower);
|
|
|
|
|
+ if (0 == msgBaseSetPower.getRtCode()) {
|
|
|
|
|
+ log.info("Power configuration successful.");
|
|
|
|
|
+ } else {
|
|
|
|
|
+ log.info("Power configuration error.");
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
} else {
|
|
} else {
|
|
|
log.info("Power configuration error.");
|
|
log.info("Power configuration error.");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ MsgAppSetBeep msgAppSetBeep=new MsgAppSetBeep();
|
|
|
|
|
+ msgAppSetBeep.setBeepMode(hardware.getSessionIndex()>1?1:0);
|
|
|
|
|
+ msgAppSetBeep.setBeepStatus(1);
|
|
|
|
|
+ client.sendSynMsg(msgAppSetBeep);
|
|
|
|
|
+
|
|
|
|
|
+ if (0 == msgAppSetBeep.getRtCode()) {
|
|
|
|
|
+ log.info("Beep epc successful.");
|
|
|
|
|
+ } else {
|
|
|
|
|
+ log.info("Beep epc error.");
|
|
|
|
|
+ }
|
|
|
// 4个天线读卡, 读取EPC数据区以及TID数据区
|
|
// 4个天线读卡, 读取EPC数据区以及TID数据区
|
|
|
MsgBaseInventoryEpc msgBaseInventoryEpc = new MsgBaseInventoryEpc();
|
|
MsgBaseInventoryEpc msgBaseInventoryEpc = new MsgBaseInventoryEpc();
|
|
|
- msgBaseInventoryEpc.setAntennaEnable(EnumG.AntennaNo_1 | EnumG.AntennaNo_2 | EnumG.AntennaNo_3 | EnumG.AntennaNo_4);
|
|
|
|
|
|
|
+ switch (hardware.getChannels()){
|
|
|
|
|
+ case 4:
|
|
|
|
|
+ msgBaseInventoryEpc.setAntennaEnable(EnumG.AntennaNo_3);
|
|
|
|
|
+ break;
|
|
|
|
|
+ case 8:
|
|
|
|
|
+ msgBaseInventoryEpc.setAntennaEnable(EnumG.AntennaNo_4);
|
|
|
|
|
+ break;
|
|
|
|
|
+ case 16:
|
|
|
|
|
+ msgBaseInventoryEpc.setAntennaEnable(EnumG.AntennaNo_5);
|
|
|
|
|
+ break;
|
|
|
|
|
+ case 1:
|
|
|
|
|
+ default:
|
|
|
|
|
+ msgBaseInventoryEpc.setAntennaEnable(EnumG.AntennaNo_1);
|
|
|
|
|
+ }
|
|
|
msgBaseInventoryEpc.setInventoryMode(EnumG.InventoryMode_Inventory);
|
|
msgBaseInventoryEpc.setInventoryMode(EnumG.InventoryMode_Inventory);
|
|
|
|
|
|
|
|
client.sendSynMsg(msgBaseInventoryEpc);
|
|
client.sendSynMsg(msgBaseInventoryEpc);
|