【问题标题】:ESP8266 NodeMCU WiFiClient client errorsESP8266 NodeMCU WiFiClient 客户端错误
【发布时间】:2023-02-15 19:00:40
【问题描述】:

我想使用 ESP8266 NodeMCU 将数据从 DHT11 发送到 URL。我使用开发板“NodeMCU 1.0(ESP-12E 模块)”。

我的代码如下:

#include <dht.h> 
#include <ESP8266WiFi.h> 
#include <WiFiClient.h> 
#include <ESP8266WebServer.h> 
#include <ESP8266mDNS.h> 
#include <SPI.h> 
#include <MFRC522.h>
 
dht DHT; 
#define DHTPIN 2
 
float humidityData; 
float temperatureData;
 
const char* ssid = "My_SSID"; 
const char* password = "Wifi_Password";
 
//WiFiClient client; 
char server[] = "192.168.1.1"; 
WiFiClient client;
     
void setup() 
{ 
 Serial.begin(115200); 
  delay(10); 
  // Connect to WiFi network 
  Serial.println(); 
  Serial.println(); 
  Serial.print("Connecting to "); 
  Serial.println(ssid); 
  WiFi.begin(ssid, password); 
  while (WiFi.status() != WL_CONNECTED) { 
    delay(500); 
    Serial.print("."); 
  } 
  Serial.println(""); 
  Serial.println("WiFi connected"); 
  // Start the server 
  //  server.begin(); 
  Serial.println("Server started"); 
  Serial.print(WiFi.localIP()); 
  delay(1000); 
  Serial.println("connecting..."); 
} 
void loop() 
{  
  int chk = DHT.read11(DHTPIN); 
  humidityData = DHT.temperature; 
  temperatureData = DHT.humidity;  
  Sending_To_phpmyadmindatabase();  
  delay(30000); // interval 
 } 
 void Sending_To_phpmyadmindatabase() //CONNECTING WITH MYSQL 
 { 
   if (client.connect(server, 80)) { 
    Serial.println("connected"); 
    // Make a HTTP request: 
    Serial.print("GET localhost/project_folder/dht.php?humidity="); 
    client.print("GET localhost/project_folder/dht.php?humidity="); 
    Serial.println(humidityData); 
    client.print(humidityData); 
    client.print("&temperature="); 
    Serial.println("&temperature="); 
    client.print(temperatureData); 
    Serial.println(temperatureData); 
    client.print(" "); //SPACE BEFORE HTTP/1.1 
    client.print("HTTP/1.1"); 
    client.println(); 
    client.println("Host: Your Local IP"); 
    client.println("Connection: close"); 
    client.println(); 
  } else { 
    // if connection to the server failed: 
    Serial.println("connection to the server failed"); 
  } 
 }

当它正常工作时(运行时间的 1/3),我收到以下串行消息:

Connecting to Omni_777318 
........... 
WiFi connected 
Server started 
192.168.39.178connecting... 
connected 
GET localhost/michael/dht11.php?humidity=26.00 
&temperature= 
40.00

但! 2/3 的时间,我得到一个我不明白的奇怪错误:

tail 4 
chksum 0xc9 
csum 0xc9 
v00044840 
~ld 
Connecting to Omni_777318 
..... 
 ets Jan  8 2013,rst cause:4, boot mode:(3,7) 
wdt reset 
load 0x4010f000, len 3460, room 16  
tail 4 
chksum 0xcc 
load 0x3fff20b8, len 40, room 4  
tail 4 
chksum 0xc9 
csum 0xc9 
v00044840 
~ld

这里有人可以帮我解决这个问题吗?

【问题讨论】:

    标签: c++ arduino esp8266 arduino-esp8266 esp8266wifi


    【解决方案1】:

    原因 4 是硬件看门狗复位,在这种情况下我怀疑是电源问题。 在连接阶段,我们观察到电流峰值,如果电源太弱,ESP 重新启动,因为电压低于限制。在这种情况下,您必须更换电源,或者在电源端子上放置一个几百微法的电容器,并尽可能靠近 ESP。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-03-08
      • 2020-02-10
      • 1970-01-01
      • 1970-01-01
      • 2021-07-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多