Я получил ошибку при загрузке своего кода в nodemcu esp82366, и я не мог понять, что это за ошибка.
В первый раз, когда я загрузил код, возникает точная ошибка.
Во второй раз, когда я загрузил код, который является кодом ниже, он успешен (я немного изменил код, который является объявлениемпожарной опасности и формула).
Затем я загружаю точный код (обновленный, который я добавил "indexVal" в операторе if и та же ошибка происходит в той же части.
Можете ли выпомочь мне решить мою проблему?
Кстати извините за мой английский.
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))