要将数据从NodeMCU保存到PHP和MySQL,你需要完成以下几个步骤:
首先,确保你的NodeMCU能够连接到互联网,并且可以通过HTTP请求发送数据。
#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>
const char* ssid = "YourSSID";
const char* password = "YourPassword";
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
Serial.println("Connected to the WiFi network");
}
void loop() {
if (WiFi.status() == WL_CONNECTED) {
HTTPClient http;
http.begin("http://yourserver.com/save_data.php");
http.addHeader("Content-Type", "application/x-www-form-urlencoded");
String payload = "value1=123&value2=456";
int httpResponseCode = http.POST(payload);
if (httpResponseCode > 0) {
Serial.print("HTTP Response code: ");
Serial.println(httpResponseCode);
} else {
Serial.print("Error code: ");
Serial.println(httpResponseCode);
}
http.end();
}
delay(5000); // Send data every 5 seconds
}
在你的服务器上创建一个PHP文件(例如save_data.php
),用于接收数据并保存到MySQL数据库。
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$value1 = $_POST['value1'];
$value2 = $_POST['value2'];
$sql = "INSERT INTO your_table (column1, column2) VALUES ('$value1', '$value2')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
通过以上步骤,你应该能够成功地将数据从NodeMCU传输到PHP并保存到MySQL数据库中。
“中小企业”在线学堂
云+社区技术沙龙[第20期]
第四期Techo TVP开发者峰会
serverless days
DB TALK 技术分享会
DBTalk技术分享会
DBTalk
领取专属 10元无门槛券
手把手带您无忧上云