From 6d5f949eb4305374d54a7d7695ff64efa363dfae Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期三, 31 一月 2024 20:24:04 +0800
Subject: [PATCH] 备份一下代码
---
HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/connect/HDLConnectHelper.java | 83 +++++++++++++++++++++++++++++++----------
1 files changed, 63 insertions(+), 20 deletions(-)
diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/connect/HDLConnectHelper.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/connect/HDLConnectHelper.java
index 18967d5..e3c80dc 100644
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/connect/HDLConnectHelper.java
+++ b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/connect/HDLConnectHelper.java
@@ -12,6 +12,7 @@
import com.hdl.sdk.link.common.utils.ThreadToolUtils;
import com.hdl.sdk.link.core.bean.LinkRequest;
import com.hdl.sdk.link.core.bean.LinkResponse;
+import com.hdl.sdk.link.core.bean.ModbusResponse;
import com.hdl.sdk.link.core.bean.ZigbeeResponse;
import com.hdl.sdk.link.core.bean.gateway.GatewayBean;
import com.hdl.sdk.link.core.config.HDLLinkConfig;
@@ -20,6 +21,8 @@
import com.hdl.sdk.link.gateway.HDLLinkLocalGateway;
import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
import java.util.List;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
@@ -111,23 +114,27 @@
/**
* 鍙兘杩斿洖code灞炴�у彲鑳芥病鏈� 娌℃湁鐨勮瘽鐩存帴鎴愬姛 鏈夌殑璇濆彧鏈�200鎵嶄細鎴愬姛
*/
- if (code == null || code.intValue() == 200 || code.intValue() == 0) {
+ if (code == null || code == 200 || code == 0) {
notifySucceed(msg);
- }else {
+ } else {
notifyFailure(ErrorUtils.getByCode(code));
}
- }
- else if (msg instanceof ZigbeeResponse) {
+ } else if (msg instanceof ZigbeeResponse) {
ZigbeeResponse linkResponse = (ZigbeeResponse) msg;
//TODO 濡傛灉閰嶇疆浠庣綉鍏崇殑淇℃伅锛岄�氳繃涓荤綉鍏宠浆杈撅紝杩欓噷oid瑕佸垽鏂笅
if (replyTopic.equals(linkResponse.getTopic())) {
notifySucceed(linkResponse.getData());
- }
- else{
+ } else {
notifyFailure(HDLLinkCode.HDL_TOPIC_NOT_RIGHT);
}
- }
- else{
+ } else if (msg instanceof ModbusResponse) {
+ ModbusResponse response = (ModbusResponse) msg;
+ if (replyTopic.equals(response.getTopic())) {
+ notifySucceed(response.getData());
+ } else {
+ notifyFailure(HDLLinkCode.HDL_TOPIC_NOT_RIGHT);
+ }
+ } else {
notifyFailure(new HDLLinkCode(HDLLinkCode.HDL_OBJECT_NOT_SUPPORT.getCode(), "Object Name:" + msg));
}
} catch (Exception e) {
@@ -152,8 +159,8 @@
* @param mac 璁惧mac
*/
public HDLConnectHelper(Long sendAwaitTime, int maxRetry, String ipAddress, int port,
- LinkRequest linkRequest, HdlSocketListener listener, boolean isTcp,String mac) {
- this(sendAwaitTime,maxRetry,ipAddress,port,linkRequest,listener,isTcp);
+ LinkRequest linkRequest, HdlSocketListener listener, boolean isTcp, String mac) {
+ this(sendAwaitTime, maxRetry, ipAddress, port, linkRequest, listener, isTcp);
this.mac = mac;
}
@@ -236,10 +243,9 @@
* @param mac 璁惧mac
*/
public HDLConnectHelper(String ipAddress,
- LinkRequest linkRequest, HdlSocketListener listener, boolean isTcp,String mac) {
- this(DEF_SEND_TIMEOUT, DEF_MAX_RETRY, ipAddress, isTcp ? TCP_PORT : UDP_PORT, linkRequest, listener, isTcp,mac);
+ LinkRequest linkRequest, HdlSocketListener listener, boolean isTcp, String mac) {
+ this(DEF_SEND_TIMEOUT, DEF_MAX_RETRY, ipAddress, isTcp ? TCP_PORT : UDP_PORT, linkRequest, listener, isTcp, mac);
}
-
/**
@@ -260,10 +266,9 @@
* @param linkRequest 鍙戦�佸璞�
* @param isTcp 鏄惁TCP
*/
- public HDLConnectHelper(Long timeout,String ipAddress, LinkRequest linkRequest, boolean isTcp) {
+ public HDLConnectHelper(Long timeout, String ipAddress, LinkRequest linkRequest, boolean isTcp) {
this(timeout, DEF_SEND_ONE, ipAddress, isTcp ? TCP_PORT : UDP_PORT, linkRequest, null, isTcp);
}
-
/**
@@ -321,20 +326,29 @@
byte[] encryBytes = null;
GatewayBean gatewayBean = HDLLinkLocalGateway.getInstance().getLocalGateway(mac);
if (gatewayBean != null && getGatewayTypeList().contains(gatewayBean.getGatewayType())) {
- //姣背娉㈣繙绋媘qtt绉橀挜涓嶄竴鏍�
+ //閫嗗彉鍣ㄨ繙绋媘qtt绉橀挜涓嶄竴鏍�
encryBytes = EncryptUtil.encryBytes(linkRequest.getCloudSendBytes(), gatewayBean.getAesKey());
} else {
encryBytes = EncryptUtil.encryBytes(linkRequest.getCloudSendBytes(), HDLLinkConfig.getInstance().getAesKey());
}
if (MqttRecvClient.getInstance() != null) {
MqttRecvClient.getInstance().send(requestTopic, encryBytes);
+ if (HDLConnectHelper.isInverterTopic(linkRequest.getCloudTopic())) {
+ LogUtils.i("杩滅▼鍙戦�佹暟鎹細" + linkRequest.getCloudTopic() + "\r\n" + Arrays.toString(byteArrayConvertIntArray(linkRequest.getCloudSendBytes())));
+ } else {
+ LogUtils.i("杩滅▼鍙戦�佹暟鎹細" + linkRequest.getCloudTopic() + "\r\n" + new String(linkRequest.getCloudSendBytes()));
+ }
}
- LogUtils.i("杩滅▼鍙戦�佹暟鎹細" + linkRequest.getCloudTopic() + "\r\n" + new String(linkRequest.getCloudSendBytes()));
}
//鏈湴TCP
else {
+ linkRequest.setEncrypt(false);// 2024骞�01鏈�31鏃�16:34:22 榛樿鏄庢枃閫氳,鍥犱负鍒涘缓鐢电珯,缁戝畾閫嗗彉鍣ㄦ椂锛岄渶瑕佽缃弬鏁扮粰閫嗗彉鍣�,杩欐椂鍊欒繕娌℃湁绉橀挜;
if (!linkRequest.getTopic().endsWith("heartbeat")) {//蹇冭烦涓婚鏁版嵁杩囧锛岃繃婊や笅
- LogUtils.i("鏈湴鍙戦�佹暟鎹細\r\n" + new String(linkRequest.getSendBytes()));
+ if (HDLConnectHelper.isInverterTopic(linkRequest.getTopic())) {
+ LogUtils.i("鏈湴鍙戦�佹暟鎹細\r\n" + Arrays.toString(byteArrayConvertIntArray(linkRequest.getSendBytes())));
+ } else {
+ LogUtils.i("鏈湴鍙戦�佹暟鎹細\r\n" + new String(linkRequest.getSendBytes()));
+ }
}
HDLTcpConnect.getTcpSocketBoot(ipAddress).sendMsg(EncryptUtil.getEncryBytes(linkRequest));
}
@@ -405,6 +419,7 @@
}
}
+
/**
* 鏀寔姣背绫诲瀷
*
@@ -412,8 +427,9 @@
*/
public static List<String> getGatewayTypeList() {
List<String> typeList = new ArrayList<>();
- typeList.add("sensor.mmv_sleep");//鐫$湢姣背娉pk
- typeList.add("sensor.mmv_pose");//濮挎�佹绫虫尝spk
+// typeList.add("sensor.mmv_sleep");//鐫$湢姣背娉pk
+// typeList.add("sensor.mmv_pose");//濮挎�佹绫虫尝spk
+ typeList.add("energy.hdl_inverter");//閫嗗彉鍣╯pk
return typeList;
}
@@ -429,4 +445,31 @@
listener = null;
}
}
+
+
+ public static boolean isInverterTopic(String topic) {
+ if (TextUtils.isEmpty(topic)) {
+ return false;
+ }
+ return topic.endsWith("custom/native/inverter/down_reply")
+ || topic.endsWith("custom/native/inverter/down")
+ || topic.endsWith("custom/native/inverter/up");
+ }
+
+ /**
+ * byte鏁扮粍杞崲鎴恑nt鏁扮粍(涓轰簡鎵撳嵃鍑烘棤绗﹀彿鐨刡tye鏁扮粍鏁版嵁)
+ *
+ * @param bytes 鏁扮粍
+ * @return
+ */
+ public static Integer[] byteArrayConvertIntArray(byte[] bytes) {
+ if (bytes == null || bytes.length == 0) {
+ return new Integer[]{};
+ }
+ Integer[] arr = new Integer[bytes.length];
+ for (int i = 0; i < bytes.length; i++) {
+ arr[i] = bytes[i] & 0xff;
+ }
+ return arr;
+ }
}
--
Gitblit v1.8.0