กลับไปหน้ารวมไฟล์
data-logging-with-php-mysql-esp8266-a33ab0.md

ชื่อโปรเจกต์: การบันทึกข้อมูลด้วย PHP + MySQL + ESP8266

ผมใช้ Blynk.cc มาหลายปีแล้ว สำหรับผมแล้ว มันยังคงดีที่สุดในโลกของ IoT หลังจากนั้นไม่นาน พวกเขาก็เปลี่ยนระบบทั้งหมด อัปเกรดและได้คุณสมบัติใหม่ที่น่าสนใจ...

...และระบบการชำระเงิน

ถ้าคุณอาศัยอยู่ในประเทศตะวันออกกลาง การจ่ายเงินเป็นดอลลาร์สำหรับงานอดิเรกของคุณนั้นเป็นเรื่องยากมาก น่าเสียดายจริงๆ... 1 USD = 14TL

เรื่องราวนี้ทำให้ผมมาที่นี่ ผมใช้วิธี GET แบบง่ายๆ เพื่อเรียก Link บน ESP8266 สำหรับรับและส่ง Data

มันไม่ได้เร็วมาก (ค่อนข้างช้า) ไม่ได้ใช้ง่ายสุดๆ แต่เกือบจะฟรีในการ Log Data คุณสามารถใช้ Free Hosting Services เช่น 000webhost.com ได้ พวกเขาให้บริการ MySQL, PHP, ftp และอื่นๆ อีกมากมาย





นอกจากนี้ คุณยังสามารถควบคุม Pins, อ่าน Sensors และอื่นๆ ได้ด้วย

บอร์ด ESP ส่ง Web Request ด้วยวิธี GET หลังจาก Request สำเร็จ บอร์ดจะส่ง Request ใหม่และดึง Body Data จากไฟล์ PHP Data นั้นมาจาก MySQL

ผมกำลังอัปเดต Interface ด้วย Bootstrap 5

เพียงแค่แบ่ง Values ออกเป็นข้อมูลแยกกันด้วยฟังก์ชัน Substring หลังจาก Substring เราสามารถประมวลผลข้อมูลนี้ในเงื่อนไข if else ได้

โปรเจกต์นี้ยังคงอยู่ระหว่างการพัฒนา ผมจะเพิ่ม Features บางอย่างสำหรับผม ดังนั้นผมจึงรอความคิดเห็นของคุณ

คำบรรยายจะมาเร็วๆ นี้...

รายการที่ต้องทำ

- แปลชื่อไฟล์เป็นภาษาอังกฤษ - เสร็จสิ้น

- ปรับปรุงคุณภาพโค้ด - ยังคงดำเนินต่อไป

- mysqli_real_escape_string - เสร็จสิ้น

- เพิ่มชื่อ Device และตัวเลือก Filter Device - เสร็จสิ้น

- หมายเลขหน้า Data - ยังไม่ได้เริ่ม

- Sleep Mode - เสร็จสิ้น (อย่าลืมเชื่อมต่อ rst และ D0)

- Excel export - เสร็จสิ้น (ผมใช้โค้ด php5 และแปลงเป็น php 7 ด้วย mysqli)

- นับจำนวนครั้งที่พยายาม Log - เสร็จสิ้น

- Google Chart - เสร็จสิ้น

- Fancy Notifications - เสร็จสิ้น

- Auto Refresh - เสร็จสิ้น

- ASC / DESC Data order - เสร็จสิ้น

- กอบกู้โลก

-ทำ วิดีโอ คำแนะนำ - เสร็จสิ้น

ไฟล์ PHP - กำลังดำเนินการ...

นี่คือ espget.php ไฟล์สำหรับดึงข้อมูลจากบอร์ด

<?php

include 'db.php';



if(!empty($_GET['temp']) && !empty($_GET['hum']) && !empty($_GET['probe']) && !empty($_GET['charge']) && !empty($_GET['device']))

{

$temp = mysqli_real_escape_string($conn, $_GET['temp']);

$hum = mysqli_real_escape_string($conn, $_GET['hum']);

$probe = mysqli_real_escape_string($conn, $_GET['probe']);

$charge = mysqli_real_escape_string($conn, $_GET['charge']);

$device = mysqli_real_escape_string($conn, $_GET['device']);



\t $sql = "INSERT INTO espdata (temp, hum, probe, charge, device)

\t\t

\t\tVALUES ('".$temp."', '".$hum."', '".$probe."', '".$charge."', '".$device."')";



\t\tif ($conn->query($sql) === TRUE) {





\t\t} else {

\t\t echo "Error: " . $sql . "<br>" . $conn->error;

\t\t}

\t}



$sql = "SELECT * FROM espset WHERE id='1'";

$result = $conn->query($sql);



if ($result->num_rows > 0) {

while($row = $result->fetch_assoc()) {

echo $row["slp"];

echo $row["pin1"];

echo $row["pin2"];

echo $row["pin3"];

echo $row["interv"];

}

} else {

echo "0 results";

}



\t$conn->close();

?>

นี่คือ index.php ไฟล์สำหรับแสดง Data และควบคุมบอร์ด

<?php include "db.php";

require "logincheck.php";



if ($_SESSION["active"])

{

if (isset($_SESSION["device"]))

{

$device = $_SESSION["device"];

}

else

{

$device = 1;

}

if (isset($_SESSION["records"]))

{

$records = $_SESSION["records"];

}

else

{

$records = 20;

}

if (isset($_SESSION["ascdesc"]))

{

$ascdesc = $_SESSION["ascdesc"];

}

else

{

$ascdesc = "ASC";

}

//------------------------------------------

$sql = "SELECT * FROM espset WHERE id='1'";

$result = $conn->query($sql);



if ($result->num_rows > 0)

{

while ($row = $result->fetch_assoc())

{

$pin1Stat = $row["pin1"];

$pin2Stat = $row["pin2"];

$pin3Stat = $row["pin3"];

$pageint = $row["interv"];

if ($row["slp"] == 1)

{

$sleepStat = "Enabled";

}

else

{

$sleepStat = "Disabled";

}

}

}

else

{

echo "0 results";

ข้อมูล Frontmatter ดั้งเดิม

title: "Data Logging with PHP + MySQL + ESP8266"
description: "This is simple alternative for Blynk, Cayenne, Thingspeak etc. This is not MQTT project. Works with PHP GET method to get and send data."
author: "yilmazyurdakul"
category: ""
tags:
  - "php"
  - "iot"
  - "get"
  - "mysql"
  - "pin control"
  - "data"
  - "web control"
  - "logging"
views: 12222
likes: 2
price: 2450
difficulty: "Intermediate"
components:
  - "1x DHT11 Temperature & Humidity Sensor (3 pins)"
  - "1x NodeMCU ESP8266 Breakout Board"
  - "1x ESP8266 ESP-01"
  - "1x Adafruit Waterproof DS18B20 Digital temperature sensor"
tools: []
apps:
  - "1x Arduino IDE"
downloadableFiles: []
documentationLinks: []
passwordHash: "7f80aca5226e709b40f678f2840813aa38f8d37b50386169bf48620b6044403b"
encryptedPayload: "U2FsdGVkX19SSiFpzUTcwsyyrSiYBwBhaF5sG7MXH/7lWlyrVOpucqMHZBDPyCxqQp2vaIw3gumqYTis3tYNcMuZUK16evt/5rvzExZMEWQ="
seoDescription: "Learn Data Logging with PHP, MySQL, and ESP8266. A simple alternative to Blynk or Thingspeak using PHP GET method. No MQTT required."
videoLinks:
  - "https://www.youtube.com/embed/PwkwUIg5Lh4"
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/data-logging-with-php-mysql-esp8266-a33ab0_cover.jpg"
lang: "th"

ProjectSupporter

ผู้นำด้านการรับทำโปรเจค Arduino, IoT และ Website ครบวงจร โดยทีมวิศวกรมืออาชีพ งานคุณภาพมาตรฐาน ส่งงานไว ไม่ทิ้งงาน พร้อมสอนทุกขั้นตอน

บริการของเรา

รับทำโปรเจค Arduino รับทำโปรเจค IoT รับทำโปรเจค Raspberry Pi รับเขียนโปรแกรม รับทำเวปไซต์ รับเขียนแอพพลิเคชัน รับออกแบบวงจร วิศวะอิเล็กทรอนิกส์ ESP32 / ESP8266 Smart Home & Automation

ติดต่อเรา

Email: projectassistant.official@gmail.com

Line ID: @oqk3359x (Project Supporter)

© 2026 ProjectSupporter. สงวนลิขสิทธิ์