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;
 }