Stesen pengukur suhu – kelembapan WiFi (ESP32)
PercumaINO

Stesen pengukur suhu – kelembapan WiFi (ESP32)

Buat sendiri stesen pengukur suhu dan kelembapan dengan ESP32 dan DHT22, lihat bacaan pada telefon melalui WiFi. Panduan langkah demi langkah, kod sumber percuma.

Fail muat turun

Lesen CC BY 4.0 — guna secara percuma, nyatakan sumber “OctaX.vn”. Demo versi sebenar memerlukan akaun percuma untuk memuat turun.

Mahu ubah suai mengikut keperluan anda?

Pembantu OctaX mengubah saiz, kandungan, jenama mengikut permintaan — anggaran ≈ 4 kredit.

✦ Disesuaikan dengan AI

Bahan

  • ESP32 DevKit
  • Sensor DHT22 (AM2302)
  • Perintang 10 kΩ
  • Wayar pelompat, papan roti
  • Kabel USB, bekalan kuasa 5V

Langkah-langkah

  1. Pasang Arduino IDE, tambah papan ESP32 (Espressif) dan pustaka "DHT sensor library" daripada Adafruit.
  2. Sambung DHT22: pin 1 → 3V3, pin 2 (DATA) → GPIO4 dan perintang tarik naik 10 kΩ ke 3V3, pin 4 → GND.
  3. Buka kod sumber, isikan nama WiFi dan kata laluan pada TEN_WIFI, MAT_KHAU.
  4. Muat naik kod, buka Serial Monitor (115200) untuk melihat alamat IP.
  5. Buka pelayar telefon (dalam WiFi yang sama) ke alamat IP tersebut: halaman dimuat semula secara automatik setiap 10 saat.

Kod sumber

// Trạm đo nhiệt độ – độ ẩm WiFi — OctaX.vn (CC BY 4.0)
// Bo: ESP32. DHT22 DATA → GPIO4 (kéo lên 10 kΩ về 3V3). Cần thư viện "DHT sensor library" (Adafruit).
#include 
#include 
#include 

const char* TEN_WIFI = "ten-wifi";      // ← điền tên WiFi
const char* MAT_KHAU = "mat-khau-wifi"; // ← điền mật khẩu WiFi

DHT dht(4, DHT22);
WebServer may(80);
float nhietDo = NAN, doAm = NAN;
unsigned long lanDoTruoc = 0;

// Trang web gọn: tự làm mới mỗi 10 giây
void trangChu() {
  String h = ""
             "Trạm đo"
             ""
             "

Trạm đo OctaX

"; if (isnan(nhietDo)) h += "

Chưa đọc được cảm biến — kiểm tra dây DATA và điện trở kéo lên.

"; else h += "

" + String(nhietDo, 1) + " °C

" "

" + String(doAm, 0) + " %

"; may.send(200, "text/html; charset=utf-8", h); } // Trả dữ liệu dạng JSON cho ứng dụng khác đọc (vd OctaX MiniApp) void duLieu() { may.send(200, "application/json", "{\"nhietDo\":" + String(nhietDo, 1) + ",\"doAm\":" + String(doAm, 0) + "}"); } void setup() { Serial.begin(115200); dht.begin(); WiFi.begin(TEN_WIFI, MAT_KHAU); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.print("\nMở trình duyệt vào: http://"); Serial.println(WiFi.localIP()); may.on("/", trangChu); may.on("/du-lieu", duLieu); may.begin(); } void loop() { may.handleClient(); // DHT22 chỉ nên đọc tối đa 1 lần / 2 giây if (millis() - lanDoTruoc > 2500) { lanDoTruoc = millis(); float t = dht.readTemperature(), a = dht.readHumidity(); if (!isnan(t) && !isnan(a)) { nhietDo = t; doAm = a; } } }

Templat dalam kumpulan yang sama

Rak buku kayu 3 tingkat lekap dinding
PercumaCSV

Rak buku kayu 3 tingkat lekap dinding

Bina rak buku kayu 3 tingkat lekap dinding 800×600 mm: senarai potongan papan, alatan, langkah pemasangan dan penggantungan kukuh. CSV percuma.

🛠️ DIY – Buat sendiri