ESP8266 NodeMCU WiFiClient client errors



我想使用ESP8266 NodeMCU从DHT11发送数据到URL。我使用的板"NodeMCU 1.0 (ESP-12E Module)"。

我的代码如下:
#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
这里有人能帮我解决这个问题吗?

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

最新更新