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

Подключение к Access Point.

jenya7

Member
На включении питания ESP8266 подключается к Access Point.
Код:
uint8_t UDP_Start(char* ssid, char* pass, uint16_t loc_port)
{
    uint32_t timeout = 0;

    if (WiFi.status() != WL_CONNECTED)
    {
        rt_parameters.wifi_mode = WIFI_STA;
        
        WiFi.mode(WIFI_STA);
        WiFi.begin(ssid, pass);

        if (sys_parameters.debug)
            Serial.println("Waiting for connection");
            
        while (WiFi.status() != WL_CONNECTED)
        {
            delay(DELAY_TICK);
            
            if (sys_parameters.debug)
                Serial.print('.');
            
            timeout++;
            if (timeout >= sys_parameters.ap_con_timeout)
            {
              if (sys_parameters.debug)
                Serial.println();
                
                return UDP_WIFI_ERR; 
            }
        }
        Serial.print("\nConnection time (ms) ");
        Serial.println(DELAY_TICK * timeout);
    }
    
    rt_parameters.wifi_status = WiFi.status();
    
    IPAddress ip_addr = WiFi.localIP();

    memcpy(sys_parameters.loc_ip, ip_addr, 4);
    
    if (sys_parameters.debug) 
    {
        Serial.print("Connected! IP address: ");
        Serial.println(ip_addr);
        Serial.printf("UDP server on port %d\n", loc_port);
    }
    
    if (udp.begin(loc_port) == 0)
        return UDP_CONNECT_ERR;

    return UDP_OK;
}
Иногда время подключения приемлимое 6-10 секунд. Иногда 30-60 секунд. Иногда выходит по таймаут с ошибками
WL_CONNECT_FAILED
WL_NO_SSID_AVAIL
Причем при WL_NO_SSID_AVAIL я делаю WiFi.scanNetworks() и вижу мой Access Point.

Я могу улучшить как то ситуацию?
 

enjoynering

Well-known member
Какой версией Arduino пользуетесь. В 3.0.2 воде был баг с неверным статусом подключения. Его исправили с текущей версии 3.0.2-dev на github.
 

jenya7

Member
Какой версией Arduino пользуетесь. В 3.0.2 воде был баг с неверным статусом подключения. Его исправили с текущей версии 3.0.2-dev на github.
а где я могу посмотреть версию? после инсталяции Arduino я добавил esp модуль но версии его не помню и где посмотреть не нашёл.
 

jenya7

Member
в Tools->Boards->esp8266 3.0.1 это оно ? нажал на Update обновился до 3.0.2. надеюсь это исправленная версия.
 
Сверху Снизу