โดยเราจะใช้ภาษาPHPในการรับข้อมูลข้อมูลเเละส่งเข้า Database ครับ
โดยผมจะยกตัวอย่างกับโปรเจคที่เคยทำนะครับ
ขั้นเเรกผมจะใช้PHPในการเชื่อมต่อกับฐานข้อมูลเพื่อเก็บค่าที่รับมาจากArduinoครับ
โค้ด: เลือกทั้งหมด
<?php
$temp = $_GET['temp'];
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "tutor";
// Create connection
$conn = new mysqli($servername, $username,$password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$val = $_GET['temp'];
$sql = "INSERT INTO esp8266(temp) VALUES ($val);";
if ($conn->query($sql) === TRUE) {
echo "save OK";
} else {
echo "Error:" . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
ทีนี้จะมาในส่วนของArduinoกันนะครับ
เมื่อทำการเชื่อมต่อWifiให้Arduinoเเล้วโค้ดข้างล่างจะเป็นการใช้ฟังก์ชั่นใน HTTPClient ในการส่งข้อมูลโดยจะใช้ methol Get ของphpในการฝากข้อมูลไปกับ Url
เเละใช้PHPในการรับข้อมูลและบันทึกลงในDatabase
โค้ด: เลือกทั้งหมด
HTTPClient http;
float f_data = Com.parseFloat();
if (Com.read() == '\n')
{
delay(1000);
Serial.println(f_data);
}
String url = "http://172.20.10.6/nodemcu/esp8266mysql/add.php?temp="+String(f_data);
Serial.println(url);
http.begin(url); //HTTP
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();
}