From 5b8f1f39f381e6b9e36d67fbbfa184178eeb90fc Mon Sep 17 00:00:00 2001 From: kerwincui <164770707@qq.com> Date: Fri, 17 Jun 2022 01:43:55 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E8=BF=9Besp8266=E7=9A=84OTA=E5=8D=87?= =?UTF-8?q?=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sdk/Arduino/Arduino-ESP8266/Helper.cpp | 26 +++++++++++++++++++------- sdk/Arduino/Arduino-ESP8266/Helper.h | 2 +- 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/sdk/Arduino/Arduino-ESP8266/Helper.cpp b/sdk/Arduino/Arduino-ESP8266/Helper.cpp index c1016e60..4e511719 100644 --- a/sdk/Arduino/Arduino-ESP8266/Helper.cpp +++ b/sdk/Arduino/Arduino-ESP8266/Helper.cpp @@ -17,14 +17,14 @@ long monitorInterval = 1000; //==================================== 这是需要配置的项 =============================== // Wifi配置 -char *wifiSsid = "wifi账号"; -char *wifiPwd = "wifi密码"; +char *wifiSsid = "wumei"; +char *wifiPwd = "wumei-smart"; // 设备信息配置 -String deviceNum = "D6329VL54419L1Y0"; +String deviceNum = "D6329VL548866"; String userId = "1"; -String productId = "2"; -String firmwareVersion = "1.0"; +String productId = "41"; +float firmwareVersion = 1.0; // 经度和纬度可选,如果产品使用设备定位,则必须传 float latitude=0; float longitude=0; @@ -33,8 +33,8 @@ float longitude=0; char *mqttHost = "wumei.live"; int mqttPort = 1883; char *mqttUserName = "wumei-smart"; -char *mqttPwd = "P5FJKZJHIR82GNB2"; -char mqttSecret[17] = "K63C4EA3AI5TER97"; +char *mqttPwd = "PHYFED93WSFF1DAS"; +char mqttSecret[17] = "K2V5DE28XNUU3497"; // 产品启用授权码,则授权码不能为空 String authCode=""; @@ -136,6 +136,18 @@ void callback(char *topic, byte *payload, unsigned int length) if (strcmp(topic, sOtaTopic.c_str()) == 0) { printMsg("订阅到设备升级指令..."); + StaticJsonDocument<256> doc; + DeserializationError error = deserializeJson(doc, payload); + if (error) + { + Serial.print(F("deserializeJson() failed: ")); + Serial.println(error.f_str()); + return; + } + String newVersion = doc["version"]; + String downloadUrl = doc["downloadUrl"]; + printMsg("固件版本:"+newVersion); + printMsg("下载地址:"+downloadUrl); } else if (strcmp(topic, sNtpTopic.c_str()) == 0) { diff --git a/sdk/Arduino/Arduino-ESP8266/Helper.h b/sdk/Arduino/Arduino-ESP8266/Helper.h index 09e79351..7bb28504 100644 --- a/sdk/Arduino/Arduino-ESP8266/Helper.h +++ b/sdk/Arduino/Arduino-ESP8266/Helper.h @@ -23,7 +23,7 @@ extern String deviceNum ; // 设备编号(重要,同时是Mqtt的client extern String userId; // 用户ID extern String productId; // 产品ID extern float rssi; // 信号强度(信号极好4格[-55— 0],信号好3格[-70— -55],信号一般2格[-85— -70],信号差1格[-100— -85]) -extern String firmwareVersion; // 固件版本 +extern float firmwareVersion; // 固件版本 extern char *wifiSsid; // WIFI的SSID extern char *wifiPwd; // WIFI的密码 extern char *mqttHost; // Mqtt消息服务器地址