改进esp8266的OTA升级

This commit is contained in:
kerwincui
2022-06-17 01:43:55 +08:00
parent 0e2dd62f9c
commit 5b8f1f39f3
2 changed files with 20 additions and 8 deletions

View File

@@ -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)
{

View File

@@ -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消息服务器地址