Нужно добавить показания датчиков в базу данных
ESP32 отправляет показания на php который в свою очередь отправляет их в базу данных, но выводит ошибку HTTP Response code: 500
код для ESP32
#include <WiFi.h>
#include <HTTPClient.h>
#include "DHT.h"
-----
const char* ssid = "******";
const char* password = "******";
const char* serverName = "*********";
String apiKeyValue = "tPmAT5Ab3j7F9";
------
void loop() {
if (WiFi.status() == WL_CONNECTED) {
HTTPClient http;
http.begin(serverName);
http.addHeader("Content-Type", "application/x-www-form-urlencoded");
float humidity = dht.readHumidity();
float temperature = dht.readTemperature();
// Чтение влажности из влажностного датчика
int moistureValue = analogRead(MOISTUREPIN);
// Формирование строки запроса с реальными значениями датчиков
String httpRequestData = "api_key=" + apiKeyValue + "&value1=" + String(temperature) + "&value2=" + String(humidity) + "&value3=" + String(moistureValue) + "";
Serial.print("httpRequestData: ");
Serial.println(httpRequestData);
int httpResponseCode = http.POST(httpRequestData);
if (httpResponseCode > 0) {
Serial.print("HTTP Response code: ");
Serial.println(httpResponseCode);
} else {
Serial.print("Error code: ");
Serial.println(httpResponseCode);
}
http.end();
}
}
PHP файл
<?php
$servername = "localhost";
$dbname = "***********";
$username = "***************";
$password = "***********";
$api_key_value = "tPmAT5Ab3j7F9";
$api_key = $value1 = $value2 = $value3 = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$api_key = test_input($_POST["api_key"]);
if($api_key == $api_key_value) {
$value1 = test_input($_POST["value1"]);
$value2 = test_input($_POST["value2"]);
$value3 = test_input($_POST["value3"]);
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO Sensor (value1, value2, value3)
VALUES ('" . $value1 . "', '" . $value2 . "', '" . $value3 . "')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
}
else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
}
else {
echo "Wrong API Key provided.";
}
}
else {
echo "No data posted with HTTP POST.";
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
Заранее спасибо