1

我有一个 ESP8266,它可以很好地连接到 wifi(可以在移动热点上看到它),但它本身并没有注册它(因为它不会继续代码)

有时它可以注册它,有时它不会。

我找不到任何解决方案。

一些代码是丹麦语(主要是注释)

#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);
  }
}
4

1 回答 1

0

最可能的解决方法是将热点从我的手机更改为电脑。

我的手机很可能没有给它一个IP地址......

于 2020-11-17T10:47:01.290 回答