ติดที่ void setup

ขอสอบถามหน่อยครับ ผมเขียนโปรแกรมให้อ่านค่าจากsensorแล้วมาแสดงที่จอlcdและขึ้นBlynkด้วย แต่ผมต้องการให้ทำงานเมื่อไม่มีสัญญาญWifiด้วย พอไม่มีสัญญาณWifi โปรแกรมก็จะติดอยู่ที่ void setup ตรง blynk.beginไม่มาทำงานที่void loop อยากรู้ว่าพอจะมีวิธีแก้ไขอย่างไรครับ ขอบคุณครับ

แล้วมันขึ้นว่าอะไรเวลามันไม่ทำงาน แคปหน้า serial มาดูหน่อย

#define BLYNK_PRINT Serial
#define ONE_WIRE_BUS D3 //กำหนดขาที่จะเชื่อมต่อ  Temp Sensor

#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include<SimpleTimer.h>
#include <OneWire.h>
#include <DallasTemperature.h>

OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
LiquidCrystal_I2C lcd(0x27, 16, 2);
SimpleTimer timer;
float tempeValue = 0;

char auth[] = "Gk2Lw_BSUqB5eNTmmOMLRF-JzPCDyJhk";
char ssid[] = "1pixel";
char pass[] = "0955679717";

BLYNK_CONNECTED(){
    Blynk.syncAll();
    lcd.setCursor(15, 1); 
    lcd.print("#");  
    }

BLYNK_DISCONNECTED(){
    lcd.setCursor(15, 1); 
    lcd.print("*");  
    }

void setup(){
  Serial.begin(9600);
  Blynk.begin(auth, ssid, pass);
  lcd.begin();
  lcd.backlight();
  timer.setInterval(1000L,myTempvalue); 
}

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

void myTempvalue(){
  float tempeValue = sensors.getTempCByIndex(0);
  sensors.requestTemperatures();                                 //อ่านค่า อุณหภูมิ
  Blynk.virtualWrite(V3, tempeValue);
  Serial.print("Temp: ");
  Serial.println(tempeValue);
  lcd.setCursor(0, 0); 
  lcd.print("TEMP=");
  lcd.print(tempeValue,1);
}

ศึกษาโค้ตชุดนี้ครับ