将代码上传到nodemcu esp82366时出现错误,我无法理解错误是什么。
我第一次上传代码时,会发生确切的错误。
第二次我上传的代码是成功的代码(我对代码进行了一些修改,这是火灾危险的声明和公式)。
然后我上传确切的代码(更新后的代码是在if语句中添加了“ indexVal”,并且在同一部分出现了相同的错误。
您能帮我解决我的问题吗?
对不起,我的英语。
dht11.ino
#include "DHT.h"
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>
#include <SPI.h>
#define DHTPIN D2
#define DHTTYPE DHT11
DHT dht(DHTPIN,DHTTYPE);
float humidityData;
float temperatureData;
const char* ssid = "icecream@unifi";//
const char* password = "ilovechocolate";
char server1[] = "192.168.x.x";
WiFiServer server(80);
WiFiClient client;
void setup()
{
Serial.begin(115200);
delay(10);
dht.begin();
// 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()
{
humidityData = dht.readHumidity();
temperatureData = dht.readTemperature();
Sending_To_phpmyadmindatabase();
delay(20000); // interval
}
void Sending_To_phpmyadmindatabase() //CONNECTING WITH MYSQL
{
if (client.connect(server1, 80))
{
//Fire risk based on Angstrom Index
String stat1 = "Low";
String stat2 = "Moderate";
String stat3 = "High";
String stat4 = "Very High";
String stat5 = "Extreme";
//Formula to determine the fire risk using Angstrom Index
float indexVal = (humidityData/20) + ((27-temperatureData)/10);
Serial.println("connected");
// Make a HTTP request:
Serial.print("GET /mdff/insertsensor1.php?humidity=");
client.print("GET /mdff/insertsensor1.php?humidity="); //YOUR URL
Serial.println(humidityData);
client.print(humidityData);
client.print("&temperature=");
Serial.println("&temperature=");
client.print(temperatureData);
Serial.println(temperatureData);
//Angstrom Index
if(indexVal >= 4.0)
{
client.print("&index=");
Serial.println("&index=");
client.print(indexVal);
Serial.println(indexVal);
client.print("&status=");
Serial.println("&status=");
client.print(stat1);
Serial.println(stat1);
}
else if ((index <= 3.0) || (index >= 4.0))
{
client.print("&index=");
Serial.println("&index=");
client.print(indexVal);
Serial.println(indexVal);
client.print("&status=");
Serial.println("&status=");
client.print(stat2);
Serial.println(stat2);
}
else if ((index <= 2.5) || (index >= 3.0))
{
client.print("&index=");
Serial.println("&index=");
client.print(indexVal);
Serial.println(indexVal);
client.print("&status=");
Serial.println("&status=");
client.print(stat3);
Serial.println(stat3);
}
else if ((index <= 2.0) || (index >= 2.5))
{
client.print("&index=");
Serial.println("&index=");
client.print(indexVal);
Serial.println(indexVal);
client.print("&status=");
Serial.println("&status=");
client.print(stat4);
Serial.println(stat4);
}
else if (index <= 2.0)
{
client.print("&index=");
Serial.println("&index=");
client.print(indexVal);
Serial.println(indexVal);
client.print("&status=");
Serial.println("&status=");
client.print(stat5);
Serial.println(stat5);
}
client.print(" "); //SPACE BEFORE HTTP/1.1
client.print("HTTP/1.1");
client.println();
client.println("Host: 192.168.x.x");
client.println("Connection: close");
client.println();
}
else
{
// if you didn't get a connection to the server:
Serial.println("connection failed");
}
}
编译代码时出现错误:
exit status 1
invalid operands of types 'char*(const char*, int)' and 'double' to binary 'operator<='
此部分指出的错误:
else if ((index <= 2.5) || (index >= 3.0))
else if ((index <= 2.0) || (index >= 2.5))