NODEmcu总是说明连接失败

时间:2017-07-21 03:04:29

标签: iot nodemcu

这是我为节点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);

}

我已经多次检查过语法了。我的代码中没有发现任何错误。但它永远不会连接到网络,尽管所有其他设备都可以连接到网络。看看,告诉我哪里出错了。 谢谢。

1 个答案:

答案 0 :(得分:0)

我认为你犯了一个逻辑错误和一个语法错误。 npm方法接受两个参数。那应该是 在您的情况下client.connect()以及当您的nodemcu已成功连接到互联网时。你的程序说Connection失败了。这是一个逻辑错误。 将if条件更改为

client.connect(host,httpPort)