liuxiulin 8 mesi fa
parent
commit
0201f08c87

+ 16 - 0
services/emqx-agent/agent.go

@@ -305,6 +305,22 @@ func (a *Access) GetStatus(args rpcs.ArgsGetStatus, reply *rpcs.ReplyGetStatus)
 	return a.SendCommand(cmdArgs, &cmdReply)
 }
 
+func (a *Access) Upgrade(args rpcs.ArgsUpgrade4G, reply *rpcs.ReplyEmptyResult) error {
+	server.Log.Infof("4G模组OTA升级:%s", args.DeviceId)
+	cmdReply := rpcs.ReplySendCommand{}
+	cmdArgs := rpcs.ArgsSendCommand{
+		DeviceId: args.DeviceId,
+		WaitTime: 0,
+		Cmd:      "devUpgrade",
+		Params: map[string]interface{}{
+			"fileId":   args.FileId,
+			"fileSize": args.FileSize,
+		},
+	}
+
+	return a.SendCommand(cmdArgs, &cmdReply)
+}
+
 func chunkUpgrade(params rpcs.ChunkUpgrade) error {
 	server.Log.Infof("4G模组OTA升级:%s", params.DeviceId)
 	reply := new(rpcs.ReplyEmptyResult)

+ 1 - 1
services/knowoapi/services/device.go

@@ -173,7 +173,7 @@ func (a deviceservice) Upgrade(param *models.UpgradeParams) error {
 	args.FileId = fileArgs.FileId
 	args.FileSize = param.FileSize
 
-	err = server.RPCCallByName(nil, rpcs.MQTTAccessName, "Access.UpgradeFor4G", args, &reply)
+	err = server.RPCCallByName(nil, rpcs.EmqxAgentServiceName, "Access.Upgrade", args, &reply)
 	if err != nil {
 		server.Log.Errorf("4G模组OTA升级失败:%v", err)
 		return err

+ 0 - 26
services/mqttaccess/access.go

@@ -107,29 +107,3 @@ func (a *Access) Upgrade(args rpcs.ArgsDeviceUpgrade, reply *rpcs.ReplyEmptyResu
 	}
 	return a.MqttBroker.SendMessageToDevice(args.DeviceId, "c", msg, 5*time.Second)
 }
-
-// UpgradeInfo 下发升级包信息
-// TODO: 实现
-func (a *Access) UpgradeFor4G(args rpcs.ArgsUpgrade4G, reply *rpcs.ReplyEmptyResult) error {
-	server.Log.Infof("4G模组OTA升级:%s", args.DeviceId)
-
-	cmd := &klink.CloudSend{
-		Action:     "cloudSend",
-		MsgId:      0,
-		DeviceCode: args.DeviceId,
-		Timestamp:  time.Now().Unix(),
-		Data: &klink.CloudSendData{
-			Cmd: "devUpgrade",
-			Params: map[string]interface{}{
-				"fileId":   args.FileId,
-				"fileSize": args.FileSize,
-			},
-		},
-	}
-
-	msg, err := cmd.Marshal()
-	if err != nil {
-		return err
-	}
-	return a.MqttBroker.SendMessageToDevice(args.DeviceId, "c", msg, 5*time.Second)
-}