这是我为节点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);
}
我已经多次检查过语法了。我的代码中没有发现任何错误。但它永远不会连接到网络,尽管所有其他设备都可以连接到网络。看看,告诉我哪里出错了。 谢谢。
答案 0 :(得分:0)
我认为你犯了一个逻辑错误和一个语法错误。
npm
方法接受两个参数。那应该是
在您的情况下client.connect()
以及当您的nodemcu已成功连接到互联网时。你的程序说Connection失败了。这是一个逻辑错误。
将if条件更改为
client.connect(host,httpPort)