|
|
- #include <ESP8266WiFi.h>
- #include <ESP8266mDNS.h>
- #include <WiFiUdp.h>
- #include <ArduinoOTA.h>
-
- const char* ssid = "...";
- const char* password = "...";
- const char* host = "OTA-LEDS";
-
- int led_pin = 13;
- #define N_DIMMERS 3
- int dimmer_pin[] = {14, 5, 15};
-
- void setup() {
- Serial.begin(115200);
-
- /* switch on led */
- pinMode(led_pin, OUTPUT);
- digitalWrite(led_pin, LOW);
-
- Serial.println("Booting");
- WiFi.mode(WIFI_STA);
-
- WiFi.begin(ssid, password);
-
- while (WiFi.waitForConnectResult() != WL_CONNECTED){
- WiFi.begin(ssid, password);
- Serial.println("Retrying connection...");
- }
- /* switch off led */
- digitalWrite(led_pin, HIGH);
-
- /* configure dimmers, and OTA server events */
- analogWriteRange(1000);
- analogWrite(led_pin,990);
-
- for (int i=0; i<N_DIMMERS; i++)
- {
- pinMode(dimmer_pin[i], OUTPUT);
- analogWrite(dimmer_pin[i],50);
- }
-
- ArduinoOTA.setHostname(host);
- ArduinoOTA.onStart([]() { // switch off all the PWMs during upgrade
- for(int i=0; i<N_DIMMERS;i++)
- analogWrite(dimmer_pin[i], 0);
- analogWrite(led_pin,0);
- });
-
- ArduinoOTA.onEnd([]() { // do a fancy thing with our board led at end
- for (int i=0;i<30;i++)
- {
- analogWrite(led_pin,(i*100) % 1001);
- delay(50);
- }
- });
-
- ArduinoOTA.onError([](ota_error_t error) { ESP.restart(); });
-
- /* setup the OTA server */
- ArduinoOTA.begin();
- Serial.println("Ready");
-
- }
-
- void loop() {
- ArduinoOTA.handle();
- }
|