← About
System Diagram
PSC Shuttle v2.0.0 · Flow Charts
OVERVIEW
ภาพรวมการทำงานของระบบ
📡
ESP32 + GPS
อ่านพิกัด GPS
ส่งผ่าน WiFi
HTTP POST
ทุก 3 วิ
🖥️
PHP Server
รับข้อมูล
บันทึก MySQL
JSON API
ทุก 3 วิ
📱
Web App
แสดงแผนที่
real-time
FLOW CHARTS
การทำงานของแต่ละส่วน
📡
ESP32 Program
การทำงานของ firmware
เปิดเครื่อง (Boot)
ดึง MAC Address → ตั้งชื่อ AP default
โหลด config จาก Flash
WiFi, Server URL, ชื่อ AP, Interval
มีค่า WiFi
บันทึกไว้มั้ย?
❌ ยังไม่มี
เปิด Captive Portal
ชื่อ = MAC Address
✅ มีแล้ว
เชื่อมต่อ WiFi
เริ่มอ่านสัญญาณ GPS (Neo-6M)
GPS Lock
ได้สัญญาณมั้ย?
❌ ยังไม่ได้
รอ... ไม่ส่งข้อมูล
✅ ได้แล้ว
อ่าน lat, lng
speed, heading
HTTP POST → saveLocation.php
mac, lat, lng, speed, heading, secret
กด BOOT
ค้าง 3 วิมั้ย?
✅ กด
ล้าง WiFi + config
เก็บแค่ชื่อ AP
❌ ไม่ได้กด
รอตาม Interval
🔁 วนกลับอ่าน GPS ใหม่
♻️ loop ตลอดเวลา
🖥️
PHP Server
การทำงานของ API
รับ HTTP POST จาก ESP32
Secret Key
ถูกต้องมั้ย?
❌ ผิด
Return 403
Forbidden
✅ ถูก
ตรวจข้อมูล
mac, lat, lng
MAC นี้มีใน
database มั้ย?
❌ ยังไม่มี
INSERT buses
mode = normal
✅ มีแล้ว
UPDATE lat, lng
speed, heading
บันทึก history
ล่าสุดเกิน 3 นาทีมั้ย?
❌ ยังไม่ถึง
ข้าม
ไม่บันทึก history
✅ เกินแล้ว
INSERT history
+ บันทึก mode
ลบ history เกิน 7 วัน
Return 200 · success
📱
หน้าแรก + แผนที่
การทำงานของ frontend
เปิดหน้าแรก (index.html)
เรียก getBuses.php
ดึงรายการสายรถทั้งหมด
แสดงการ์ดสายรถ
ออนไลน์/ออฟไลน์ + ระยะห่าง
กดปุ่ม
"ดูแผนที่"?
❌ ยังไม่กด
Refresh
ทุก 10 วิ
✅ กด
เปิด map.html
?mac=xxx
เรียก getHistory.php
ดึงเส้นทาง 7 วัน
mode = normal?
✅ normal
OSRM snap
เส้นทางตามถนน
🚗 free
ลากเส้นตาม
GPS จริง
Fit bounds รถ + ผู้ใช้
Polling getLocation.php
ทุก 3 วิ → อัปเดตหมุด + เส้น
♻️ loop ตลอดเวลา
⚙️
Admin Dashboard
การจัดการอุปกรณ์
เปิด admin.html
มี token
ใน localStorage?
❌ ไม่มี
แสดง Login Form
✅ มี
ข้าม Login
เข้า Dashboard
POST auth.php
username + password
Login
สำเร็จมั้ย?
❌ ผิด
แสดง error
✅ ถูก
เก็บ token
localStorage
เรียก getDevices.php
แสดงตารางอุปกรณ์
Admin กดแก้ไข
ตั้งชื่อสาย
updateDevice
สลับ mode
updateMode
ลบอุปกรณ์
deleteDevice
Refresh ข้อมูล ทุก 10 วิ
PSC Shuttle v2.0.0 · System Diagram