BLYNK
BLYNK.IO       📲 GETTING STARTED       📗 DOCS       ❓HELP CENTER       👉 SKETCH BUILDER

Цикличная перезагрузка NodeMCU v3 при отсутствии wi-fi

Здравствуйте!
Я использую Arduino 1.8.16
NodeMCU WeMos, DS18B20 И такой скэтч:

Summary
#define BLYNK_TEMPLATE_ID ""
#define BLYNK_DEVICE_NAME "TempMonit"

#define BLYNK_FIRMWARE_VERSION        "0.1.3"

#define BLYNK_PRINT Serial
//#define BLYNK_DEBUG

#define APP_DEBUG

#define USE_NODE_MCU_BOARD
//libs
#include "BlynkEdgent.h"
#include <SimpleTimer.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
//Fonts
#include <Fonts/FreeSans18pt7b.h>
#include <Fonts/WeatherIcon.h>
//Param display
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels
#define OLED_RESET     -1 // Reset pin # (or -1 if sharing Arduino reset pin)
#define SCREEN_ADDRESS 0x3C ///< See datasheet for Address; 0x3D for 128x64, 0x3C for 128x32
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
//
SimpleTimer timer;
//Param DS18B20
#define ONE_WIRE_BUS 10
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature DS18B20(&oneWire);
//
float temp;



void getdata() // получение данных с датчика и отправка их на сервер blynk
{
 DS18B20.requestTemperatures();
 temp = DS18B20.getTempCByIndex(0);
 Blynk.virtualWrite(V1, temp);
}

void getdisplay() // вывод информации на дисплей
{
 if (temp == -127)
 {
   display.clearDisplay();
   display.setTextColor(WHITE);
   display.setCursor(35, 50);
   display.setFont(&Weathericon);
   display.setTextSize(2);
   display.write(41);
   display.setFont();
   display.display();
 } else {
   display.clearDisplay();
   display.setTextColor(WHITE);
   display.setCursor(0, 48);
   display.setFont(&Weathericon);
   display.setTextSize(2);
   display.write(39);
   display.display();
   display.setTextSize(1);
   display.setFont(&FreeSans18pt7b);
   display.setCursor(33, 41);
   display.println(temp, 1);
   display.setFont(&Weathericon);
   display.setTextSize(2);
   display.setCursor(99, 41);
   display.write(42 );
   display.setFont();
   display.display();
 }
}

void setup()
{
 Serial.begin(115200);
 delay(100);
 BlynkEdgent.begin();
 DS18B20.begin();
 delay(100);
 timer.setInterval(1000L, getdata); //старт функции сбора данных с датчика
 delay(100);
 if (!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS))
 {
   Serial.println(F("SSD1306 allocation failed"));
   for (;;);
 }
 display.display();
 delay(2000);
 display.clearDisplay();
 display.drawPixel(10, 10, SSD1306_WHITE);
 display.display();
 timer.setInterval(5000L, getdisplay); //старт функции вывода данных на дисплей
}

void loop() {
 timer.run();
 BlynkEdgent.run();
}

Если во время нормальной работы устройства выключить wifi к которому оно подключено, то имеем цикличную перезагрузку устройства а в мониторе порта следующую информацию:

Summary

>[391] 
   ___  __          __
  / _ )/ /_ _____  / /__
 / _  / / // / _ \/  '_/
/____/_/\_, /_//_/_/\_\
       /___/ v1.0.1 on ESP8266

[393] --------------------------
[396] Product:  TempMonit
[398] Firmware: 0.1.3 (build Oct 23 2021 15:21:42)
[402] Token:    ...Moa-
[405] Device:   ESP8266 @ 80MHz
[407] MAC:      48:3F:DA:02:76:E3
[410] Flash:    4096K
[412] ESP core: 3.0.2
[414] ESP SDK:  2.2.2-dev(38a443e)
[418] Boot Ver: 6
[419] Boot Mode:1
[421] FW info:  491952/1601536, MD5:0bca9d0638c7fff9381b784d98542122
[638] Free mem: 30056
[639] --------------------------
[639] INIT => CONNECTING_NET
[3447] Connecting to WiFi: Keenetic-8695
[7571] Using Dynamic IP: 192.168.1.36
[7571] CONNECTING_NET => CONNECTING_CLOUD
[8196] Current time: Sat Oct 23 08:22:43 2021
[8196] Connecting to blynk.cloud:443
[10014] Ready (ping: 12ms).
[10173] CONNECTING_CLOUD => RUNNING
[43291] RUNNING => CONNECTING_NET
[43347] Connecting to WiFi: Keenetic-8695
[73352] CONNECTING_NET => ERROR
[83921] Restarting after error.

ets Jan  8 2013,rst cause:2, boot mode:(3,6)

load 0x4010f000, len 3460, room 16 
tail 4
chksum 0xcc
load 0x3fff20b8, len 40, room 4 
tail 4
chksum 0xc9
csum 0xc9
v000781b0
~ld

>[391] 
   ___  __          __
  / _ )/ /_ _____  / /__
 / _  / / // / _ \/  '_/
/____/_/\_, /_//_/_/\_\
       /___/ v1.0.1 on ESP8266

[393] --------------------------
[396] Product:  TempMonit
[398] Firmware: 0.1.3 (build Oct 23 2021 15:21:42)
[403] Token:    ...Moa-
[405] Device:   ESP8266 @ 80MHz
[408] MAC:      48:3F:DA:02:76:E3
[411] Flash:    4096K
[413] ESP core: 3.0.2
[415] ESP SDK:  2.2.2-dev(38a443e)
[418] Boot Ver: 6
[419] Boot Mode:1
[421] FW info:  491952/1601536, MD5:0bca9d0638c7fff9381b784d98542122
[639] Free mem: 30056
[639] --------------------------
[639] INIT => CONNECTING_NET
[3447] Connecting to WiFi: Keenetic-8695
[33456] CONNECTING_NET => ERROR
[44024] Restarting after error.

ets Jan  8 2013,rst cause:2, boot mode:(3,6)

load 0x4010f000, len 3460, room 16 
tail 4
chksum 0xcc
load 0x3fff20b8, len 40, room 4 
tail 4
chksum 0xc9
csum 0xc9
v000781b0
~ld

Если wifi включить то устройство работает нормально, помогите пожалуйста это исправить!

That’s how it’s designed to work.
If you want to change this behaviour then you should read this…

Pete.