Модуль 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;
@Will Lovett, 👍0
1 ответ
Лучший ответ:
Похоже, что ваш 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, но, похоже, это не дает желаемого эффекта.
- esp32, platformio A fatal error occurred: Packet content transfer stopped (received 8 bytes) *** [upload] Error 2
- Как выбрать альтернативные контакты I2C на ESP32?
- Драйверы для чипа последовательного порта CH9102X
- Как преобразовать форматированный оператор print в строковую переменную?
- ESP32 - "Детектор Браунаута был активирован" при запуске Wi-Fi
- Питание esp32cam от аккумулятора
- Контакты RX и TX на esp32
- ESP32: отключить детектор отключения питания
Спасибо @StarCat. Вы могли бы подумать, что это будет работать в соответствии с документами, но это не так. Происходит AP_STOP, а затем STA_START:/ См. **обновление** в моем посте., @Will Lovett
Вы можете попытаться временно отключить свой обычный Wi-Fi и посмотреть, открывается ли портал, когда ESP не может получить подключение к Wi-Fi самостоятельно. Что, если вы подключите свой браузер к IP-адресу, который он показывает в последовательном выводе?, @StarCat
Спасибо за советы. Похоже, autoRise = false — это ошибка, и должно быть autoRise = true. Я отмечу ваше как принятое, но это может обмануть людей в будущем., @Will Lovett
Спасибо. Я изменю это в своем ответе, но это взято из документации на сайте автора., @StarCat