Wpis z mikrobloga

Próbuję zminimalizować czas połączenia się do wifi w moim projekcie czujnika esp8266 na baterii.
Jak do tej pory z pomocą OpenAI ChatGPT udało mi się napisać kod który zapisuje i odczytuje numer kanału ale bssid mam wpisany na sztywno. Samo Wifi.begin(ssid,password) trwa około 5sekund a czasem i 10sekund. Kod który wklejam poniżej z moimi danymi sieci redukuje ten czas do 2-3 sekund. Mógłby ktoś rzucić okiem i podpowiedzieć co zrobić aby tak samo jak numer kanału zapisywać i odczytywać bssid?

#esp8266 #arduino #esp

#include
#include

#define ssid "xxxx"
#define password "xxxx"
byte bssid[6] = {0x98, 0xDE, 0xD0, 0xF2, 0x9D, 0x6C}; // Adres MAC routera

void setup() {
Serial.begin(115200);
delay(10);
EEPROM.begin(64);
int channel = EEPROM.read(0);

WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password, channel, bssid, true );

int counter = 0;
while (WiFi.status() != WL_CONNECTED) {
delay(100);
Serial.println(".");
counter++;

if (counter >= 50) {
Serial.println("");
Serial.println("Polaczenie z WiFi1 nie powiodlo sie. Probuje polaczyc sie z WiFi2");
WiFi.begin(ssid, password);
counter = 0;
break;
}
if (WiFi.status() == WL_CONNECTED) {
break;
}
}

while (WiFi.status() != WL_CONNECTED) {
delay(100);
Serial.println(".");
counter++;

if (counter >= 50) {
Serial.println("");
Serial.println("Polaczenie z WiFi2 nie powiodlo sie. Resetowanie urzadzenia...");
delay(5000);
ESP.restart();
}
if (WiFi.status() == WL_CONNECTED) {
break;
}
}

delay(1);
Serial.println("");
Serial.println("Połączenie nawiązane");
Serial.println(millis());

int currentChannel = WiFi.channel();
if (currentChannel != channel) {
EEPROM.write(0, currentChannel);
Serial.println("Zapisano kanał w RTC");
}
EEPROM.commit();
delay(10000);
ESP.restart();
}

void loop() {
// no loop
}
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@dktr: Nie chcę predefiniować kanału i bssid. U mnie te dane mają być odczytywane z połączenia i zapisywane do RTC żeby przy następnym polączeniu sobie samemu odczytał.
A statyczne IP to będzie następny etap upgrade'u
  • Odpowiedz