HDLSDK/app/src/main/java/com/hdl/hdlsdk/MainActivity.java
@@ -384,19 +384,21 @@ void initDeviceInfo() { AuthenticateRequest.AuthenticateDeviceInfoBean infoBean = new AuthenticateRequest.AuthenticateDeviceInfoBean(); infoBean.setDeviceMAC("AA00000000000100"); infoBean.setIPMAC("AA00000000000100"); infoBean.setDeviceName("音乐播放器");//设备名字 infoBean.setDeviceModel("MCLog.431");//设备型号 infoBean.setDeviceMAC("f2c5d8bad48f"); infoBean.setIPMAC("f2c5d8bad48f"); infoBean.setDeviceName("魔镜");//设备名字 infoBean.setDeviceModel("HDLSDK");//设备型号 infoBean.setAccessMode("WIFI"); infoBean.setIPGateway("192.168.1.1"); infoBean.setIPAddress("192.168.1.116"); infoBean.setGateway_type("music.standard"); infoBean.setGateway_type("screen.touch"); infoBean.setHw_version("HW2.0"); infoBean.setFw_version("Fw1.0"); infoBean.setOID("010105000000FE11");//每个设备oid都要不一样 infoBean.setSid("110105000000FE08110100000011");//每个设备的sid都要不一样 infoBean.setSupplier("JINMAOYUN"); HDLLinkConfig.getInstance().setDeviceInfoBean(infoBean); } /** @@ -413,8 +415,8 @@ // 正式服务器 String spkStr = "screen.mirror";//产品spk String macStr = "AA00000000000100";//设备唯一MAC地址 String secret = "e186beeb7974998e";//通过spk和mac提交云端认证后分配的secret String macStr = "f2c5d8bad48f";//设备唯一MAC地址 // String secret = "e186beeb7974998e";//通过spk和mac提交云端认证后分配的secret String mac_key = stringToMD5(stringToMD5(macStr + secret)); String versionString = "HDL_V1.0.1";// @@ -424,7 +426,7 @@ //1.设置认证信息 AuthenticateRequest.RequestBean requestBean = new AuthenticateRequest.RequestBean(); requestBean.setMAC(macStr); requestBean.setSupplier("WISE"); requestBean.setSupplier("JINMAOYUN"); requestBean.setFirmwareVersion(versionString); requestBean.setHardwareModel("1956F"); AuthenticateRequest.AuthBean authbean = new AuthenticateRequest.AuthBean(); HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/common/utils/AllTopicManagerUtils.java
@@ -22,7 +22,7 @@ /** * Created by hxb on 2023/9/14. */ public class AllTopicManagerUtils { public class AllTopicManagerUtils { /** * 全局主题处理方法,可以处理所有接收到的数据 @@ -138,6 +138,7 @@ /** * 更新密钥 * * @param body */ private static void managerLinkBroadcast(String body) { @@ -166,18 +167,28 @@ /** * 退网 * * @param body */ private static void managerDeleteNofity(String body) { private static void managerDeleteNofity(String body) { try { DeviceDeleteResponse deviceDeleteResponse = GsonConvert.getGson().fromJson(body, new TypeToken<DeviceDeleteResponse>() { }.getType()); if(deviceDeleteResponse==null||deviceDeleteResponse.getObjects()==null){ if (deviceDeleteResponse == null || deviceDeleteResponse.getObjects() == null) { return; } HDLSocket.getInstance().deleteNetwork(deviceDeleteResponse.getObjects().get(0).getOID(), null); HDLSocket.getInstance().deleteNetwork(deviceDeleteResponse.getObjects().get(0).getOID(), new HDLLinkCallBack() { @Override public void onSuccess(String msg) { } @Override public void onError(HDLLinkException e) { } }); } catch (Exception e) { LogUtils.i("LinkMessageDecoder.java:deleteNetwork----->e= " + e.getMessage()); } HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java
@@ -155,7 +155,7 @@ LogUtils.i("网关入网广播IP: " + bean.getIPAddress()); if (!TextUtils.isEmpty(bean.getSlave_mac())) { if (!bean.getSlave_mac().equals(request.getObjects().getDeviceMAC())) { LogUtils.i("入网验证的mac和本机不一样,请求的MAC是"+bean.getSlave_mac()+" 本机的是"+request.getObjects().getDeviceMAC()); LogUtils.i("入网验证的mac和本机不一样,请求的MAC是" + bean.getSlave_mac() + " 本机的是" + request.getObjects().getDeviceMAC()); return; } } @@ -168,8 +168,8 @@ } } }catch (Exception e){ LogUtils.e("入网验证异常",e.getMessage()); } catch (Exception e) { LogUtils.e("入网验证异常", e.getMessage()); } } }); @@ -196,6 +196,7 @@ final GatewayInfoRequest request = new GatewayInfoRequest(); AuthenticateRequest.AuthenticateDeviceInfoBean authenticateDeviceInfoBean = HDLLinkConfig.getInstance().getDeviceInfoBean(); if (authenticateDeviceInfoBean == null) return; request.setDevice_model(authenticateDeviceInfoBean.getDeviceModel()); request.setDevice_mac(authenticateDeviceInfoBean.getDeviceMAC()); request.setDevice_name(authenticateDeviceInfoBean.getDeviceName()); @@ -207,7 +208,9 @@ if (authenticateDeviceInfoBean.getSupplier() == null) { AuthenticateRequest.RequestBean requestBean = HDLLinkConfig.getInstance().getRequestBean(); request.setSupplier(requestBean.getSupplier()); if (requestBean != null) { request.setSupplier(requestBean.getSupplier()); } } request.setHw_version(authenticateDeviceInfoBean.getHw_version()); @@ -255,19 +258,19 @@ String localSecret = ""; String gatewayId = ""; String ipAddress = ""; String homeId=""; String homeId = ""; if (bean.getAuth() != null) { localSecret = bean.getAuth().getLocalSecret(); } if (bean.getObjects() != null) { gatewayId = bean.getObjects().getGatewayID(); ipAddress = bean.getObjects().getIPAddress(); homeId=bean.getObjects().getHomeId(); homeId = bean.getObjects().getHomeId(); } if (ipAddress == null) { ipAddress = bean.getIp_address(); } if(!TextUtils.isEmpty(homeId)){ if (!TextUtils.isEmpty(homeId)) { HDLLinkConfig.getInstance().setHomeId(homeId); } HDLLinkConfig.getInstance().setAuthBean(request.getAuth()); HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLSocket.java
@@ -701,8 +701,8 @@ /** * 上报Sid列表 * * @param requestList sid列表 * @param callBack 回调 * @param requestList sid列表 * @param callBack 回调 */ public void UploadSidList(List<ListSidRequest> requestList, HDLLinkCallBack callBack) { if (!TextUtils.isEmpty(getGatewayId()) && !TextUtils.isEmpty(getTcpIp())) { @@ -949,14 +949,13 @@ // String replyTopic = topic + "_reply"; try { sendMsg(message.getSendBytes(), topic, callBack, new SendListener() { sendMsg(message.getSendBytes(), topic, null, new SendListener() { @Override public void onSucceed() { HDLLinkConfig.getInstance().clearConfig(); if (callBack == null) return; try { callBack.onSuccess("退网成功"); HDLLinkConfig.getInstance().clearConfig(); } catch (Exception e) { callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_DATA_ERROR)); } @@ -995,7 +994,11 @@ public void tcpSendMsg(String topic, String bodyStr, HDLLinkCallBack callBack) { try { LinkRequest message = new LinkRequest(topic, bodyStr); if (topic != null && topic.endsWith("_reply")) { callBack = null; } String replyTopic = topic + "_reply"; HDLLinkCallBack finalCallBack = callBack; sendMsg(message.getSendBytes(), replyTopic, callBack, new SendListener() { @Override public void onSucceed() { @@ -1004,8 +1007,8 @@ @Override public void onError() { if (callBack != null) { callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_SEND_ERROR)); if (finalCallBack != null) { finalCallBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_SEND_ERROR)); } } }); @@ -1116,8 +1119,9 @@ /** * 回复网关配置命令 * * @param mac_Oid_GatewayId * @param msgId 消息Id * @param msgId 消息Id * @param callBack */ public void gatewayRemoteEditReply(String mac_Oid_GatewayId, String msgId, HDLLinkCallBack callBack) { @@ -1135,7 +1139,6 @@ String topic = String.format(TopicConstant.GATEWAY_EDIT_REMOTE_REPLY, mac_Oid_GatewayId); LinkRequest message = new LinkRequest(topic, GsonConvert.getGson().toJson(data)); try {