🌐 IoT Markaziy Boshqaruv Paneli

Qurilma ID: ESP32_LAB_01

Status: ○ Offline

Oxirgi faollik: 11:23:16


🌡 22.30°C
💧 34.00%

🔌 Ulanish Sxemasi

ESP32 va sensorlarni quyidagi tartibda ulang:

  • DHT11: VCC (3.3V), GND (GND), Signal (GPIO 4)
  • Servo: Red (5V), Brown (GND), Orange (GPIO 18)
  • LED: Uzun oyoq (GPIO 2), Qisqa (GND)
  • RGB LED: R (GPIO 13), G (GPIO 12), B (GPIO 14), Common (GND)

💻 ESP32 Kod (Arduino)

// ESP32 uchun to'liq kod
#include <WiFi.h>
#include <HTTPClient.h>
#include <ArduinoJson.h>
#include <DHT.h>
#include <ESP32Servo.h>

const char* ssid = "WIFI_NOMI";
const char* pass = "PAROL";
// O'z ID-ingizni bering:
const char* deviceID = "ESP32_LAB_01"; 
const char* server = "http://projects.begdulla.uz/IoT/index.php";

DHT dht(4, DHT11);
Servo srv;

void setup() {
  Serial.begin(115200);
  WiFi.begin(ssid, pass);
  dht.begin();
  srv.attach(18);
  pinMode(2, OUTPUT);
  pinMode(13, OUTPUT); pinMode(12, OUTPUT); pinMode(14, OUTPUT);
}

void loop() {
  if(WiFi.status() == WL_CONNECTED) {
    HTTPClient http;
    String url = String(server) + "?api=1&device_id=" + deviceID + 
                 "&temp=" + dht.readTemperature() + "&hum=" + dht.readHumidity();
    http.begin(url);
    if(http.GET() > 0) {
      StaticJsonDocument<200> doc;
      deserializeJson(doc, http.getString());
      digitalWrite(2, doc["led"]);
      srv.write(doc["servo"]);
      analogWrite(13, doc["r"]);
      analogWrite(12, doc["g"]);
      analogWrite(14, doc["b"]);
    }
    http.end();
  }
  delay(3000);
}