Implement OTA updating
This commit is contained in:
		
							parent
							
								
									bf39499cdb
								
							
						
					
					
						commit
						b6c04fad6b
					
				| 
						 | 
					@ -25,5 +25,5 @@ framework = arduino
 | 
				
			||||||
lib_deps = tzapu/WiFiManager@^0.16.0
 | 
					lib_deps = tzapu/WiFiManager@^0.16.0
 | 
				
			||||||
upload_speed = 115200
 | 
					upload_speed = 115200
 | 
				
			||||||
monitor_speed = 115200
 | 
					monitor_speed = 115200
 | 
				
			||||||
upload_port = COM5
 | 
					;upload_protocol = espota
 | 
				
			||||||
monitor_port = COM5
 | 
					;upload_port = 192.168.2.238
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										28
									
								
								src/main.cpp
									
									
									
									
									
								
							
							
						
						
									
										28
									
								
								src/main.cpp
									
									
									
									
									
								
							| 
						 | 
					@ -2,6 +2,7 @@
 | 
				
			||||||
#include <ESP8266WiFi.h>
 | 
					#include <ESP8266WiFi.h>
 | 
				
			||||||
#include <WiFiUdp.h>
 | 
					#include <WiFiUdp.h>
 | 
				
			||||||
#include <stdlib.h>
 | 
					#include <stdlib.h>
 | 
				
			||||||
 | 
					#include <ArduinoOTA.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <DNSServer.h>
 | 
					#include <DNSServer.h>
 | 
				
			||||||
#include <ESP8266WebServer.h>
 | 
					#include <ESP8266WebServer.h>
 | 
				
			||||||
| 
						 | 
					@ -16,7 +17,8 @@
 | 
				
			||||||
// Commands sent to target ID 0 (zero) will be executed by ALL targets
 | 
					// Commands sent to target ID 0 (zero) will be executed by ALL targets
 | 
				
			||||||
#define TARGET_ID_FIXED 1
 | 
					#define TARGET_ID_FIXED 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// If a 4-position dip switch is present and tied to 4 GPIO pins, set ID_SWITCHED to true and put the pin numbers in the ID_BIT_? settings
 | 
					// If a 4-position dip switch is present and tied to 4 GPIO pins,
 | 
				
			||||||
 | 
					// set ID_SWITCHED to true and put the pin numbers in the ID_BIT_? settings
 | 
				
			||||||
#define ID_SWITCHED true
 | 
					#define ID_SWITCHED true
 | 
				
			||||||
#define ID_BIT_0 16
 | 
					#define ID_BIT_0 16
 | 
				
			||||||
#define ID_BIT_1 14
 | 
					#define ID_BIT_1 14
 | 
				
			||||||
| 
						 | 
					@ -153,6 +155,26 @@ void setup() {
 | 
				
			||||||
   timer0_write(ESP.getCycleCount() + 1000);
 | 
					   timer0_write(ESP.getCycleCount() + 1000);
 | 
				
			||||||
   interrupts();
 | 
					   interrupts();
 | 
				
			||||||
   wifiManager.autoConnect("JaJLEDController");
 | 
					   wifiManager.autoConnect("JaJLEDController");
 | 
				
			||||||
 | 
					   ArduinoOTA.onStart([]() {
 | 
				
			||||||
 | 
					      String type;
 | 
				
			||||||
 | 
					      if ( ArduinoOTA.getCommand() == U_FLASH )
 | 
				
			||||||
 | 
					        type = "sketch";
 | 
				
			||||||
 | 
					      else // U_SPIFFS
 | 
				
			||||||
 | 
					        type = "filesystem";
 | 
				
			||||||
 | 
					      Serial.println("Start OTA updating " + type);
 | 
				
			||||||
 | 
					   });
 | 
				
			||||||
 | 
					   ArduinoOTA.onEnd([]() {
 | 
				
			||||||
 | 
					      Serial.println("\nOTA Update Completed");
 | 
				
			||||||
 | 
					   });
 | 
				
			||||||
 | 
					   ArduinoOTA.onError([](ota_error_t error) {
 | 
				
			||||||
 | 
					      Serial.printf("OTA Update Error[%u]: ", error);
 | 
				
			||||||
 | 
					      if (error == OTA_AUTH_ERROR) Serial.println("Auth Failed");
 | 
				
			||||||
 | 
					      else if (error == OTA_BEGIN_ERROR) Serial.println("Begin Failed");
 | 
				
			||||||
 | 
					      else if (error == OTA_CONNECT_ERROR) Serial.println("Connect Failed");
 | 
				
			||||||
 | 
					      else if (error == OTA_RECEIVE_ERROR) Serial.println("Receive Failed");
 | 
				
			||||||
 | 
					      else if (error == OTA_END_ERROR) Serial.println("End Failed");
 | 
				
			||||||
 | 
					   });
 | 
				
			||||||
 | 
					   ArduinoOTA.begin();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   // Show our ID!
 | 
					   // Show our ID!
 | 
				
			||||||
   Serial.println();
 | 
					   Serial.println();
 | 
				
			||||||
| 
						 | 
					@ -215,7 +237,7 @@ bool processMessage() {
 | 
				
			||||||
   if ( DEBUG ) Serial.println("Got UDP packet!");
 | 
					   if ( DEBUG ) Serial.println("Got UDP packet!");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   // Clear out the global autoColors[] array
 | 
					   // Clear out the global autoColors[] array
 | 
				
			||||||
   memset(autoColors, 0, sizeof(autoColors));
 | 
					   memset((void *)&autoColors, 0, sizeof(autoColors));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   // If we get a CMD_SETLEVELS then disable autoMode, set the new static values and ramp to that color
 | 
					   // If we get a CMD_SETLEVELS then disable autoMode, set the new static values and ramp to that color
 | 
				
			||||||
   if ( command == CMD_SETLEVELS ) {
 | 
					   if ( command == CMD_SETLEVELS ) {
 | 
				
			||||||
| 
						 | 
					@ -466,7 +488,7 @@ void loop() {
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      nextDIPSample = nowMillis + 10000; // Sample the DIP switches every 10 seconds
 | 
					      nextDIPSample = nowMillis + 10000; // Sample the DIP switches every 10 seconds
 | 
				
			||||||
   }
 | 
					   }
 | 
				
			||||||
 | 
					   ArduinoOTA.handle();
 | 
				
			||||||
   yield();
 | 
					   yield();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user