NODEmcu 总是说连接总是失败
NODEmcu Always stating connection failed always
这是我为节点mcu编写的代码
#include <ESP8266WiFi.h>
const char* host = "*.*.*.*";
String path = "/cgi-bin/ts.py?field1=";
const char* ssid = "my_ssid";
const char* pass = "********";
int sensor = A0;
float tempc;
float svoltage;
void setup(void){
Serial.begin(115200);
Serial.println("");
WiFi.begin(ssid, pass);
// Wait for connection
while (WiFi.status() != WL_CONNECTED) {
delay(100);
Serial.print(".");
}
Serial.println("");
Serial.print("Connected to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
}
void loop() {
float xval = analogRead(sensor);
svoltage = (xval*3100.0)/1023;
tempc = svoltage/10;
Serial.println(tempc);
WiFiClient client;
const int httpPort = 8000;
if (client.connect(httpPort)) {
Serial.println("connection failed");
return;
}
client.print(String("GET ") + path + String(tempc) + " HTTP/1.1\r\n" +
"Host: " + host + "\r\n" +
"Connection: keep-alive\r\n\r\n");
delay(10000);
}
我检查了好几次语法。我在我的代码中没有看到任何错误。但它永远不会连接到网络,尽管所有其他设备都可以连接到网络。看一看,告诉我哪里出错了。
谢谢。
我认为你犯了一处逻辑错误和一处语法错误。
client.connect()
方法接受两个参数。所以应该是
client.connect(host,httpPort)
在你的情况下,当你的 nodemcu 成功连接到互联网时。您的程序显示连接失败。那是一个逻辑错误。
将 if 条件更改为
if (!client.connect(host,httpPort)) {
Serial.println("connection failed");
return;
}
这是我为节点mcu编写的代码
#include <ESP8266WiFi.h>
const char* host = "*.*.*.*";
String path = "/cgi-bin/ts.py?field1=";
const char* ssid = "my_ssid";
const char* pass = "********";
int sensor = A0;
float tempc;
float svoltage;
void setup(void){
Serial.begin(115200);
Serial.println("");
WiFi.begin(ssid, pass);
// Wait for connection
while (WiFi.status() != WL_CONNECTED) {
delay(100);
Serial.print(".");
}
Serial.println("");
Serial.print("Connected to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
}
void loop() {
float xval = analogRead(sensor);
svoltage = (xval*3100.0)/1023;
tempc = svoltage/10;
Serial.println(tempc);
WiFiClient client;
const int httpPort = 8000;
if (client.connect(httpPort)) {
Serial.println("connection failed");
return;
}
client.print(String("GET ") + path + String(tempc) + " HTTP/1.1\r\n" +
"Host: " + host + "\r\n" +
"Connection: keep-alive\r\n\r\n");
delay(10000);
}
我检查了好几次语法。我在我的代码中没有看到任何错误。但它永远不会连接到网络,尽管所有其他设备都可以连接到网络。看一看,告诉我哪里出错了。 谢谢。
我认为你犯了一处逻辑错误和一处语法错误。
client.connect()
方法接受两个参数。所以应该是
client.connect(host,httpPort)
在你的情况下,当你的 nodemcu 成功连接到互联网时。您的程序显示连接失败。那是一个逻辑错误。
将 if 条件更改为
if (!client.connect(host,httpPort)) {
Serial.println("connection failed");
return;
}