From 3b47201d878ba8ff973b84baf15942475688e964 Mon Sep 17 00:00:00 2001 From: hxb <hxb@hdlchina.com.cn> Date: 星期五, 15 十二月 2023 16:04:28 +0800 Subject: [PATCH] 合并第一个版本 --- HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/connect/HDLModBusConnect.java | 61 +++++++++++++++--------------- 1 files changed, 30 insertions(+), 31 deletions(-) diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/connect/HDLModBusConnect.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/connect/HDLModBusConnect.java index 241fee5..47347c1 100644 --- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/connect/HDLModBusConnect.java +++ b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/connect/HDLModBusConnect.java @@ -25,7 +25,7 @@ */ public class HDLModBusConnect { - private static final String TAG="HDLModbusConnect"; + private static final String TAG = "HDLModbusConnect"; private static HDLModBusConnect instance; /** * 鍐呴儴鐢紝涓昏鏄鐞嗗鐞嗘帀閫忎紶涓婚鍙妉ink涓婚鍚庯紝杩樺師modbus鍘熺敓鏁版嵁鍙婁富棰樼敤 @@ -51,7 +51,7 @@ * @param eventListener */ public void registerListener(EventListener eventListener) { - if(null==eventListener){ + if (null == eventListener) { return; } EventDispatcher.getInstance().register(allTopic, eventListener); @@ -63,7 +63,7 @@ * @param eventListener */ public void removeListener(EventListener eventListener) { - if(null==eventListener){ + if (null == eventListener) { return; } EventDispatcher.getInstance().remove(allTopic, eventListener); @@ -79,13 +79,13 @@ try { if (msg instanceof LinkResponse) { LinkResponse linkResponse = (LinkResponse) msg; - if(linkResponse.getTopic()==null||!linkResponse.getTopic().contains("custom/native/inverter/")) - { + if (linkResponse.getTopic() == null || !linkResponse.getTopic().contains("custom/native/inverter/up")) { return; } - byte []data = linkResponse.getByteData(); - ModbusResponse modbusResponse= new ModbusResponse(); - modbusResponse.setTopic("Modbus"+data[0]+data[1]); + byte[] data = linkResponse.getByteData(); + ModbusResponse modbusResponse = new ModbusResponse(); + String topic = "Modbus" + data[0] + data[1]; + modbusResponse.setTopic(topic); modbusResponse.setData(data); String oid = null; //鏄惁鏄�氳繃涓荤綉鍏抽�忎紶涓婚 @@ -102,20 +102,20 @@ break; } } - EventDispatcher.getInstance().post(allTopic, modbusResponse); + + EventDispatcher.getInstance().post(topic, modbusResponse); //鍙戝竷Zigbee鍘熺敓涓婚鍙婃暟鎹� -// EventDispatcher.getInstance().post(allTopic, zigbeeResponse); +// EventDispatcher.getInstance().post(allTopic, modbusResponse); } } catch (Exception e) { - LogUtils.e(TAG,"LinkResponse杞琈odbusResponse寮傚父:"+ e.getMessage()); + LogUtils.e(TAG, "LinkResponse杞琈odbusResponse寮傚父:" + e.getMessage()); } } }; //娉ㄥ唽鐩存帴閫氳鐨勪富棰橈紝鍖呮嫭鐩存帴鍜屼富缃戝叧閫氳鎴栬�呯洿鎺ュ拰浠庣綉鍏抽�氳 registerListener(String.format(TopicConstant.NATIVE_MODBUS_UP, "+"), eventListener); - registerListener(String.format(TopicConstant.NATIVE_MODBUS_DOWN_REPLY, "+"), eventListener); - - // registerListener(String.format(TopicConstant.NATIVE_ZIGBEE_UP_SLAVE, "+", "+"), eventListener); + //registerListener(String.format(TopicConstant.NATIVE_MODBUS_DOWN_REPLY, "+"), eventListener); + //registerListener(String.format(TopicConstant.NATIVE_ZIGBEE_UP_SLAVE, "+", "+"), eventListener); } /** @@ -123,9 +123,9 @@ * * @param gatewayOidOrGatewayId 鐩爣缃戝叧鐨刼id鎴栬�呯綉鍏矷d * @param payload 鍙戦�佹暟鎹� - * @param baseCallBack 缁撴灉鍥炶皟 + * @param baseCallBack 缁撴灉鍥炶皟 */ - public void Send(String gatewayOidOrGatewayId, byte []payload, final ModbusCallBack baseCallBack) { + public void Send(String gatewayOidOrGatewayId, byte[] payload, final ModbusCallBack baseCallBack) { //濡傛灉鏈湴鏈夐摼鎺ヨ繖涓綉鍏�,鍒欑敤鏈湴杩炴帴 GatewayBean gatewayBean = HDLLinkLocalGateway.getInstance().getGatewayByOidOrGatewayId(gatewayOidOrGatewayId); if (null == gatewayBean) { @@ -139,23 +139,23 @@ String tempTopic = String.format(TopicConstant.NATIVE_MODBUS_DOWN, gatewayOidOrGatewayId); LinkRequest request = new LinkRequest(tempTopic, payload, gatewayBean.getIsLocalEncrypt()); - if ("true".equals(gatewayBean.getMaster())) { - request.setCloudTopic(String.format(TopicConstant.NATIVE_MODBUS_DOWN, HDLLinkConfig.getInstance().getGatewayId())); - } else { - request.setCloudTopic(String.format(TopicConstant.NATIVE_MODBUS_DOWN_SLAVE, HDLLinkConfig.getInstance().getGatewayId(), gatewayOidOrGatewayId)); - } - request.setReplyTopic("Modbus"+payload[0]+payload[1]); - long timeout = 2 * 1000; +// if ("true".equals(gatewayBean.getMaster())) { + request.setCloudTopic(String.format(TopicConstant.NATIVE_MODBUS_DOWN, HDLLinkConfig.getInstance().getGatewayId())); +// } else { +// request.setCloudTopic(String.format(TopicConstant.NATIVE_MODBUS_DOWN_SLAVE, HDLLinkConfig.getInstance().getGatewayId(), gatewayOidOrGatewayId)); +// } + request.setReplyTopic("Modbus" + payload[0] + payload[1]); + long timeout = 5 * 1000; new HDLConnectHelper(timeout, 1, gatewayBean.getIp_address(), 8586, request, new HDLConnectHelper.HdlSocketListener() { @Override public void onSucceed(Object msg) { - if (msg instanceof Byte[]) { + if (msg instanceof int[]) { if (null != baseCallBack) { - baseCallBack.onSuccess((byte[])msg); + baseCallBack.onSuccess((int[]) msg); } - }else{ - LogUtils.e("鍙戦�丮odbus鍥炶皟瀵硅薄绫诲瀷闈炴暟缁勭被鍨嬶紝绫诲瀷鏄�"+msg.getClass()); + } else { + LogUtils.e("鍙戦�丮odbus鍥炶皟瀵硅薄绫诲瀷闈炴暟缁勭被鍨嬶紝绫诲瀷鏄�" + msg.getClass()); } } @@ -167,7 +167,6 @@ } }, true).send(); } - /** @@ -257,12 +256,12 @@ /** * 澶勭悊zigbee鍥炲鐨勬暟鎹� * - * @param responeTopic 鍥炲涓婚 - * @param linkResponse 鍥炲鐨勯�忎紶鏁版嵁 + * @param responeTopic 鍥炲涓婚 + * @param linkResponse 鍥炲鐨勯�忎紶鏁版嵁 */ private static String getZigbeeData(String responeTopic, LinkResponse linkResponse) { //涓婚涓虹┖涓嶅鐞� - if(TextUtils.isEmpty(responeTopic)){ + if (TextUtils.isEmpty(responeTopic)) { return null; } -- Gitblit v1.8.0