LIVE ● ข้อมูลล่าสุด (5m) v3.0.0

แผนบูรณาการองค์ความรู้สู่รายวิชา
เทศบาลเมืองตาก — ระบบ IoT & AI คุณภาพอากาศ

ข้อมูลจริงจากเซ็นเซอร์ทุก 10 นาที · UNESCO GNLC 2025 · SDG 3 · 4 · 11 · 13

อัปเดตล่าสุด: 17:08:13 · 13 June 2026
4
สถานี
ตรวจวัด
12
รายวิชา
บูรณาการ
287
ข้อมูล
24h
10+
พารามิเตอร์
24/7
▼ 0.2
เทียบ
เมื่อวาน
ภาพรวมระบบ — System Architecture

เครือข่ายตรวจวัดคุณภาพอากาศ เทศบาลเมืองตาก

ระบบ IoT 4 สถานี ส่งข้อมูลทุก 10 นาที ผ่าน WiFi → Cloud Server → Dashboard สาธารณะ

📡
ESP32 + Sensors
PMS7003 · BME688 · SCD30
📶
WiFi / JSON
HTTPS POST ทุก 10 นาที
🗄️
PHP + MariaDB
tb1.ac.th Server
📊
Web Dashboard
Real-time + Historical
🤖
AI Tutor
Ollama + Qwen 2.5
สถานีตรวจวัด
โรงเรียน เทศบาล 1 กิตติขจร
TH-TAK-TB1-001 · อัปเดต 17:03
PM2.5: 5.3 µg/m³ · AQI: 29 (ดีมาก)
Temp: 31.6°C · Humidity: 64% · Heat Index: 37.4°C 🟠 เตือนภัย
CO₂: 457 ppm · PM10: 0.0 µg/m³
สถานะ: 🟢 Online · WHO: เกิน 0.4×
โรงเรียนเทศบาล 2 วัดดอนมูลชัย
TH-TAK-TB2-001 · อัปเดต 17:03
PM2.5: 2.5 µg/m³ · AQI: 14 (ดีมาก)
Temp: 30.3°C · Humidity: 74% · Heat Index: 37.0°C 🟠 เตือนภัย
CO₂: 414 ppm · PM10: 0.0 µg/m³
สถานะ: 🟢 Online · WHO: เกิน 0.2×
โรงเรียนเทศบาล 3 วัดชัยชนะสงคราม
TH-TAK-TB3-001 · อัปเดต 12:31
PM2.5: 9.2 µg/m³ · AQI: 51 (ดี)
Temp: 33.3°C · Humidity: 64% · Heat Index: 41.8°C 🔴 อันตราย
CO₂: 429 ppm · PM10: 8.0 µg/m³
สถานะ: 🟢 Online · WHO: เกิน 0.6×
โรงเรียนเทศบาล 4 รัตนวิทยานุสรณ์
TH-TAK-TB4-001 · อัปเดต 17:03
PM2.5: 2.5 µg/m³ · AQI: 14 (ดีมาก)
Temp: 29.6°C · Humidity: 75% · Heat Index: 35.2°C 🟠 เตือนภัย
CO₂: 437 ppm · PM10: 0.0 µg/m³
สถานะ: 🟢 Online · WHO: เกิน 0.2×
🤔 คำถามกระตุ้นความคิด — เปรียบเทียบ 2 สถานี
ข้อ 1: โรงเรียน เทศบาล 1 กิตติขจร = 5.3 µg/m³ vs โรงเรียนเทศบาล 2 วัดดอนมูลชัย = 2.5 µg/m³ — ผลต่าง 2.8 µg/m³ ทำไมจึงต่างกัน?
ข้อ 2: ระยะห่างระหว่าง 2 สถานีประมาณ 2.68 km → Gradient = 1.03 µg/m³/km
● LIVE ข้อมูลจริงจากเซ็นเซอร์

ค่าล่าสุดจาก เซ็นเซอร์จริง — ใช้ในบทเรียนทุกวิชา

ข้อมูลอัปเดตทุก 60 วินาที — ทุกตัวเลขในหน้านี้มาจากเซ็นเซอร์ที่โรงเรียนจริง

🌫️
5.3µg/m³
PM2.5
AQI 29 · ดีมาก
🌡️
31.6°C
อุณหภูมิ
BME688
💧
64%RH
ความชื้นสัมพัทธ์
Relative Humidity
🫁
457ppm
CO₂
✅ ดีมาก
☁️
0.0µg/m³
PM10
ฝุ่นหยาบ ≤10 µm
🥵
37.4°C
Heat Index
🟠 เตือนภัย
📊 เปรียบเทียบ PM2.5 วันนี้ vs เมื่อวาน
วันนี้: 5.6 µg/m³ · เมื่อวาน: 5.8 µg/m³ · ▼ 0.2 µg/m³ (-3%)
📊

สถิติ 24 ชั่วโมงล่าสุด ● ข้อมูลจริง PM2.5 จาก โรงเรียน เทศบาล 1 กิตติขจร · 287 รายการ

5.50
µg/m³
ค่าเฉลี่ย (x̄)
5.29
µg/m³
มัธยฐาน (Median)
0.55
µg/m³
SD (σ)
7.6
µg/m³
สูงสุด (Max)
4.8
µg/m³
ต่ำสุด (Min)
-0.234
r (PM2.5 vs Temp)
แนวโน้ม PM2.5 — 24 ชั่วโมงล่าสุด (ข้อมูลจริง)
PM2.5 เฉลี่ยรายชั่วโมง — Diurnal Pattern
🌿 ดีที่สุด 09:00 น. — 5.2 µg/m³
🔴 แย่ที่สุด 02:00 น. — 6.3 µg/m³
CO₂ เฉลี่ยรายชั่วโมง — การระบายอากาศ
ค่าเฉลี่ย 24h: 492 ppm ✅ ระบายอากาศดี
PM2.5 เฉลี่ยรายวัน — 7 วันย้อนหลัง
คณิตศาสตร์ · วิทยาศาสตร์

สูตรคำนวณ AQI พร้อมตัวอย่างจากข้อมูลจริง

ระบบคำนวณ AQI 3 มาตรฐาน — ค่าล่าสุด PM2.5 = 5.3 µg/m³

0–50
ดีมาก
51–100
ดี
101–150
กลุ่มเสี่ยง
151–200
มีผลต่อสุขภาพ
201–500
อันตราย
1

US EPA AQI — มาตรฐานสหรัฐอเมริกา PM2.5 = 5.3 µg/m³ → AQI = 29 (ดีมาก)

📐 สูตร US EPA AQI — Linear Interpolation
\[AQI = \frac{I_{Hi} - I_{Lo}}{BP_{Hi} - BP_{Lo}} \times (C_p - BP_{Lo}) + I_{Lo}\]
📖 คำอธิบายตัวแปร — ค่าตัวอย่างจากข้อมูลจริง PM2.5 = 5.5 µg/m³
สัญลักษณ์ ชื่อ คำอธิบาย หน่วย ค่าจริง
\(C_p\) Concentration ค่า PM2.5 จากเซ็นเซอร์ (ค่าเฉลี่ย 24h) µg/m³ 5.5
\(BP_{Lo}\) Breakpoint Low ขอบล่างของช่วงที่ \(C_p\) ตกอยู่ µg/m³ 0
\(BP_{Hi}\) Breakpoint High ขอบบนของช่วงที่ \(C_p\) ตกอยู่ µg/m³ 9
\(I_{Lo}\) Index Low ค่า AQI ที่ตรงกับ \(BP_{Lo}\) 0
\(I_{Hi}\) Index High ค่า AQI ที่ตรงกับ \(BP_{Hi}\) 50
\(AQI\) Air Quality Index ผลลัพธ์ 0–500 31
แบบฝึกหัด — คำนวณ AQI (PM2.5 ล่าสุด = 5.3 µg/m³)
1
หาช่วง Breakpoint: \(C_p = 5.3\) → ช่วง 0 – 9
2
ค่าจากตาราง: \(BP_{Lo}=0,\ BP_{Hi}=9,\ I_{Lo}=0,\ I_{Hi}=50\)
3
แทนค่า: \[AQI = \frac{50 - 0}{9 - 0} \times (5.3 - 0) + 0\]
= 29
4
ผล: AQI = 29 ดีมาก → 🌿 อากาศดีมาก

📋 ตาราง Breakpoint PM2.5 — US EPA (2024)

Category BPLo BPHi ILo IHi สี
Good 0.0 9.0 0 50
Moderate 9.1 35.4 51 100
Unhealthy for Sensitive 35.5 55.4 101 150
Unhealthy 55.5 125.4 151 200
Very Unhealthy 125.5 225.4 201 300
Hazardous 225.5 325.4 301 500
📚 อ้างอิง: US EPA AirNow · EPA-454/B-18-007 (2024)
2

Thai PCD AQI — กรมควบคุมมลพิษ AQI Thai = 9 · เกณฑ์ต่างจาก EPA

📐 สูตรเดียวกับ EPA แต่ Breakpoint ต่างกัน
\[AQI_{Thai} = \frac{I_{Hi} - I_{Lo}}{BP_{Hi} - BP_{Lo}} \times (C_p - BP_{Lo}) + I_{Lo}\]
เกณฑ์ไทยผ่อนปรนกว่า EPA เล็กน้อย — WHO เข้มงวดที่สุด (15 µg/m³)
🤔 เปรียบเทียบ 3 มาตรฐาน — PM2.5 = 5.3 µg/m³
US EPA: AQI = 29 (ดีมาก)
Thai PCD: AQI = 9
WHO 2021: เกินเกณฑ์ 0.35 เท่า (เกณฑ์ = 15 µg/m³)
บทเรียน: ค่าเท่ากัน แต่ "ระดับ" ต่างตามมาตรฐาน — นักเรียนต้องรู้ว่าดูมาตรฐานไหน
คณิตศาสตร์ ม.1–6 · Data Analytics

สถิติจาก ข้อมูล 24 ชั่วโมงจริง

ข้อมูล PM2.5 จำนวน 287 รายการ จากสถานี โรงเรียน เทศบาล 1 กิตติขจร

📐 สูตรที่ 1 — ค่าเฉลี่ยเลขคณิต (Arithmetic Mean)
\[\bar{x} = \frac{\sum_{i=1}^{n} x_i}{n}\]
✏️ ผลจากข้อมูลจริง 24h (n = 287)
\[\bar{x} = 5.50\;\mu g/m^3\] → ค่าเฉลี่ย 24h สอดคล้องกับ AQI EPA = 31 (ดีมาก)
📐 สูตรที่ 2 — ส่วนเบี่ยงเบนมาตรฐาน (Standard Deviation)
\[s = \sqrt{\frac{\sum_{i=1}^{n}(x_i - \bar{x})^2}{n-1}}\]
✏️ ผลจากข้อมูลจริง
\[s = 0.55\;\mu g/m^3\] → SD = 0.55 µg/m³ — ค่า PM2.5 ผันผวน ±0.55 จากค่าเฉลี่ย
→ ช่วง 1σ: 5.0–6.1 µg/m³ (ครอบคลุม ~68% ของข้อมูล)
📐 สูตรที่ 3 — เปอร์เซ็นไทล์ & IQR (v3.0 ใหม่)
\[Q_1 = P_{25}, \qquad Q_3 = P_{75}, \qquad IQR = Q_3 - Q_1\] \[\text{ค่าผิดปกติ (Outlier)}: x < Q_1 - 1.5 \times IQR \quad \text{หรือ} \quad x> Q_3 + 1.5 \times IQR\]
✏️ Percentile จากข้อมูลจริง 24h
\(Q_1 = 5.09,\quad Q_3 = 5.84,\quad IQR = 0.75\)
→ ขอบเขตค่าผิดปกติ: ต่ำกว่า 4.0 หรือสูงกว่า 7.0 µg/m³
→ Median = 5.29 vs Mean = 5.50 — ข้อมูลค่อนข้างสมมาตร
📐 สูตรที่ 4 — Z-score ตรวจจับค่าผิดปกติ (v3.0 ใหม่)
\[z = \frac{x - \bar{x}}{s}\]
|z| > 2 = ค่าผิดปกติ, |z| > 3 = ค่าสุดขีด — ใช้ตรวจจับเหตุการณ์ผิดปกติ เช่น ไฟไหม้ การเผา
✏️ Z-score ค่าปัจจุบัน (PM2.5 = 5.3 µg/m³)
\[z = \frac{5.3 - 5.50}{0.55} = -0.44\] → ค่าปกติ — อยู่ในช่วง ±2σ (95% ของข้อมูล)
📐 สูตรที่ 5 — สัมประสิทธิ์สหสัมพันธ์ Pearson (r)
\[r = \frac{n\sum x_i y_i - (\sum x_i)(\sum y_i)}{\sqrt{[n\sum x_i^2-(\sum x_i)^2][n\sum y_i^2-(\sum y_i)^2]}}\]
🤔 ตีความผล r = -0.234 (PM2.5 กับ Temperature)
ความสัมพันธ์ต่ำ — ค่า r ≈ 0 หมายถึงตัวแปรทั้งสองไม่ค่อยสัมพันธ์กัน
เกณฑ์ตีความ: |r| > 0.7 = สูง, |r| 0.3–0.7 = ปานกลาง, |r| < 0.3=ต่ำ
Advanced Math · วิทยาการคำนวณ ม.4–6

Kalman Filter — กรองสัญญาณรบกวนจากเซ็นเซอร์

PM2.5 จาก PMS7003 มี noise สูง — Kalman Filter ช่วยกรองให้นิ่งขึ้น ใช้จริงบน ESP32

📐 Kalman Filter 1D — Predict
\[\hat{x}_{k|k-1} = \hat{x}_{k-1|k-1} \qquad P_{k|k-1} = P_{k-1|k-1} + Q\]
📐 Kalman Filter 1D — Update
\[K_k = \frac{P_{k|k-1}}{P_{k|k-1} + R}\] \[\hat{x}_{k|k} = \hat{x}_{k|k-1} + K_k \cdot (z_k - \hat{x}_{k|k-1})\] \[P_{k|k} = (1 - K_k) \cdot P_{k|k-1}\]
📖 คำอธิบายตัวแปร Kalman Filter — ค่าจริงในระบบ
สัญลักษณ์ ชื่อ (EN) คำอธิบาย ค่าในระบบ
\(z_k\) Measurement ค่าดิบจากเซ็นเซอร์ PMS7003 ณ เวลา k 5.3
\(K_k\) Kalman Gain "เชื่อใคร?" K→1 เชื่อเซ็นเซอร์, K→0 เชื่อค่าทำนาย 0.5025
\(Q\) Process Noise "ค่าจริงเปลี่ยนเร็วแค่ไหน" Q สูง = กรองเบา 0.01
\(R\) Measurement Noise "เซ็นเซอร์คลาดเคลื่อนแค่ไหน" R สูง = ไม่เชื่อเซ็นเซอร์ 1.0
\(\hat{x}_{k|k}\) Updated Estimate ผลลัพธ์สุดท้าย — ค่ากรองแล้ว
✏️ แบบฝึกหัด: คำนวณ Kalman Filter จากค่าจริง
กำหนด: \(\hat{x}_0=5.5,\ P_0=1,\ Q=0.01,\ R=1.0\) · ค่าจากเซ็นเซอร์: \(z_1=5.3\) µg/m³

1
Predict: \(\hat{x}_{1|0}=5.5\), \(P_{1|0}=1+0.01=1.01\)
2
Kalman Gain: \[K_1 = \frac{1.01}{1.01+1.0} = 0.5025\]
3
Update: \[\hat{x}_{1|1} = 5.5 + 0.5025 \times (5.3-5.5)\]
= 5.38
เซ็นเซอร์บอก 5.3 µg/m³ แต่ Kalman กรองเป็น 5.38 µg/m³
// C++ จริงบน ESP32 — Kalman Filter class KalmanFilter { float x_est, P_est, Q, R; public: KalmanFilter(float q, float r, float x0=0) : Q(q), R(r), x_est(x0), P_est(1) {} float update(float z) { float P_pred = P_est + Q; // Predict float K = P_pred/(P_pred+R); // Gain x_est += K * (z - x_est); // Update P_est = (1-K) * P_pred; // Covariance return x_est; } }; // ค่าจริงในระบบ KalmanFilter pm25Filter(0.01, 1.0, 5.5); float filtered = pm25Filter.update(5.3); // → 5.38 µg/m³
กลุ่มสาระวิทยาศาสตร์ ม.1–6

บทเรียน วิทยาศาสตร์ — หลักการทำงานของเซ็นเซอร์

PMS7003
Plantower — Laser Scattering
วัดค่า: PM1.0 · PM2.5 · PM10
ช่วงวัด: 0–500 µg/m³
Interface: UART 9600 bps
ค่าล่าสุด: 5.3 µg/m³
BME688
Bosch — MEMS 4-in-1 Gas Sensor
วัดค่า: Temp · Humidity · Pressure · Gas
Interface: I2C 0x77
ล่าสุด: 31.6°C / 64%
SCD30
Sensirion — NDIR CO₂
วัดค่า: CO₂ · Temp · Humidity
ช่วงวัด: 400–10,000 ppm · ±30 ppm
ล่าสุด: 457 ppm
🔬 Mie Scattering (PMS7003)
\[I \propto \frac{d^6}{\lambda^4}\]
I = ความเข้มแสงกระเจิง · d = เส้นผ่านศูนย์กลาง · λ = ความยาวคลื่น Laser (~650 nm)
🔬 Beer-Lambert Law (SCD30 NDIR)
\[A = \varepsilon \cdot c \cdot l\]
A = Absorbance · ε = สัมประสิทธิ์ดูดกลืน · c = ความเข้มข้น CO₂ · l = ระยะทางแสง
🥵

Heat Index — ดัชนีความร้อน (v3.0 ใหม่) วัดจาก BME688 จริง → อุณหภูมิที่ "รู้สึก" จริงเมื่อรวมความชื้น

📐 Rothfusz Regression (NOAA/NWS)
\[HI = c_1 + c_2 T + c_3 R + c_4 TR + c_5 T^2 + c_6 R^2 + c_7 T^2 R + c_8 T R^2 + c_9 T^2 R^2\]
T = อุณหภูมิ (°F) · R = ความชื้นสัมพัทธ์ (%) · c₁…c₉ = สัมประสิทธิ์ Rothfusz
✏️ Heat Index จากข้อมูลจริง
Temp: 31.6°C · RH: 64%
Heat Index = 37.4°C 🟠 เตือนภัย
→ ต่างจากอุณหภูมิจริง 5.8°C — ความชื้นสูงทำให้ร้อนกว่าที่เห็น!
ระดับ Heat Index (°C) อาการ คำแนะนำ
🟢 ปลอดภัย < 27 ปกติ ทำกิจกรรมได้ตามปกติ
🟡 ระวัง 27–32 อ่อนเพลีย ถ้าออกกำลังนาน ดื่มน้ำบ่อย พักเป็นช่วง
🟠 เตือนภัย 32–41 ตะคริว เพลียแดด ลดกิจกรรม ย้ายเข้าร่ม
🔴 อันตราย 41–54 ลมแดด งดกิจกรรม เข้าอาคาร
🟣 อันตรายมาก > 54 อันตรายถึงชีวิต อยู่ในอาคารเท่านั้น
📚 อ้างอิง: Rothfusz, L.P. 1990. NWS Technical Attachment SR 90-23
กลุ่มสาระคณิตศาสตร์ ม.1–6

บทเรียน คณิตศาสตร์ จากข้อมูลจริง

ทุกโจทย์ใช้ข้อมูลจากเซ็นเซอร์จริง — ไม่ใช่ตัวเลขสมมุติ

1

สมการเชิงเส้นจากสูตร AQI (ม.2–3)เปลี่ยนสูตร AQI ให้อยู่ในรูป y = mx + b

📐 AQI ในรูปสมการเชิงเส้น
\[y = mx + b \qquad m = \frac{I_{Hi}-I_{Lo}}{BP_{Hi}-BP_{Lo}} \qquad b = I_{Lo} - m \cdot BP_{Lo}\]
✏️ ช่วง BP 0–9
\[m = \frac{50-0}{9-0} = 5.556, \qquad b = 0 - 5.556 \times 0 = 0.0\]
AQI = 5.556 × PM2.5 + 0.0
แทนค่าเฉลี่ย 24h (5.5 µg/m³): AQI ≈ 31
2

Haversine Formula — ระยะห่าง 2 สถานี (ม.4–6)ใช้พิกัด GPS จริงคำนวณระยะทางบนผิวโลก

📐 Haversine Formula
\[d = 2R \arcsin\sqrt{\sin^2\!\left(\frac{\Delta\phi}{2}\right) + \cos\phi_1 \cos\phi_2 \sin^2\!\left(\frac{\Delta\lambda}{2}\right)}\]
📖 ตัวแปร Haversine — พิกัดจริงของ 2 สถานี
สัญลักษณ์ ชื่อ ค่าจริง
\(R\) รัศมีโลก 6,371 km
\(\phi_1\) ละติจูด TB1 กิตติขจร 16.8839°N
\(\phi_2\) ละติจูด TB2 วัดดอนมูลชัย 16.9046°N
\(d\) ระยะทาง ≈ 2.68 km
✏️ ความแตกต่าง PM2.5 ระหว่าง 2 สถานี
TB1 = 5.3 µg/m³ · TB2 = 2.5 µg/m³
ผลต่าง = 2.8 µg/m³ ÷ 2.68 km = Gradient 1.03 µg/m³/km
3

ร้อยละและอัตราส่วน — WHO Ratio (ม.1–2)เปรียบเทียบค่าจริงกับเกณฑ์มาตรฐาน

📐 อัตราส่วนเทียบเกณฑ์ WHO
\[\text{WHO Ratio} = \frac{PM2.5_{\text{actual}}}{PM2.5_{\text{WHO}}} = \frac{5.3}{15} = 0.35\] \[\text{เกินเกณฑ์} = (0.35 - 1) \times 100\% = -65\%\]
🤔 ค่าจริงวันนี้เกินเกณฑ์ WHO กี่เปอร์เซ็นต์?
PM2.5 วันนี้: 5.3 µg/m³
เกณฑ์ WHO 2021: 15 µg/m³ (ค่าเฉลี่ย 24h)
→ เกินเกณฑ์ 0%
วิทยาการคำนวณ ม.1–6

บทเรียน Coding & IoT — โค้ดจริงจากระบบ

C

ESP32 — อ่าน PM2.5 จาก PMS7003C++ · Bit Manipulation · UART Protocol

// โค้ดจริงจากระบบ v5.5.2 — อ่าน PM2.5 #include <HardwareSerial.h> HardwareSerial pms(2); // Serial2 void setup() { Serial.begin(115200); pms.begin(9600, SERIAL_8N1, 25, 26); } void loop() { if (pms.available() >= 32) { uint8_t buf[32]; pms.readBytes(buf, 32); if (buf[0]==0x42 && buf[1]==0x4D) { int pm25 = (buf[12] << 8) | buf[13]; Serial.printf("PM2.5=%d µg/m³\n", pm25); // ค่าจริง: 5 µg/m³ } } delay(1000); }
📖 คำอธิบายคำสั่งสำคัญ
คำสั่ง ชื่อ คำอธิบาย
0x42, 0x4D Header Bytes สัญญาณเริ่มต้น packet ของ PMS7003 (ASCII "BM")
<< 8 Bit Shift Left เลื่อนบิตซ้าย 8 ตำแหน่ง = คูณ 256 รวม High+Low byte
buf[12], buf[13] Data Position ตำแหน่ง byte 12-13 = ค่า PM2.5 atmospheric ใน packet 32 bytes
🐍

Python — วิเคราะห์ข้อมูลเซ็นเซอร์pandas · matplotlib · scipy · ข้อมูลจาก API จริง

# ดึงข้อมูลจาก API จริงของโรงเรียน import pandas as pd import requests, matplotlib.pyplot as plt url = "https://tb1.ac.th/integration_lessons.php?api=chart" r = requests.get(url) df = pd.DataFrame(r.json()) df['reading_time'] = pd.to_datetime(df['reading_time']) df['pm25'] = pd.to_numeric(df['pm2_5_compensated']) # สถิติ print(f"Mean: {df['pm25'].mean():.2f}") # → 5.50 print(f"SD: {df['pm25'].std():.2f}") # → 0.55 print(f"r: {df['pm25'].corr(df['temperature']):.3f}") # → -0.234 # Z-score anomaly detection (v3.0 ใหม่) df['z_score'] = (df['pm25'] - df['pm25'].mean()) / df['pm25'].std() anomalies = df[df['z_score'].abs() > 2] print(f"Anomalies: {len(anomalies)}") # วาดกราฟ fig, ax = plt.subplots(figsize=(10, 4)) ax.plot(df['reading_time'], df['pm25'], color='#3B82F6') ax.axhline(y=37.5, color='red', ls='--', label='Thai PCD') ax.axhline(y=15, color='green', ls='--', label='WHO') plt.tight_layout(); plt.show()
กลุ่มสาระสังคมศึกษาฯ ม.1–6

บทเรียน สังคมศึกษา — SDGs, สิ่งแวดล้อม & ธรรมาภิบาล

3 สุขภาพดี
4 การศึกษา
11 เมืองยั่งยืน
13 ภูมิอากาศ
17 ความร่วมมือ

SDG 3 + 13 — สุขภาพ & สิ่งแวดล้อม

ข้อเท็จจริง: WHO: มลพิษอากาศทำให้เสียชีวิตก่อนวัย 7 ล้านคน/ปี
ข้อมูลวันนี้: PM2.5 เฉลี่ย = 5.5 µg/m³
จ.ตาก: ฤดูหมอกควัน (ม.ค.–เม.ย.) PM2.5 เกินเกณฑ์บ่อย

SDG 11 — เมืองยั่งยืน & ธรรมาภิบาล

บทบาทเทศบาล: ตาม พ.ร.บ.สิ่งแวดล้อมแห่งชาติ
ระบบของเรา: เทศบาลเมืองตากใช้ข้อมูลจากเซ็นเซอร์ตัดสินใจนโยบาย
UNESCO GNLC 2025: เทศบาลเมืองตากได้รับการรับรอง
📝 กิจกรรม — สำรวจและเสนอแนะ
ม.1-3: สำรวจพฤติกรรมการเผาในชุมชน เขียนรายงานอ้างอิงข้อมูล PM2.5 จาก Dashboard
ม.4-6: จัดทำ "ข้อเสนอแนะเชิงนโยบาย" เสนอต่อเทศบาลเมืองตาก วิเคราะห์จากข้อมูลเซ็นเซอร์ 2 สถานี
สุขศึกษาและพลศึกษา

บทเรียน สุขภาพ — โปรโตคอลโรงเรียนจากข้อมูลจริง

🏫

School Protocol — แนวปฏิบัติตาม AQI AQI วันนี้: 29 (ดีมาก)

AQI ระดับ พลศึกษา กลางแจ้ง การป้องกัน
0–50 ⬅️ 🟢 ดีมาก ทุกกิจกรรม ✅ อนุญาต ไม่จำเป็น
51–100 🟡 ดี ลดความหนัก ⚠️ ≤ 30 นาที กลุ่มเสี่ยงใส่หน้ากาก
101–150 🟠 กลุ่มเสี่ยง กิจกรรมเบา ❌ งด ทุกคน N95
151–200 🔴 มีผลฯ ย้ายเข้าอาคาร ❌ ห้าม เครื่องฟอกอากาศ
201–500 🟣 อันตราย ❌ งด ❌ ปิดหน้าต่าง พิจารณาหยุดเรียน
💚 สถานการณ์วันนี้ — คุณภาพอากาศ
AQI ตอนนี้: 29 — ดีมาก · PM2.5 = 5.3 µg/m³
คำแนะนำ: ✅ ทำกิจกรรมกลางแจ้งได้ตามปกติ
🥵 สถานการณ์วันนี้ — ดัชนีความร้อน
Heat Index: 37.4°C 🟠 เตือนภัย
คำแนะนำ: 🟠 ลดกิจกรรมกลางแจ้ง เสี่ยงเพลียแดด/ตะคริว
AI Tutoring Systems

ระบบ AI Tutor เสริมการเรียนรู้

Ollama + Qwen 2.5 — สอนคณิตศาสตร์แบบ 1:1 ด้วยข้อมูลจริงจาก Dashboard

🤖

ตัวอย่างบทสนทนา — PM2.5 วันนี้ = 5.3 µg/m³

🤖 AI Tutor
สวัสดี! วันนี้ค่า PM2.5 อยู่ที่ 5.3 µg/m³ ลองดูว่าอยู่ในช่วง Breakpoint ไหนก่อนนะ 🎯
👨‍🎓 นักเรียน
อยู่ในช่วง 0–9 µg/m³ ครับ!
🤖 AI Tutor
ถูกต้อง! 🎉 +10 XP · ลองแทนค่าดูครับ 💪 \[AQI = \frac{50-0}{9-0} \times (5.3 - 0) + 0\]

🎮 Gamification

XP: ตอบถูก +10, Combo +15, จบบท +50
Levels: 🌱 ฝึกหัด → ⭐ นักคิด → 🔥 นักแก้โจทย์ → 💎 อัจฉริยะ
Leaderboard: จัดอันดับในห้อง/ระดับชั้น

📚 เทคนิคการสอน

Socratic Method: ถามนำ ไม่เฉลยทันที
Adaptive: ตอบถูกมาก → ยากขึ้นอัตโนมัติ
RAG: สอนจากเนื้อหาที่ครูเตรียมไว้