From 40856f8cf949cf1c731e279b8aebeb09d234b64a Mon Sep 17 00:00:00 2001 From: lei <3224404793@qq.com> Date: Tue, 27 Sep 2022 22:21:05 +0800 Subject: [PATCH] =?UTF-8?q?=09modified:=20=20=20BIlinkerAndHttpsOta.ino=20?= =?UTF-8?q?=09modified:=20=20=20build/preproc/ctags=5Ftarget=5Ffor=5Fgcc?= =?UTF-8?q?=5Fminus=5Fe.cpp=20=09modified:=20=20=20build/sketch/httpslei.c?= =?UTF-8?q?pp=20=09modified:=20=20=20build/sketch/httpslei.cpp.d=20=09modi?= =?UTF-8?q?fied:=20=20=20build/sketch/httpslei.cpp.o=20=09modified:=20=20?= =?UTF-8?q?=20build/sketch/httpslei.h=20=09modified:=20=20=20httpslei.cpp?= =?UTF-8?q?=20=09modified:=20=20=20httpslei.h=20=20=20=20=20message:?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BA=86=E7=89=88=E6=9C=AC=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E6=A3=80=E6=9F=A5=E7=9A=84=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BIlinkerAndHttpsOta.ino | 13 ++-- .../preproc/ctags_target_for_gcc_minus_e.cpp | 9 ++- build/sketch/httpslei.cpp | 45 +++++++++++++- build/sketch/httpslei.cpp.d | 43 ++++++++++++- build/sketch/httpslei.cpp.o | Bin 132312 -> 180400 bytes build/sketch/httpslei.h | 1 + httpslei.cpp | 57 +++++++++++++++--- httpslei.h | 15 +++-- 8 files changed, 156 insertions(+), 27 deletions(-) diff --git a/BIlinkerAndHttpsOta.ino b/BIlinkerAndHttpsOta.ino index fdeacf4..b018abe 100644 --- a/BIlinkerAndHttpsOta.ino +++ b/BIlinkerAndHttpsOta.ino @@ -9,7 +9,10 @@ #include #include #include "httpslei.h" - +/**/ +const String this_version = "v1"; +const String next_version = "v2"; +/**/ void button1_callback(const String & state); void none_callback(const String & data); void ot_callback(const String & state); @@ -69,9 +72,11 @@ void ot_callback(const String & state){ { Blinker.print("hello\n"); ButtonOta.print("on"); - httpsOtaStart(); - }else if (state == "off") - { + int code = checkNewOTA(next_version); //检查文件是否存在 + if (code==HTTP_CODE_OK || code == HTTP_CODE_MOVED_PERMANENTLY){ + httpsOtaStart(); + } + }else if (state == "off"){ ButtonOta.print("off"); } } \ No newline at end of file diff --git a/build/preproc/ctags_target_for_gcc_minus_e.cpp b/build/preproc/ctags_target_for_gcc_minus_e.cpp index 3df9e8d..87b8ac9 100644 --- a/build/preproc/ctags_target_for_gcc_minus_e.cpp +++ b/build/preproc/ctags_target_for_gcc_minus_e.cpp @@ -18,6 +18,7 @@ void ot_callback(const String & state); char *auth = "c7f09e6ce624"; char *ssid = "101_lei"; char *pswd = "leiyun1314"; +const String version = "v1"; BlinkerButton Button1("btn-abc",button1_callback); BlinkerButton ButtonOta("ota",ot_callback); @@ -70,9 +71,11 @@ void ot_callback(const String & state){ { Blinker.print("hello\n"); ButtonOta.print("on"); - httpsOtaStart(); - }else if (state == "off") - { + int code = checkNewOTA(version); + if (code==HTTP_CODE_OK || code == HTTP_CODE_MOVED_PERMANENTLY){ + httpsOtaStart(); + } + }else if (state == "off"){ ButtonOta.print("off"); } } diff --git a/build/sketch/httpslei.cpp b/build/sketch/httpslei.cpp index b862354..eef1c0d 100644 --- a/build/sketch/httpslei.cpp +++ b/build/sketch/httpslei.cpp @@ -3,6 +3,8 @@ #include #include "httpslei.h" #include +#include +#include /* * - ESP_OK: OTA data updated, next reboot will use specified partition. * - ESP_FAIL: For generic failure. @@ -13,6 +15,7 @@ * - For other return codes, refer OTA documentation in esp-idf's app_update component. */ static const char *url = "https://www.lshserver.com:9006/test/esp32-v1.bin"; //state url of your firmware image +String urls = "https://www.lshserver.com:9006/test/"; static const char *server_certificate =\ "-----BEGIN CERTIFICATE-----\n\ MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh\n\ @@ -86,12 +89,50 @@ void readStaus(void *p){ delay(1000); } } +/***/ +int checkNewOTA(const String version){ + WiFiClientSecure *client = new WiFiClientSecure; + int httpCode = 0; + if(client) { + client -> setCACert(server_certificate); + { + // Add a scoping block for HTTPClient https to make sure it is destroyed before WiFiClientSecure *client is + HTTPClient https; + Serial.print("[HTTPS_CHECK] begin "+urls+"esp32-"+version+".bin"+"\n"); + if (https.begin(*client,urls+"esp32-"+version+".bin")) { // HTTPS + Serial.print("[HTTPS_CHECK] GET...\n"); + // start connection and send HTTP header + httpCode = https.GET(); + // httpCode will be negative on error + if (httpCode > 0) { + // HTTP header has been send and Server response header has been handled + Serial.printf("[HTTPS_CHECK] GET... code: %d\n", httpCode); + // file found at server + if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) { + Serial.println("file is ok"); + } + } else { + Serial.printf("[HTTPS_CHECK] GET... failed, error: %s\n", https.errorToString(httpCode).c_str()); + } + https.end(); + } else { + Serial.printf("[HTTPS_CHECK] Unable to connect\n"); + } + // End extra scoping block + } + delete client; + } else { + Serial.println("Unable to create client"); + } + return httpCode; +} void httpsOtaStart(){ + HttpsOTA.onHttpEvent(HttpEvent); //启用https 调试信息 HttpsOTA.begin(url,server_certificate);//开始升级 - xTaskCreate(readStaus,"readStaus", 2048,NULL,2, NULL);//状态回调 + xTaskCreate(readStaus,"readStaus",2048,NULL,2, NULL);//状态回调 } void httpsOtaTurnOn(){ - HttpsOTA.onHttpEvent(HttpEvent); //启用https 调试信息 + } /* 第一步:在setup中调用 httpsOtaTurnOn() diff --git a/build/sketch/httpslei.cpp.d b/build/sketch/httpslei.cpp.d index ed7db29..a091adc 100644 --- a/build/sketch/httpslei.cpp.d +++ b/build/sketch/httpslei.cpp.d @@ -215,4 +215,45 @@ c:\Users\32244\Desktop\BIlinkerAndHttpsOta\build\sketch\httpslei.cpp.o: \ C:\Users\32244\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5/tools/sdk/esp32/include/esp_rom/include/esp32/rom/rtc.h \ C:\Users\32244\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5/tools/sdk/esp32/include/esp_rom/include/esp32/rom/ets_sys.h \ C:\Users\32244\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5/tools/sdk/esp32/include/soc/esp32/include/soc/rtc_cntl_reg.h \ - C:\Users\32244\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5\libraries\Update\src/HttpsOTAUpdate.h + C:\Users\32244\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5\libraries\Update\src/HttpsOTAUpdate.h \ + C:\Users\32244\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5\libraries\HTTPClient\src/HTTPClient.h \ + C:\Users\32244\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5\libraries\WiFi\src/WiFiClient.h \ + C:\Users\32244\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5\libraries\WiFiClientSecure\src/WiFiClientSecure.h \ + C:\Users\32244\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5\libraries\WiFiClientSecure\src/ssl_client.h \ + C:\Users\32244\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5/tools/sdk/esp32/include/mbedtls/mbedtls/include/mbedtls/platform.h \ + C:\Users\32244\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5/tools/sdk/esp32/include/mbedtls/port/include/mbedtls/esp_config.h \ + C:\Users\32244\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5/tools/sdk/esp32/include/mbedtls/mbedtls/include/mbedtls/config.h \ + C:\Users\32244\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5/tools/sdk/esp32/include/mbedtls/mbedtls/include/mbedtls/check_config.h \ + C:\Users\32244\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5/tools/sdk/esp32/include/mbedtls/port/include/esp_mem.h \ + C:\Users\32244\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5/tools/sdk/esp32/include/mbedtls/mbedtls/include/mbedtls/platform_time.h \ + C:\Users\32244\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5/tools/sdk/esp32/include/mbedtls/mbedtls/include/mbedtls/net.h \ + C:\Users\32244\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5/tools/sdk/esp32/include/mbedtls/mbedtls/include/mbedtls/net_sockets.h \ + C:\Users\32244\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5/tools/sdk/esp32/include/mbedtls/mbedtls/include/mbedtls/ssl.h \ + C:\Users\32244\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5/tools/sdk/esp32/include/mbedtls/port/include/mbedtls/bignum.h \ + C:\Users\32244\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5/tools/sdk/esp32/include/mbedtls/mbedtls/include/mbedtls/bignum.h \ + C:\Users\32244\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5/tools/sdk/esp32/include/mbedtls/mbedtls/include/mbedtls/ecp.h \ + C:\Users\32244\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5/tools/sdk/esp32/include/mbedtls/mbedtls/include/mbedtls/ssl_ciphersuites.h \ + C:\Users\32244\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5/tools/sdk/esp32/include/mbedtls/mbedtls/include/mbedtls/pk.h \ + C:\Users\32244\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5/tools/sdk/esp32/include/mbedtls/mbedtls/include/mbedtls/md.h \ + C:\Users\32244\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5/tools/sdk/esp32/include/mbedtls/mbedtls/include/mbedtls/platform_util.h \ + C:\Users\32244\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5/tools/sdk/esp32/include/mbedtls/mbedtls/include/mbedtls/rsa.h \ + C:\Users\32244\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5/tools/sdk/esp32/include/mbedtls/mbedtls/include/mbedtls/ecdsa.h \ + C:\Users\32244\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5/tools/sdk/esp32/include/mbedtls/mbedtls/include/mbedtls/cipher.h \ + C:\Users\32244\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5/tools/sdk/esp32/include/mbedtls/mbedtls/include/mbedtls/x509_crt.h \ + C:\Users\32244\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5/tools/sdk/esp32/include/mbedtls/mbedtls/include/mbedtls/x509.h \ + C:\Users\32244\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5/tools/sdk/esp32/include/mbedtls/mbedtls/include/mbedtls/asn1.h \ + C:\Users\32244\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5/tools/sdk/esp32/include/mbedtls/mbedtls/include/mbedtls/x509_crl.h \ + C:\Users\32244\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5/tools/sdk/esp32/include/mbedtls/mbedtls/include/mbedtls/dhm.h \ + C:\Users\32244\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5/tools/sdk/esp32/include/mbedtls/mbedtls/include/mbedtls/ecdh.h \ + C:\Users\32244\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5/tools/sdk/esp32/include/mbedtls/mbedtls/include/mbedtls/debug.h \ + C:\Users\32244\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5/tools/sdk/esp32/include/mbedtls/mbedtls/include/mbedtls/entropy.h \ + C:\Users\32244\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5/tools/sdk/esp32/include/mbedtls/mbedtls/include/mbedtls/sha512.h \ + C:\Users\32244\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5/tools/sdk/esp32/include/mbedtls/port/include/sha512_alt.h \ + C:\Users\32244\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5/tools/sdk/esp32/include/hal/include/hal/sha_types.h \ + C:\Users\32244\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5/tools/sdk/esp32/include/esp_rom/include/esp32/rom/sha.h \ + C:\Users\32244\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5/tools/sdk/esp32/include/mbedtls/mbedtls/include/mbedtls/ctr_drbg.h \ + C:\Users\32244\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5/tools/sdk/esp32/include/mbedtls/mbedtls/include/mbedtls/aes.h \ + C:\Users\32244\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5/tools/sdk/esp32/include/mbedtls/port/include/aes_alt.h \ + C:\Users\32244\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5/tools/sdk/esp32/include/mbedtls/port/include/aes/esp_aes.h \ + C:\Users\32244\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5/tools/sdk/esp32/include/hal/include/hal/aes_types.h \ + C:\Users\32244\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5/tools/sdk/esp32/include/mbedtls/mbedtls/include/mbedtls/error.h diff --git a/build/sketch/httpslei.cpp.o b/build/sketch/httpslei.cpp.o index d53c11cf452b4c943c68fb356748936cf65e2a0c..b28a0824a03575bbac0f2a1e5c79799f5c1ce330 100644 GIT binary patch literal 180400 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

Z^8A^7cG=?76&8X)2! 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Ð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 diff --git a/build/sketch/httpslei.h b/build/sketch/httpslei.h index 266a618..0eacc79 100644 --- a/build/sketch/httpslei.h +++ b/build/sketch/httpslei.h @@ -9,4 +9,5 @@ void readStaus(void *p); void httpsOtaStart(void); void httpsOtaTurnOn(void); void otaSuccess(void); +int checkNewOTA(const String version); #endif \ No newline at end of file diff --git a/httpslei.cpp b/httpslei.cpp index 973a201..f5b2459 100644 --- a/httpslei.cpp +++ b/httpslei.cpp @@ -2,6 +2,8 @@ #include #include "httpslei.h" #include +#include +#include /* * - ESP_OK: OTA data updated, next reboot will use specified partition. * - ESP_FAIL: For generic failure. @@ -12,6 +14,7 @@ * - For other return codes, refer OTA documentation in esp-idf's app_update component. */ static const char *url = "https://www.lshserver.com:9006/test/esp32-v1.bin"; //state url of your firmware image +String urls = "https://www.lshserver.com:9006/test/"; static const char *server_certificate =\ "-----BEGIN CERTIFICATE-----\n\ MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh\n\ @@ -85,14 +88,50 @@ void readStaus(void *p){ delay(1000); } } +/** + * @brief 检查版本文件是否存在 + * + * @param version 版本号,例如"v1",最终合成的文件名是 esp32-v1.bin + * @return int 返回https的状态码 + */ +int checkNewOTA(const String version){ + WiFiClientSecure *client = new WiFiClientSecure; + int httpCode = 0; + if(client) { + client -> setCACert(server_certificate); + { + // Add a scoping block for HTTPClient https to make sure it is destroyed before WiFiClientSecure *client is + HTTPClient https; + Serial.print("[HTTPS_CHECK] begin "+urls+"esp32-"+version+".bin"+"\n"); + if (https.begin(*client,urls+"esp32-"+version+".bin")) { // HTTPS + Serial.print("[HTTPS_CHECK] GET...\n"); + // start connection and send HTTP header + httpCode = https.GET(); + // httpCode will be negative on error + if (httpCode > 0) { + // HTTP header has been send and Server response header has been handled + Serial.printf("[HTTPS_CHECK] GET... code: %d\n", httpCode); + // file found at server + if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) { + Serial.println("file is ok"); + } + } else { + Serial.printf("[HTTPS_CHECK] GET... failed, error: %s\n", https.errorToString(httpCode).c_str()); + } + https.end(); + } else { + Serial.printf("[HTTPS_CHECK] Unable to connect\n"); + } + // End extra scoping block + } + delete client; + } else { + Serial.println("Unable to create client"); + } + return httpCode; +} void httpsOtaStart(){ - HttpsOTA.begin(url,server_certificate);//开始升级 - xTaskCreate(readStaus,"readStaus", 2048,NULL,2, NULL);//状态回调 -} -void httpsOtaTurnOn(){ HttpsOTA.onHttpEvent(HttpEvent); //启用https 调试信息 -} -/* -第一步:在setup中调用 httpsOtaTurnOn() -第二步:在需要升级的时候调用 httpsOtaStart(); -*/ \ No newline at end of file + HttpsOTA.begin(url,server_certificate);//开始升级 + xTaskCreate(readStaus,"readStaus",2048,NULL,2, NULL);//状态回调 +} \ No newline at end of file diff --git a/httpslei.h b/httpslei.h index 03fdb98..e39ae88 100644 --- a/httpslei.h +++ b/httpslei.h @@ -1,11 +1,10 @@ #ifndef _HTTPSLEI_H__ #define _HTTPSLEI_H__ -#include "esp_http_client.h" -#include "esp_https_ota.h" -#include "HttpsOTAUpdate.h" -void HttpEvent(HttpEvent_t*event); -void readStaus(void *p); -void httpsOtaStart(void); -void httpsOtaTurnOn(void); -void otaSuccess(void); + #include "esp_http_client.h" + #include "esp_https_ota.h" + #include "HttpsOTAUpdate.h" + void HttpEvent(HttpEvent_t*event); + void readStaus(void *p); + void httpsOtaStart(void); + int checkNewOTA(const String version); #endif \ No newline at end of file