Модуль AutoConnect не транслирует SSID на ESP32 Dev Board

Это мой первый пост, поэтому я приношу свои извинения, если у меня отсутствует вся необходимая информация о моей настройке Arduino. Я немного новичок в этом типе разработки.

Ардуино 1.8.9

Модуль разработчика ESP32 на /dev/cu.SLAB_USBtoUART

Mac OSX High Sierra 10.13.

Я использую библиотеку AutoConnect by Hieromon Ikasama v1.1.3 для создания точки доступа (AP). , но SSID (имя сети) не транслируется даже при простейшем примере кода.

Почему "ESP-78e9" не отображается в моем списке сетей на моем MAC или iPhone?

⸮⸮⸮8Y8⸮
[D][WiFiGeneric.cpp:337] _eventCallback(): Event: 0 - WIFI_READY
[D][WiFiGeneric.cpp:337] _eventCallback(): Event: 14 - AP_STOP
[D][WiFiGeneric.cpp:337] _eventCallback(): Event: 2 - STA_START
[D][WiFiGeneric.cpp:337] _eventCallback(): Event: 2 - STA_START
[D][WiFiGeneric.cpp:337] _eventCallback(): Event: 2 - STA_START
[D][WiFiGeneric.cpp:337] _eventCallback(): Event: 2 - STA_START
[D][WiFiGeneric.cpp:337] _eventCallback(): Event: 2 - STA_START
[D][WiFiGeneric.cpp:337] _eventCallback(): Event: 2 - STA_START
[E][Preferences.cpp:38] begin(): nvs_open failed: NOT_FOUND
[D][WiFiGeneric.cpp:337] _eventCallback(): Event: 4 - STA_CONNECTED
[D][WiFiGeneric.cpp:337] _eventCallback(): Event: 7 - STA_GOT_IP
[D][WiFiGeneric.cpp:381] _eventCallback(): STA IP: 192.168.1.192, MASK: 255.255.255.0, GW: 192.168.1.1
WiFi connected: 192.168.1.192 on ESP-78e9

Полный пример кода ниже, написанный с помощью Arduino IDE

#include <WiFi.h>          
#include <WebServer.h>     
#include <AutoConnect.h>

WebServer         Server;          
AutoConnect       Portal(Server);
AutoConnectConfig Config;

void rootPage() {
  char content[] = "Hello, world";
  Server.send(200, "text/plain", content);
}

void setup() {

  Config.apid = "ESP-" + String((uint32_t)(ESP.getEfuseMac() >> 32), HEX);
  Config.psk = "Password1";
  Portal.config(Config);

  delay(5000);
  Serial.begin(9600);
  Serial.println();

  Server.on("/", rootPage);
  if (Portal.begin()) {
    // Serial.println("WiFi connected: " + WiFi.localIP().toString());
    Serial.println("WiFi connected: " + WiFi.localIP().toString() + " on " + Config.apid);
  }
}

void loop() {
    Portal.handleClient();
}

Я попытался выяснить, почему возникает ошибка "nvs_open failed: NOT_FOUND", поскольку это похоже на следующий шаг, но не могу найти никакой информации о том, как это исправить.

Я также пробовал это на двух платах одной и той же модели.

Есть идеи?

** Обновить ** Я изменил код, чтобы включить следующее, но по-прежнему нет точки доступа и авторизованного портала.

https://hieromon.github.io/AutoConnect/advancedusage .html#on-demand-start-the-captive-portal

Согласно приведенной выше ссылке, перед попыткой подключения к WiFi СЛЕДУЕТ запустить авторизованный портал.

  Config.autoRise = false;
  Config.immediateStart = true;

Вместо этого я получаю отладочный текст здесь:

[D][WiFiGeneric.cpp:337] _eventCallback(): Event: 0 - WIFI_READY
[D][WiFiGeneric.cpp:337] _eventCallback(): Event: 2 - STA_START
[D][WiFiGeneric.cpp:337] _eventCallback(): Event: 14 - AP_STOP
[D][WiFiGeneric.cpp:337] _eventCallback(): Event: 14 - AP_STOP
[D][WiFiGeneric.cpp:337] _eventCallback(): Event: 0 - WIFI_READY
[D][WiFiGeneric.cpp:337] _eventCallback(): Event: 14 - AP_STOP
[D][WiFiGeneric.cpp:337] _eventCallback(): Event: 14 - AP_STOP
[D][WiFiGeneric.cpp:337] _eventCallback(): Event: 14 - AP_STOP
[D][WiFiGeneric.cpp:337] _eventCallback(): Event: 14 - AP_STOP
[D][WiFiGeneric.cpp:337] _eventCallback(): Event: 14 - AP_STOP
[D][WiFiGeneric.cpp:337] _eventCallback(): Event: 2 - STA_START
[D][WiFiGeneric.cpp:337] _eventCallback(): Event: 2 - STA_START

Обновление 2

В документации может быть ошибка. Я изменил "autoRise" на true, и SSID транслировался.

  Config.autoRise = true;
  Config.immediateStart = true;

, 👍0


1 ответ


Лучший ответ:

2

Похоже, что ваш ESP32 уже успешно подключается к точке доступа в качестве STA (станции) и не запускает собственную точку доступа (AP). Возможно, вы уже ранее настроили SSID и пароль, и ESP32 успешно использует их повторно, поэтому он не запустит Captive Portal (как собственную точку доступа).

Вы должны заставить AutoConnect запустить Captive Portal или забыть предварительно запрограммированные SSID и пароль. Этого можно добиться, запустив Captive Portal по требованию, как описано на этой странице. Согласно документации, вы должны поместить в свой код следующие строки (сам я это не проверял):

Config.autoRise = true;
Config.immediateStart = true;
Portal.config(Config);
....
Portal.begin();

ПРИМЕЧАНИЕ. В документации фактически указано Config.autoRise = false, но, похоже, это не дает желаемого эффекта.

,

Спасибо @StarCat. Вы могли бы подумать, что это будет работать в соответствии с документами, но это не так. Происходит AP_STOP, а затем STA_START:/ См. **обновление** в моем посте., @Will Lovett

Вы можете попытаться временно отключить свой обычный Wi-Fi и посмотреть, открывается ли портал, когда ESP не может получить подключение к Wi-Fi самостоятельно. Что, если вы подключите свой браузер к IP-адресу, который он показывает в последовательном выводе?, @StarCat

Спасибо за советы. Похоже, autoRise = false — это ошибка, и должно быть autoRise = true. Я отмечу ваше как принятое, но это может обмануть людей в будущем., @Will Lovett

Спасибо. Я изменю это в своем ответе, но это взято из документации на сайте автора., @StarCat