//(Пере)инициализировать WiFi
void ReinitWiFi(int n)           
{
  if(n==1 && (wifiMulti.run() == WL_CONNECTED))
  {
    // всё в порядке
    Serial.print("OK");
    return;
  }

  if (n==0 && (wifiMulti.run() != WL_CONNECTED))
  {
    return;
  }
  
  lcd.clear();
  //вывод на lcd-экран (поиск точки доступа)
  lcd.setCursor(0, 0);    lcd.print(F("Search Wi-Fi AP:"));   
  lcd.setCursor(0, 1);
  
  Serial.print(F("\nSearch Wi-Fi AP: "));
  //оборвать прежнюю связь
  Serial.print(F("#"));
  lcd.print(F("#"));
  WiFi.disconnect();
  WiFi.mode(WIFI_OFF);
  delay(300);

  //попытаться войти в связь (адреса, пароли, явки заданы ранее)
  WiFi.mode(WIFI_STA);

  for(int i=0;i<wf_configs;i++)
  {
    if(wifiMulti.run() != WL_CONNECTED) 
    {
      delay(300);
      Serial.print(F("*"));
      lcd.print(F("*"));
    } else
      {
        Serial.println(F(" Connecting"));
        myIP=WiFi.localIP();
        mySSID=WiFi.SSID();
        myAP="STA"; 
     }
   }
   
  if(wifiMulti.run() != WL_CONNECTED)  //создание собственной точки доступа 
  {  
    WiFi.disconnect();
    WiFi.mode(WIFI_OFF);
    delay(500);
    WiFi.mode(WIFI_AP);
    if(WiFi.softAP(ssidAP))
    {
      myIP=WiFi.softAPIP();
    }
    else
    {
      myIP=IPAddress(0,0,0,0);
    }
    mySSID=ssidAP;
    myAP="AP";
  }
  lcd_v();
  // Перезапускаем сервер
  SERVERaREST.begin();
  //сканирование сетей (происходит уже после попытки подлкючения)
  scan();
  delay(1000);
}

//вывод на lcd-экран и в монитор порта название точки доступа, к которой удалось подключиться и ip-адреса
void lcd_v()  
{
  Serial.println();
  Serial.print("WiFi SSID:");
  Serial.println(mySSID);
  Serial.print("WiFi IP:");
  Serial.println(myIP);
  Serial.print("Mode:");
  Serial.println(myAP);
  lcd.clear();
  lcd.setCursor(0, 0); lcd.print("SSID: "); lcd.print(mySSID);
  lcd.setCursor(0, 1); lcd.print("IP: "); lcd.print(myIP);
  lcd.setCursor(0, 2); lcd.print("Mode: "); lcd.print(myAP);
  delay(3500);
}
