之前有写过一篇爱星物联平台设备OTA功能介绍的文章《今天给设备来了一次OTA》,如今源码在手我们对着功能来分析下他的代码吧
为了让大家更清晰的了解设备升级的流程, 我拿了爱星物联一张时序图;
![image.png image.png](data/attachment/forum/202406/29/194515iai7i9q7abbqgjaq.png)
下面我将根据以下几个步骤介绍爱星物联开源项目的OTA功能;
- OTA的数据下发数据包
- OTA的全量、灰度发布逻辑
- OTA的升级版本检查
- OTA的升级进度上报
OTA的下发数据包
{
"header": {...},
"payload": {
"param": {
"chanel": 1, //升级渠道(1-云端、2-APP)
"pointVer": "1.1.0",//指定目标版本
"baseVer": "1.1.0",//固件最低兼容版本
"mcuBaseVer": "1.0.0",//mcu最低兼容版本
"otaType": "module_ota_all",//OTA升级类型 module_ota_all、module_mcu_all、module_extand_all、module_bt_all、module_zigbee_all
"appUrl": "https://xxx.com/xxx_app.bin",//oss永久有效的外链地址
"mcuUrl": "https://xxx.com/xxx_mcu.bin",//oss永久有效的MCU升级包外链地址
"md5": "12312312312312",//前待升级的固件包文件的MD5值
"pubId": "发布Id",//发布编号(升级结果需要回传)
"otaVer": "1.0.1"//OTA当前升级版本(升级结果需要回传)
}
}
}
OTA的全量、灰度发布逻辑
![image.png image.png](data/attachment/forum/202406/29/194524hz3qfrfsqrkrrfqw.png)
在我们发布升级的时候,系统提供了全量发布、灰度发布两种方式,对于这两种方式系统主要是通过规则筛选出对应的设备Id进行推送;
全量:不需要其它条件,只要获取当前产品的所有设备Id都推送OTA升级即可;
//iot_device_service\service\iot_ota_upgrade_record.go
t := ormMysql.Use(iotmodel.GetDB()).TIotDeviceTriad
totalCount, errCount := do.Count()
if errCount != nil {
return 0, errCount}
if totalCount == 0 {
return 0, errors.New("无设备数据")
}
if _, ok := config.DBMap["iot_device"]; !ok {
return 0, errors.New("数据库未初始化")
}
go s.asyncPublishOta(totalCount, req)
因为OTA发布涉及设备较多,会有一定的耗时,我们不可能一直等待处理完成,这里使用协程处理发布的动作;下面是asyncPublishOta方法,分页查询设备并推送;并且调用pushPublishRecord推送发布进度;
![0](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAACIMAAAGlCAYAAABj3KS8AAAAAXNSR0IArs4c6QAAIABJREFUeF7s3Q+0XWV9J/xfIoJUoUWDQAnqyIiasSmBcZF5aY0QiBZNQWEk1AgSB2gsCIW8CciACkUgjUgaagpqQIwVLFSYINVA1GiZCctBYl57UVhYWkIxJoIGNUQxedc+/+75s/c5+/y595577idrtZLc/efZn2fvu8/Zz3f/nkk/2/7L3RERu3dHTJqU/Ffxv8t/ij+MiNLP6n9eXmd4Df9FgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCQV6A6p1GTwyjlNaoiGzXZjqzMxqQkDFITBElasruY/yj/qdlpKRuShEOSnVX/LO9BWI4AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKAokIQ6ysU6ClmMKpjqwEchFFLKayT/WZ33qLac9OzPf7m7UhGksORwwKN64+WVdidbraoUUthw+YfVURQ9RoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgkC5QCmUUIhjlvEWlEkhjYqO8SGHZFoGQQmWQZK/l/1eo9JHkPcrbLfx3MQDSUC1EdRCnLAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgY4GaqiBVRTgqVUAmDQc2CkGQpGhHi0BIZZqYpFX1QZByFZAkBFL4v6o0SLnUiGliOu5PKxIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEitPElEMeJY/k30qZj1IlkGJooyYQUl1VpMqxEgapVAYpLbhr96TCjvba80Xxsr1fHJOqJ6HREQQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAiMqsHv37vjFjt/Ezl//thACmTxpdzE0kuy1HBYpVROpDpNMejaZJqZqCpjkh0lFkOR/9/mdPQthEH8IECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTGRiAJgzz3q18XAiGTklRHKQBSHQqpbtmkZ3/+y8pML5VpYnZNij33fFEhDOIPAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA2AokYZBfJxVCJhcrflQHQuoneymGQcqVQQpz0BSrgrzid19iapix7Ud7J0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgUBJJwx09//nyxOsikUiAkmS2mXCWkkPko/r0wTUwhDLK7qJeEQXZFxP6/tzdOAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBPhHY+rMdMbkQACmGPIrBkCTsUfzfShjkmZ//srBEOQyyKwmD7I545X7CIH3Sl5pBgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEIifPLsjJk+KmFwVBklYCqGQKp/iNDHJP+yO2BXFKWKEQZxBBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIH+EiiHQZLwx+RCOZBSCCQtDJKEP5I/yRQxyX8Kg/RXZ2oNAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKASBqmaKiapFJL8KUwXU/oz6ZmflSqDFOaOmRS7dhXDIAe83DQxTiMCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQL8IbHmmNE3M5CT8sbswC0ySASlME1MfBkl+kkwPszsmFYIgSSBEGKRfulI7CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIRhTDI5IikGkgy90shAJIEQuqqgxQqg5TDILt2F3/6W2EQ5xABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoK8EkjDIiyYXmzR5UrMwyM9/uTtZqFAZJJkmJqkMYpqYvupMjSFAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIVKaJKUwLUwqDJNPElGgqFUKeEQZxthAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE+l6gszBITIpdu1QG6fve1UACBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgwglUwiCTk2ogeSuDCINMuBPFARMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLjQ0AYZHz0k1YSIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBHIJCIPkYrIQAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGB8CAiDjI9+0koCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQC4BYZBcTBYiQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECIwPAWGQ8dFPWkmAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQyCUgDJKLyUIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgfEhIAwyPvpJKwkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECuQSEQXIxWYgAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMD4EhEHGRz9pJQECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEAgl4AwSC4mCxEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIExoeAMMj46CetJECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAjkEhAGycVkIQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA+BAQBhkf/aSVBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFcAsIguZgsRIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAYHwLCIOOjn7SSAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIJBLQBgkF5OFCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLjQ0AYZHz0k1YSIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBHIJDHwY5OF/jXj6ZxEnzMjlMaILbd+2OWLPfSP22jf23at6V0Ox8uh3xR1TZ8bUl0ZMe9+KWHLMvsML/GoovvC3D8eMc94b06r+uZ3GPv6l8+KKr0Yc+oczYurrZ8V7335o1DShjY1tf2xNfGHDIbHgfYd3vI02dmdRAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoA2BgQ6DfPwfI+59OOKg34v4h4vaUBmRRbfH+o++Oc7+YnHjcz7xQKx455TiX55aE+cduyjWFv4yM65a+7k45dWlRmzfGCvP/Yu4/sFtEa8+Ja76u8vjlNe2G+MYilUnvSuu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AgQIECBAgAABAgQGTkAYZOC61AERIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECE1lAGGQi975jJ0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAZOQBhk4LrUAREgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQITWUAYZCL3vmMnQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEBk5AGGTgutQBESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAhNZQBhkIve+YydAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQGTkAYZOC61AERIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECE1lAGGQi975jJ0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAZOQBhk4LrUAREgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQITWUAYZCL3vmMnQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEBk5AGGTgutQBESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAhNZQBhkIve+YydAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQGTkAYZOC61AERIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECE1lAGGQi975jJ0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAZOQBhk4LrUAREgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQITWUAYZCL3vmMnQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEBk5AGGTgutQBESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAhNZQBhkIve+YydAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQGTkAYZOC61AERIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECE1lAGGQi975jJ0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAZOQBhk4LrUAREgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQITWaDrMMj2nZMnsp9jJ0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAj0lcC+e+2KyZMiJk+OmBS7Y9KkYvNK/zP892d+/svdyQ92745ksdi1K2LX7ogDXr53Xx2QxhAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIA665xSAAAgAElEQVQAAQIEJrJA15VBhEEm8unj2AkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIF+ExAG6bce0R4CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQBcCwiBd4FmVAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINBvAsIg/dYj2kOAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ6EJAGKQLPKsSIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBPpNQBik33pEewgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECXQgIg3SBZ1UCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQL8JCIP0W49oDwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgCwFhkC7wrEqAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ6DcBYZB+6xHtIUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAh0ISAM0gWeVQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC/SYgDNJvPaI9BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEuBIRBusCzKgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECg3wSEQfqtR7SHAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINCFgDBIF3hWJUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAj0m4AwSL/1iPYQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBLoQEAbpAs+qBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIF+ExAG6bce0R4CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQBcCwiBd4FmVAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINBvAsIg/dYj2kOAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ6EJAGKQLPKsSIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBPpNQBik33pEewgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECXQgIg3SBZ1UCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQL8JCIP0W49oDwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgCwFhkC7wrEqAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ6DcBYZB+6xHtIUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAh0ISAM0gWeVQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC/SYgDNJvPaI9BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEuBIRBusCzKgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECg3wSEQfqtR7SHAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINCFgDBIF3hWJUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAj0m4AwSL/1iPYQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBLoQEAbpAs+qBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIF+ExAG6bce0R4CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQBcCwiBd4FmVAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINBvAsIg/dYj2kOAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ6EJAGKQLPKsSIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBPpNQBik33pEewgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECXQgIg3SBZ1UCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQL8JCIP0W49oDwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgCwFhkC7wrEqAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ6DcBYZB+6xHtIUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBMa1wO7dEZMmjd0hjMswyK5du+O3yf/9dtfYydkzAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQCBFIAmCTJ48OV40eVJMnjz6qZBxFwZJAiAv/HZ37E5iNP4QIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBPpUYNKkSfGiF02KPV40eVRbOK7CILt2747f/GaXIMioniJ2RoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECHQjsOeLXzSqFULGVRjkNy/sMjVMN2eXdQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFRF0imi3nxi180avsdV2GQ53e+MGowdkSAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ6IXApEkRe+25Ry82lWsbwiC5mCxEgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEOhc4CV7CYOk6qkM0vlJZU0CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBg7ASEQTLshUHG7qS0ZwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKBzAWGQDDthkM5PKmsSIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECYycgDJJhLwwydielPRMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKdCwiDZNgJg3R+UlmTAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQGDsBYZAMe2GQsTsp7ZkAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBDoXEAYJMNOGKTzk8qaBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwNgJCINk2AuDjN1Jac8E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EiABEiABEiABEihHAhSDlCNMVkUCJEACJEACJEACJEACJEACJEACJEACFUmAG/kVSbd21M01VDvmmaMkARIgARIgARIgARIgARIgAYpBuAZIgARIgARIgARIgARIgARIgARIgARIoJoQ4EZ+NZmoKtxNrqEqPDnsGgmQAAmQAAmQAAmQAAmQAAmUIwGKQcoRJqsiARIgARIgARIgARIgARIgARIgARIggYokwI38iqRbO+rmGqod88xRkgAJkAAJkAAJkAAJkAAJkADFIFwDJEACJEACJEACJEACJEACJEACJEACJFBNCHAjv5pMVBXuJtdQFZ4cdo0ESIAESIAESIAESIAESIAEypEAxSDlCJNVkQAJkAAJkAAJkAAJkAAJkAAJkAAJkEBFEuBGfkXSrR11cw3VjnnmKEmABEiABEiABEiABEiABEiAYhCuARIgARIgARIgARIgARIgARIgARIgARKoJgS4kV9NJqoKd5NrqApPDrtGAiRAAiRAAiRAAiRAAiRAAuVIgGKQcoTJqkiABEiABEiABEiABEiABEiABEiABEigIglwI78i6daOurmGasc8c5QkQAIkQAIkQAIkQAIkQAIkQDEI1wAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJVBMC3MivJhNVhbvJNVSFJ4ddIwESIAESIAESIAESIAESIIFyJEAxSDnCZFUkQAIkQAIkQAIkQAIkQAIkQAIkQAIkUJEEuJFfkXRrR91cQ7VjnjlKEiABEiABEiABEiABEiABEqAYhGuABEiABEiABEiABEiABEiABEiABEiABKoJAW7kV5OJqsLd5BqqwpPDrpEACZAACZAACZAACZAACZBAORKgGKQcYbIqEiABEiABEiABEiABEiABEiABEiABEqhIAtzIr0i6taNurqHaMc8cJQmQAAmQAAmQAAmQAAmQAAlQDMI1QAIkQAIkQAIkQAIkQAIkQAIkQAIkQALVhAA38qvJRFXhbnINVeHJYddIgARIgARIgARIgARIgARIoBwJUAxSjjBZFQmQAAmQAAmQAAmQAAmQAAmQAAmQAAlUJAFu5Fck3dpRN9dQ7ZhnjpIESIAESIAESIAESIAESIAEKAbhGiABEiABEiABEiABEiABEiABEiABEiCBakKAG/nVZKKqcDe5hqrw5LBrJEACJEACJEACJEACJEACJFCO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ojq0LwmlYiqpXBbsdrcQIOqww4G8qdMRdXVnyAa+z+RwKCcLPTyHuDGIg4ps5BupuFht2ovDhxxTYV2cDsDhVG04HQ7tPfnf9U9CusimuIglZF4kjIg5iUhJQgSpsBwSwsNRrP4XJxkVYsYVrkMdL3bAcu45ym1DT8o1xhTyxDZ7jgovE3vXHYhI1lwhfCUJ/SHODiIWEcGGSkVFmqhIQn/cdosSF4hoRdampPjpU5UjjGcSpx0lUgJQZ9wT/s8RpxP2775XrhTmEDZSTsQrkW0uVc4svheDXWNSDilCwvBYLEZNMu8iBJIkAquont0DtpJ9571qXiJT2qDO00965xUB0qT/U3MVfcMAQ7wRqFIJVyUiElmj4iASTBJxhc497sH7Ye1QEr7KV/nCNWsR1be3FhrKlESUIi4hztM5WhgYcxJO8nlk+idrWOoQMVLRF9sQ+9e7lSNJ4dIPEXnZpSo8kvwv7i9eyeFQbcl5JOGFxFFFQhWJGImJBEiABEiABEiABMIlQDFIuORYjgRIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgARIgASqIAGKQargpLBLJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJEACJBAuAYpBwiXHciRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRQBQlQDFIFJ4VdIgESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIAESIIFwCVAMEi45liMBEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiCBKkiAYpAqOCnsEgmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmES4BikHDJsRwJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJVEECFINUwUlhl0iABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEiABEggXAIUg4RLjuVIgARIgARIgARIgARIoNYTyMCCsWnAsMkY3qbWwyAAEiABEiABEiABEiABEiABEiABEiCBmkhgL3B1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9c2dAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQaDsBYZC2K6kJESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAp0sIAzSydU3dwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKDtBIRB2q6kJkSAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAh0soAwSCdX39wJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBthMQBmm7kpoQAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg0MkCwiCdXH1zJ0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBNpOQBik7UpqQgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEAnCwiDdHL1zZ0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBoOwFhkLYrqQkRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECnSwgDNLJ1Td3AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoO0EhEHarqQmRIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECHSygDBIJ1ff3AkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIG2ExAGabuSmhABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDQyQLCIJ1cfXMnQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE2k5AGKTtSmpCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQCcLCIN0cvXNnQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGg7AWGQtiupCREgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKdLCAM0snVN3cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECg7QSEQdqupCZEgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIdLLAuAqDHDh4OCZNPKKT62XuBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwDgT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2J3ihh9F/PL5iL/5QLoxjoc6Zqnhpnt/HCfMPi4WLTgtHZC7Wirw8KNPxAvbX4pl57+tpePQOQECBAgQIECAAAECBAgQIECAAAECBAgQIECAQGcJCIN0Vr3NNk9gb9+h+O2Ovnjt8VPiyMljc3eQfX2H49kd++M1x0+OoyZPqLl+v3wu4hO3Rdx0ScRpJ9Z8e8NveOL5iCtujfjyxRFvnJuuu7Fex6w1fH7bjrj9W/fHX3zgvDhh9sx0SO5qicAL21+Mr999X3z4/efGiXOOb8kYdEqAAAECBAgQIECAAAECBAgQIECAAAECBAgQINCZAsIgnVl3sx4UeGXPodj+cl8cP31iTD9q4pg5MiY5VmTn3oOxY+fBmH3s5Dhmau1BkFyRN/804h++G3HpeRHvevPYODImORrmgccibrkv4q8viFj6lmyP5FisYz1r+OjjT8Y93/9JLHn7GXH6vJMcGZPtcWn43cnRMI93PxMP/ujn8e5z3hoLTj+14X3qgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEC+gDCI56HjBZKdJV7edSh27TsUBw8dHhMeEyccEdOOnBDHTpuQakeQ4kkkO4Rs+HFE168jene1foozpkUsfH3EhW9LvyNI8SzGWh3rXcNkh5BHftYdTz7zQuzes6/1RTSCsgJHTz0yTj3phDjrzHl2BPGcECBAgAABAgQIECBAgAABAgQIECBAgAABAgQItERAGKQl7DolQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECDRGQBikMa5aJUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAi0REAYpCXsOiVAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQINEZAGKQxrlolQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECLREQBikJew6JUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAg0RkAYpDGuWiVAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQItERAGKQl7DolQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECDRGQBikMa5aJUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAi0REAYpCXsOiVAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQINEZAGKQxrlolQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECLREQBikJew6JUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAg0RkAYpDGuWiVAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQItERAGKQl7DolQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECDRGQBikMa5aJUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAi0REAYpCXsOiVAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQINEZAGKQxrlolQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECLREQBikJew6JUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAg0RkAYpDGuWiVAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQItERAGKQl7DolQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECDRGQBikMa5aJUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAi0REAYpCXsOiVAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQINEZAGKQxrlolQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECLREQBikJew6JUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAg0RkAYpDGuWiVAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQItERAGKQl7DolQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECDRGQBikMa5aJUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAi0REAYpCXsOiVAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQINEZAGKQxrlolQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECLREQBikJew6JUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAg0RkAYpDGuWiVAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQItERAGKQl7DolQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECDRGQBikMa5aJUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAi0REAYpCXsOiVAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQINEag2jDI/wcvcRcjAg4A+gAAAABJRU5ErkJggg==)
func (s IotOtaUpgradeRecordSvc) asyncPublishOta(totalCount int64, req *proto.GenerateUpgradeDeviceRequest) error {
t := ormMysql.Use(iotmodel.GetDB()).TIotDeviceTriad
do := t.WithContext(context.Background()).Where(t.ProductKey.Eq(req.ProductKey))
var limit int = 500
pageCount := int(math.Ceil(float64(totalCount) / float64(limit)))
if pageCount == 0 {
s.pushPublishRecord(req.PublishId, 0, 0, 4, "无设备数据")
return errors.New("无设备数据")
}
var dataDB, ok = config.DBMap["iot_device"]
if !ok {
s.pushPublishRecord(req.PublishId, 0, int(totalCount), 4, "数据库未初始化")
return errors.New("数据库未初始化")
}
dataTx := orm.Use(dataDB)
var successCount int = 0
for page := 1; page <= pageCount; page++ {
offset := limit * (page - 1)
var result []DeviceSimpleInfo
_, err := do.ScanByPage(&result, offset, limit)
if err != nil {
return err
}
if len(result) == 0 {
break
}
tRecord := dataTx.TIotOtaUpgradeRecord
list := []*model.TIotOtaUpgradeRecord{}
for _, res := range result {
version, isAuto, _ := s.getDeviceCachedIsAutoAndVer(res.Did)
list = append(list, &model.TIotOtaUpgradeRecord{
Id: iotutil.GetNextSeqInt64(),
Version: req.Version,
PublishId: req.PublishId,
ProductKey: req.ProductKey,
DeviceId: res.Did,
OriginalVersion: res.DeviceVersion,
Status: 1,
IsGray: req.IsGray,
TenantId: req.TenantId,
Area: res.Country,
FwVer: version,
IsAutoUpgrade: isAuto,
})
}
err = tRecord.WithContext(context.Background()).Create(list...)
if err != nil {
break
}
//如果为强制升级
if req.UpgradeMode == 2 {
s.batchPublishNotice(req, list)
}
s.batchSetDeviceCached(req, list)
successCount += len(list)
s.pushPublishRecord(req.PublishId, successCount, int(totalCount), 4, "发布中")
//清空
list = make([]*model.TIotOtaUpgradeRecord, 0)
}
s.pushPublishRecord(req.PublishId, successCount, int(totalCount), 3, "ok")
return nil}
在方法中,我们能看到强制的的概念,如果是强制升级我们将推送mqtt消息给到APP,让APP限制用户对设备的控制;APP收到主题“iotprotocol.NOTICE_HEAD_UPGRADE_NOTICE_NAME”的消息,处理限制逻辑;
//推送升级通知
var obj iotprotocol.PackNotice
buf, _ := obj.Encode(iotprotocol.NOTICE_HEAD_UPGRADE_NOTICE_NAME, map[string]interface{}{
"version": req.Version,
"isGray": req.IsGray,
"pubId": req.PublishId,
"isAuto": req.IsAuto,
"upgradeMode": req.UpgradeMode,
"hasForceUpgrade": req.UpgradeMode == 2,
})
_, pubErr := rpcClient.ClientMqttService.BatchPublish(context.Background(), &proto.BatchPublishMessage{
TopicFullNameList: topics,
MessageContent: string(buf),
Qos: proto.Qos_ExactlyOnce,
Retained: false,
})
//这里需要注意,如果是强制升级、并且用户统一了自动升级,那么系统需要直接给用户的设备推送升级指令
// device.IsAutoUpgrade == true ota升级包是开启自动升级
// req.IsAuto == 1 用户授权自动升级
if device.IsAutoUpgrade && req.IsAuto == 1{
s.publishUpgrade(req, device.DeviceId)
}
灰度升级:有以下三种模式,其中按比例、按数量灰度将随机获取设备升级,指定设备则是指定具体设备进行升级,方便ota测试过程;
按比例获取设备发布升级
![0](data:image/png;base64,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)
指定数量的设备发布升级
![0](data:image/png;base64,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)
批量指定设备升级
![0](data:image/png;base64,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)
这里获取比例和指定数量,代码中是使用sql语句随机获取的方式。
if req.GrayType == iotconst.OTA_GRAY_TYPE_SCALE { //比例随机
str.WriteString(fmt.Sprintf(" where C.ROW_NUM<=(@row_num*%v)", float64(req.GrayScale)/100))
} else if req.GrayType == iotconst.OTA_GRAY_TYPE_NUMBER {//指定数量随机
str.WriteString(fmt.Sprintf(" where C.ROW_NUM<=%v", req.GrayScale))
}
指定设备则是,直接提供设备Id列表搜索设备信息
str.WriteString(fmt.Sprintf(" where C.did in (%v)", "'" + strings.Join(req.DeviceIds, "'")
OTA的升级版本检查
![image.png image.png](data/attachment/forum/202406/29/194609kkx0557e9jll4888.png)
// iot_product_service\handler\opm_ota_publish_handler.go
// 详见CheckOtaVersion方法
// 获取设备缓存的状态数据
devStatus, err := iotredis.GetClient().HGetAll(context.Background(), iotconst.HKEY_DEV_DATA_PREFIX+request.DeviceId).Result()
if err != nil {
return nil
}
//根据产品配置的固件类型逐一检查升级情况,注意这里会优先检查通讯模组固件
request.FirmwareTypes = []int32{iotconst.FIRMWARE_TYPE_MODULE}
res, err = s.CheckOtaVersion(request, "")
//如果res.Code == 101,标识模组固件不需要升级
//则获取产品配置的其它固件类型,这里有蓝牙、zigbee、扩展固件类型
for _, info := range firmList {
var version, versionKey string
//这里通过固件类型获取缓存的设备固件的真实版本字段Key
switch info.FirmwareType {
case iotconst.FIRMWARE_TYPE_MODULE:
continue //模组固件已经检查
case iotconst.FIRMWARE_TYPE_BLE:
versionKey = "bleVer"
case iotconst.FIRMWARE_TYPE_ZIGBEE:
versionKey = "zigbeeVer"
case iotconst.FIRMWARE_TYPE_EXTAND:
versionKey = "extends"
case iotconst.FIRMWARE_TYPE_MCU:
versionKey = "mcuVer"
default:
continue
}
//这里检查如果有上报对应固件版本号,才会检查升级情况
if val, ok := devStatus[versionKey]; ok && val != "" {
//扩展版本号赋值
//因为扩展固件可能会存在多个,所以这里扩展固件版本上报的数据为数组,需要特殊处理
if versionKey == "extends" {
var extends []iotprotocol.ExtendItem
if err := iotutil.JsonToStruct(val, &extends); err == nil {
for _, extend := range extends {
if extend.Key == info.FirmwareKey {
version = extend.Ver
break
}
}
}
} else {
version = iotutil.ToString(val)
}
}
if version != "" {
request.Version = version
request.FirmwareTypes = []int32{info.FirmwareType}
res, err = s.CheckOtaVersion(request, info.FirmwareKey)
if res.Code == 200 {
//存在升级数据,返回升级信息
break
}
}
}
OTA的升级进度上报
//iot_device_service\service\ota_upgrade_device.go
//详见OtaUpgradeDevice方法
//这里是订阅设备上报topic:{ProductKey}/{DeviceId}/upgrade的处理逻,记录ota上报的进度和结果,在根据结果标记升级状态,清理升级缓存等;
//上报数据示例如下:{\"code\":0,\"progress\":90,\"otaState\":\"Downloading\",\"otaVer\":\"1.0.1\",\"pubId\":\"xxxxxxx\"}}
//otaState: 该字段表示OTA的状态,主要有以下三种状态
// Downloading: 下载中,当OTA处于此状态时,设备将会上报下载进度。而上报进度时间间隔以10 - 30%的间隔上报。
// Installing: 安装中,当OTA处于此状态时,设备将会处于离线状态。而该状态是设备即将进入离线状态前发送给云端的。
//code:
// 0: 表示OTA成功
// 1:表示下载失败
// 2:表示安装失败
// 3:协议数据错误
// 4:OTA数据包错误
//progress:OTA上报的进度
// sendAppMessage 此方法将升级结果推送给APP,APP解除正在的限制
device, err := s.getDeviceCached()
if err != nil {
iotlogger.LogHelper.Error("设备信息获取失败,设备Id=" + s.DevId)
return
} else {
userId, _ = iotutil.ToInt64Err(device["userId"])
homeId, _ = iotutil.ToInt64Err(device["homeId"])
appKey = device["appKey"]
tenantId = device["tenantId"]
productKey = device["productKey"]
area = device["country"]
fwVer = device["fwVer"]
}
svc := IotOtaUpgradeRecordSvc{Ctx: context.Background()}
err = svc.ReportUpgradeResult(s.DevId, productKey, version, tenantId, pubId, area, fwVer, state, code, progress)
if err != nil {
iotlogger.LogHelper.Error("修改进度失败", s.DevId, state, code, progress)
return
}
isSuccess, err := s.checkStatusIsUpgradeSuccess(state, code)
if err != nil {
// sendAppMessage 将升级结果推送给APP,APP解除正在的限制
s.sendAppMessage(appKey, tenantId, s.DevId, homeId, userId, false, map[string]string{})
} else {
if isSuccess {
var needSetCached = true
//判断版本当前升级版本是否大于ota升级版本
compareRes, _ := iotutil.VerCompare(version, fwVer)
if compareRes == 1 {
needSetCached = false
}
if needSetCached {
//升级成功需要更新升级信息
s.setDeviceCached(map[string]string{
iotconst.FIELD_UPGRADE_HAS: "false",
iotconst.FIELD_UPGRADE_MODE: "0",
iotconst.FIELD_UPGRADE_RUNNING: "false",
iotconst.FIELD_UPGRADE_STATE: "",
iotconst.FIELD_UPGRADE_PROGRESS: "0",
})
} else {
//升级成功需要更新升级信息
s.setDeviceCached(map[string]string{
//iotconst.FIELD_IS_FW_VER: version,
iotconst.FIELD_UPGRADE_HAS: "false",
iotconst.FIELD_UPGRADE_STATE: "",
iotconst.FIELD_UPGRADE_PROGRESS: "0",
iotconst.FIELD_UPGRADE_RUNNING: "false",
})
}
//推送固件升级结果消息
s.sendAppMessage(appKey, tenantId, s.DevId, homeId, userId, true, map[string]string{})
} else {
if s.isUpgradeRunning(state, code) {
s.setDeviceCached(map[string]string{
iotconst.FIELD_UPGRADE_HAS: "true",
iotconst.FIELD_UPGRADE_PROGRESS: iotutil.ToString(progress),
iotconst.FIELD_UPGRADE_STATE: state,
iotconst.FIELD_UPGRADE_RUNNING: "true",
})
}
}
}
以上代码判断为平台对于固件OTA升级的代码片段,欢迎大家一起下载开源代码研究哦;