Есть ESP8266 NODEMCU
заливаю такой скетч
все нормально работает.
Как только изменяю код для возможности прошивки по воздуху
возникают проблемы с подключением к BLYNK. В консоли постоянно сыпятся сообщения что нет подключения. При этом прошивать по воздуху можно. Что я делаю не так?
заливаю такой скетч
Код:
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS D3
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
BlynkTimer timer;
char auth[] = "***************"; //ваш токен при регистрации в BLYNK
char ssid[] = "*****"; // ваш логин, название домашней сети wifi
char pass[] = "******"; // ваш пароль домашней сети wifi
void setup()
{
Serial.begin(115200);
Blynk.begin(auth, ssid, pass);
sensors.begin();
sensor.setResolution(12);
timer.setInterval(6000L, sendTemps); // установка времени в милисекундах
}
void sendTemps()
{
sensors.requestTemperatures();
float temp = sensors.getTempCByIndex(0);
Serial.println(temp);
Blynk.virtualWrite(V1, temp);
}
void loop()
{
Blynk.run();
timer.run();
}
Как только изменяю код для возможности прошивки по воздуху
Код:
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <ESP8266mDNS.h>
#include <WiFiUdp.h>
#include <ArduinoOTA.h>
#include <BlynkSimpleEsp8266.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS D3
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
BlynkTimer timer;
const char* auth = "***"; //ваш токен при регистрации в BLYNK
const char* ssid = "***";
const char* password = "***";
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
Serial.begin(115200);
Serial.println("Booting");
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
while (WiFi.waitForConnectResult() != WL_CONNECTED) {
Serial.println("Connection Failed! Rebooting...");
delay(5000);
ESP.restart();
}
// Hostname defaults to esp8266-[ChipID]
ArduinoOTA.setHostname("myesp8266");
ArduinoOTA.onStart([]() {
Serial.println("Start updating ");
});
ArduinoOTA.onEnd([]() {
Serial.println("\nEnd");
});
ArduinoOTA.onProgress([](unsigned int progress, unsigned int total) {
Serial.printf("Progress: %u%%\r", (progress / (total / 100)));
});
ArduinoOTA.onError([](ota_error_t error) {
Serial.printf("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();
Serial.println("Ready");
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
Blynk.begin(auth, ssid, password);
sensors.begin();
sensors.setResolution(11);
timer.setInterval(6000, sendTemps); // установка времени в милисекундах
}
void sendTemps()
{
sensors.requestTemperatures();
float temp = sensors.getTempCByIndex(0);
Serial.println(temp);
Blynk.virtualWrite(V1, temp);
}
void loop() {
ArduinoOTA.handle();
Blynk.run();
timer.run();
}