ESP8266 подключается к wifi, но не регистрирует его

#arduino #esp8266 #arduino-esp8266 #esp8266wifi

#arduino #esp8266 #arduino-esp8266 #esp8266wifi

Вопрос:

У меня есть ESP8266, который может нормально подключаться к Wi-Fi (может видеть его в мобильной точке доступа), но он сам не регистрирует его (так как в нем не продолжается код)

иногда он может зарегистрировать его, а иногда и нет.

Я не смог найти для этого никаких решений.

часть кода на датском языке (в основном просто комментарии)

 #include "ThingSpeak.h"
#include "navnkode.h"
#include <ESP8266WiFi.h>
//inkluderet biblioteker og ekstra filer for at få koden til at virke efter ønske

char ssid[] = SECRET_SSID;   
char pass[] = SECRET_PASS;   
WiFiClient client;
unsigned long kodekanal = SECRET_CODECHANNEL;
unsigned long myChannelNumber = SECRET_CH_ID;
const char * myWriteAPIKey = SECRET_WRITE_APIKEY;
const char * myReadAPIKey = SECRET_READ_APIKEY;
int kanal = 1; //her vælges den kanal inde på thingspeak som skal modtage data
int TO_SLAVE = 15;
int FROM_SLAVE = 13; 

void setup() {
  Serial.begin(115200);  // Initialize serial
  pinMode(TO_SLAVE,OUTPUT);
  WiFi.mode(WIFI_STA); 
  ThingSpeak.begin(client);  // Initialize ThingSpeak
}

void loop() {
  // Connect or reconnect to WiFi
  if (WiFi.status() != WL_CONNECTED) {
    digitalWrite(TO_SLAVE,LOW);
    Serial.print("Attempting to connect to SSID: ");
    Serial.println(SECRET_SSID);
    while (WiFi.status() != WL_CONNECTED) {
      WiFi.begin(ssid, pass);  
      Serial.print(".");
      delay(5000);     
      digitalWrite(TO_SLAVE,LOW);
    } 

    digitalWrite(TO_SLAVE,HIGH);
    Serial.println("nConnected.");
  }

  int x = ThingSpeak.writeField(myChannelNumber, kanal, 23, myWriteAPIKey); 
  if (x == 200) {
    Serial.println("kanal 1 blev opdateret uden problemer.");
  } else {
    Serial.println("Problem med at opdatere. HTTP fejl kode "   String(x));
  }

  delay(5000); // Venter 20 sekunder før den opdatere kanalen (SKAL FJERNES!)
}

void hotspot() {
  if (ThingSpeak.readIntField(myChannelNumber, kanal, myReadAPIKey) >= 1) {
    digitalWrite(TO_SLAVE,HIGH);
  } else {
    digitalWrite(TO_SLAVE,LOW);
  }
}
  

Комментарии:

1. Что произойдет, если вы сократите задержку (5000) в настройке подключения Wi-Fi до 500?

2. Это только ускорило сбой. он даже не подключался как обычно (обычно я мог видеть его в мобильной точке доступа через телефон), но он так и не появился. Попробовал на 2 разных платах (esp8266 NodeMCU v3) тот же результат

3. Хм. Будет ли он подключаться за один раз с задержкой в 10 секунд? Сработает ли это, если вы удалите весь код, кроме бита подключения Wi-Fi, плюс Serial.println(), чтобы увидеть, продолжается ли код? Просто пытаюсь изолировать проблему.

4. К сожалению, похоже, что мой телефон не указал ему IP-адрес. Не удалось отметить, так как мне нужно подождать 21 час, прежде чем я смогу принять свой ответ

Ответ №1:

Наиболее вероятным решением было изменить точку доступа с моего телефона на ПК.

Мой телефон, скорее всего, не предоставил ему IP-адрес…

Комментарии:

1. Может быть; ваш телефон, настроенный как точка доступа Wi-Fi, должен выдавать адреса.