Я создал аппаратное обеспечение с несколькими датчиками с помощью nodemcu, теперь мне нужно отправить эти данные в mysql в raspberry pi непосредственно с аппаратного обеспечения.
Я использовал следующий код для отправки данных на raspberry pi:
HTTPClient http;
String url = "http://192.168.2.110/var/www/html/insert.php?status="+String(distance)+String(movement)+String(sound);
Serial.println(url);
http.begin(url);
//GET method
int httpCode = http.GET();
if(httpCode > 0)
{
Serial.printf("[HTTP] GET...code: %d\n", httpCode);
if(httpCode == HTTP_CODE_OK)
{
String payload = http.getString();
Serial.println(payload);
}
}
else
{
Serial.printf("[HTTP] GET... failed, error: %s\n", http.errorToString(httpCode).c_str());
}
http.end();
delay(3000);
if (client.connected()){
client.stop(); // Disconnect from server
}
код для insert.php
<?php
include("connect.php");
$link=Connection();
$distance=$_POST["distance"];
$movement=$_POST["movement"];
$sound=$_POST["sound"];
$query = "INSERT INTO `home_activity` (`Sonar`, `PIR`,`Sound`)
VALUES ('".$distance."','".$movement."','".$sound"')";
mysql_query($query,$link);
mysql_close($link);
header("Location: index.php");
?>
Я не получаю никаких ошибок, но данные также не сохраняются в базе данных.
mysql_*
функции в новом коде. Они устарели с версии 5.5 (июнь 2013 г.) и удалены с версии 7.0 (декабрь 2015 г.). Видите красное поле? Узнайте о подготовленных операторах и используйте PDO или MySQL - эта статья поможет вам решить, какой из них лучше для вас. - person John Conde   schedule 04.05.2019exit;
после использованияheader()
для выполнения перенаправления, иначе выполнение сценария не будет прекращено, и вы можете получить неожиданные результаты. - person John Conde   schedule 04.05.2019mysql_error()
, чтобы получить подробное сообщение об ошибке из базы данных. - person John Conde   schedule 04.05.2019