mirror of
				https://github.com/0xFEEDC0DE64/arduino-esp32.git
				synced 2025-11-03 23:51:39 +01:00 
			
		
		
		
	* Added HTTPUpdate class for downloading sketches from a server * Added HTTPUpdate class for downloading sketches from a server * Added HTTPUpdate to CMakeLists.txt * Change ESP8266 class references to ESP32 for httpUpdate.ino example * Change ESP8266 class references to ESP32 for httpUpdate.ino example. setLedPin() commented out because not all boards support LED_BUITLIN * Added check to handle mixup of old and present api properly * Correct HTTPClient::setTimeout() to convert milliseconds to seconds. Correct WiFiClient::setTimeout() to call Stream::setTimeout() with seconds converted back to milliseconds. Remove inproper checks for _insecure. * Added small comment because it looked like the Travis build did not finish
		
			
				
	
	
		
			76 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
/**
 | 
						|
   httpUpdateSPIFFS.ino
 | 
						|
 | 
						|
    Created on: 05.12.2015
 | 
						|
 | 
						|
*/
 | 
						|
 | 
						|
#include <Arduino.h>
 | 
						|
 | 
						|
#include <WiFi.h>
 | 
						|
#include <WiFiMulti.h>
 | 
						|
 | 
						|
#include <HTTPClient.h>
 | 
						|
#include <HTTPUpdate.h>
 | 
						|
 | 
						|
WiFiMulti WiFiMulti;
 | 
						|
 | 
						|
void setup() {
 | 
						|
 | 
						|
  Serial.begin(115200);
 | 
						|
  // Serial.setDebugOutput(true);
 | 
						|
 | 
						|
  Serial.println();
 | 
						|
  Serial.println();
 | 
						|
  Serial.println();
 | 
						|
 | 
						|
  for (uint8_t t = 4; t > 0; t--) {
 | 
						|
    Serial.printf("[SETUP] WAIT %d...\n", t);
 | 
						|
    Serial.flush();
 | 
						|
    delay(1000);
 | 
						|
  }
 | 
						|
 | 
						|
  WiFi.mode(WIFI_STA);
 | 
						|
  WiFiMulti.addAP("SSID", "PASSWORD");
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
void loop() {
 | 
						|
  // wait for WiFi connection
 | 
						|
  if ((WiFiMulti.run() == WL_CONNECTED)) {
 | 
						|
 | 
						|
    Serial.println("Update SPIFFS...");
 | 
						|
 | 
						|
    WiFiClient client;
 | 
						|
 | 
						|
    // The line below is optional. It can be used to blink the LED on the board during flashing
 | 
						|
    // The LED will be on during download of one buffer of data from the network. The LED will
 | 
						|
    // be off during writing that buffer to flash
 | 
						|
    // On a good connection the LED should flash regularly. On a bad connection the LED will be
 | 
						|
    // on much longer than it will be off. Other pins than LED_BUILTIN may be used. The second
 | 
						|
    // value is used to put the LED on. If the LED is on with HIGH, that value should be passed
 | 
						|
    // httpUpdate.setLedPin(LED_BUILTIN, LOW);
 | 
						|
 | 
						|
    t_httpUpdate_return ret = httpUpdate.updateSpiffs(client, "http://server/spiffs.bin");
 | 
						|
    if (ret == HTTP_UPDATE_OK) {
 | 
						|
      Serial.println("Update sketch...");
 | 
						|
      ret = httpUpdate.update(client, "http://server/file.bin");
 | 
						|
 | 
						|
      switch (ret) {
 | 
						|
        case HTTP_UPDATE_FAILED:
 | 
						|
          Serial.printf("HTTP_UPDATE_FAILED Error (%d): %s", httpUpdate.getLastError(), httpUpdate.getLastErrorString().c_str());
 | 
						|
          break;
 | 
						|
 | 
						|
        case HTTP_UPDATE_NO_UPDATES:
 | 
						|
          Serial.println("HTTP_UPDATE_NO_UPDATES");
 | 
						|
          break;
 | 
						|
 | 
						|
        case HTTP_UPDATE_OK:
 | 
						|
          Serial.println("HTTP_UPDATE_OK");
 | 
						|
          break;
 | 
						|
      }
 | 
						|
    }
 | 
						|
  }
 | 
						|
}
 | 
						|
 |