• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Вопрос ESP8266 не подключается к AP в примере WiFiClient

DeGlucker

New member
Код из примера к библиотеке ESP8266WiFi Arduino IDE:

Код:
const char* ssid   = "TEST_AP";
const char* password    = "1234567890";

const char* host = "data.sparkfun.com";

void setup() {

  uint8_t wlstat;

  Serial.begin(115200);
  delay(10);

  // We start by connecting to a WiFi network

  Serial.println();
  Serial.print("Connecting to ");
  Serial.println(ssid);
 
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
   
  do {
    wlstat = WiFi.status();
    Serial.print(wlstat);
    delay(500);
  } while (wlstat != WL_CONNECTED);

  Serial.println();
  Serial.print("WiFi connected, ");
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());
}
wlstat всегда равен 6 (WL_DISCONNECTED)
пример с WiFiMulti подключается нормально.
В чем может быть проблема ?
 

CodeNameHawk

Moderator
Команда форума
Сравните сами с оригиналом.
Если не видно, смотрите в сторону
int stat = WiFi.status();
 

DeGlucker

New member
Поменял, ничего не изменилось, 6 оно и в Африке 6, хоть byte, хоть int.
Может кто-нибудь проверит этот код у себя ?
У меня:
ESP8266-12
SdkVersion 1.5.3(aec24ac9)
CoreVersion 2_3_0

Вариант с WiFiMulti работает:
Код:
#include <ESP8266WiFi.h>
#include <ESP8266WiFiMulti.h>

В setup()

  WiFi.config(ClientIP, Gate, Subnet);
  ...

При подключении к AP:

boolean ConnectToWiFi(int TryCnt) {

  WiFiMulti.addAP(cw.APname, cw.APpass);
  WiFi.mode(WIFI_STA);

  for (int i=0; i<TryCnt; i++) {
    if (WiFiMulti.run() == WL_CONNECTED) {
      Serial.println("");
      Serial.print("WiFi connected to  ");
      Serial.println(WiFi.localIP());
      return true;
    }
...

После передачи данных:

  WiFi.mode(WIFI_OFF);
 

DeGlucker

New member
Разобрался.
Надо было или включить в роутере DHCP, или перед
WiFi.begin(ssid, password);
прописать
WiFi.config(ip, gate, subnet);
Почему-то ни в одном примере об зтом не сказано.
 
Сверху Снизу