Piyasadaki kapalı kutu akıllı ev sistemlerine ve yüksek maliyetlere mahkum değilsiniz. SezginHome; kendi ürettiğiniz (ESP8266 / ESP32 tabanlı) akıllı ev cihazlarınızı dünyanın her yerinden sıfır gecikmeyle, güvenle ve kolayca yönetebilmeniz için geliştirilmiş profesyonel bir IoT (Nesnelerin İnterneti) platformudur.
Kendi donanımınızı yapın, gerisini SezginHome'un güçlü bulut altyapısına bırakın. 🌟
Cihazlarınızla sunucu arasındaki iletişim, endüstri standardı MQTT protokolü ile sağlanır. Dünyanın öbür ucunda olsanız bile, tuşa bastığınız an evinizdeki lamba milisaniyeler içinde tepki verir.
Sisteme sadece sizin tarafınızdan eklenen, ID numarası (Chip ID) bilinen cihazlar girebilir. Veritabanında kaydı olmayan hiçbir kaçak cihaz ağınıza sızamaz; sızmaya çalışsa bile sunucu tarafından anında engellenip kapatılır.
Elektrik gidip geldiğinde cihazlarınızın ne yapacağına siz karar verin: Kapalı kal, Açık ol veya Son Durumu hatırla.
Piyasada nadir bulunan bu özellikle, cihazlarınıza sonsuz döngüler atayabilirsiniz. Örneğin; "Havalandırma fanı 30 dakika çalışsın, 15 dakika dursun ve ben durdurana kadar bu döngü devam etsin" diyebilirsiniz.
"Evden Çıkış" senaryosu oluşturarak açık unutulan tüm ışıkları, prizleri ve ısıtıcıları aynı anda kapatın.
İstediğiniz gün ve saatte otomatik çalışma programlayın (Örn: Her gün 08:00'da kahve makinesini aç). Veya pratik geri sayım aracıyla "Kombiyi 45 dakika sonra kapat" emri verin.
Kurduğunuz sistemi aile üyelerinizle paylaşın. Onlar da kendi hesaplarıyla sisteme girip (sadece sizin izin verdiğiniz) cihazları kontrol edebilsinler.
Hangi cihaz, saat kaçta, kim tarafından tetiklenmiş? Hepsini saniye saniye log kayıtlarından takip edin.
Bağlantı koptuğunda panelinizde anında "Offline" olarak görünür. Üstelik çoklu cihazlarda (Hub) ana kart kopsa bile yavru cihazlar da anında çevrimdışı durumuna geçer.
Siz hayal edin, donanımınızı kurun; SezginHome bulutta her şeyi yönetsin.
SezginHome platformuna hoş geldiniz! Kendi donanımınızı (ESP8266 / ESP32) bulut altyapımızla birleştirerek gerçek bir akıllı ev deneyimi yaşamak için aşağıdaki adımları sırasıyla takip etmeniz yeterlidir. Üst düzey güvenlik standartlarımız gereği, sistemimize sadece onaylı kullanıcılar ve kimliği doğrulanmış cihazlar bağlanabilmektedir.
SezginHome altyapısında "1 Cihaz", fiziksel bir mikrodenetleyici demek değildir. Sistemimizde 1 cihaz; panelinizde bağımsız olarak açıp kapatabildiğiniz, senaryolara ekleyebildiğiniz ve log (işlem) kaydı tutulan her bir kontrol noktasıdır (Röle/Anahtar).
Ev otomasyonu kurarken her lamba için ayrı bir Wi-Fi kartı (ESP) kullanmak yerine, elektrik panosuna tek bir "Beyin (Hub)" koyup buna 4'lü veya 8'li röle kartları bağlayabilirsiniz. Sistemimiz bu profesyonel "Hub" mimarisini kusursuz destekler. Eğer ana beynin interneti koparsa, ona bağlı tüm alt cihazlar da panelinizde anında "Offline" görünür.
Eğer 1 adet ESP mikrodenetleyicisine 4'lü röle modülü bağlarsanız ve bu 4 röle ile Salon, Mutfak, Koridor ve Yatak Odası ışıklarını kontrol ediyorsanız; bu sistem 1 cihaz değil, 4 cihaz olarak sayılır. Neden mi? Çünkü SezginHome bulut sunucusu, fiziksel kart sayısına değil; yaptığı işleme bakar. O 4 farklı lambanın:
Özetle Kural Şudur: Telefonunuzun ekranında bağımsız olarak kontrol ettiğiniz, ismini ve simgesini değiştirebildiğiniz her bir kutucuk (buton) = 1 Cihaz Kotası tüketir.
Paket seçiminizi (Öğrenci, Lite, Home, Pro, Ultra) yaparken, evinizdeki Wi-Fi kartı sayısını değil; kontrol etmek istediğiniz bağımsız lamba, priz ve motor sayısını (Röle sayısını) dikkate almalısınız.
*Not: Ana ChipID'yi (Hub) panele eklemenize gerek yoktur, bu sayede gereksiz cihaz hakkı harcamazsınız.
Sistemimiz en yüksek güvenlik seviyesi olan 8883 (SSL) portunu kullanır.
void setup() {
Serial.begin(115200);
delay(1000);
String ID = String(ESP.getChipId(), HEX);
ID.toUpperCase();
Serial.println("Sizin ID: " + ID);
}
void loop() {}
#include <ESP8266WiFi.h>
#include <WiFiClientSecure.h>
#include <PubSubClient.h>
// BU KOD TAMAMEN ÖRNEK DENEME AMAÇLI KODDUR KENDİ KODUNUNUZU GELİŞTİREBİLİRSİNİZ
// ==========================================
// 🔧 1. KULLANICI VE AĞ AYARLARI
// ==========================================
const char* ssid = "WİFİAGINIZ";
const char* password = "WİFİ_ŞİFRENİZ";
const char* mqtt_user = "SİZE_VERİLEN_KULLANICIADI";
const char* mqtt_pass = "SİZE_VERİLEN_ŞİFRE";
const char* mqtt_server = "sezginhome.com.tr";
const int mqtt_port = 8883;
// ==========================================
// ⚙️ DONANIM VE DEĞİŞKENLER
// ==========================================
#define R1 5 // D1 Pini -> Kanal 1
#define R2 2 // D2 Pini -> Kanal 2
#define R3 14 // D5 Pini -> Kanal 3
#define R4 12 // D6 Pini -> Kanal 4
WiFiClientSecure espClient;
PubSubClient client(espClient);
String CID, UNAME;
String K1, K2, K3, K4, baglantiTopic;
// --- MQTT MESAJ İŞLEYİCİ (KOMUT MERKEZİ) ---
void callback(char* topic, byte* payload, unsigned int length) {
String msg = "";
for (int i = 0; i < length; i++) msg += (char)payload[i];
String t = String(topic);
Serial.println("📩 Komut Alındı: [" + t + "] -> " + msg);
// Kanal Kontrol Mantığı
if (t == K1) digitalWrite(R1, msg == "1" ? LOW : HIGH);
else if (t == K2) digitalWrite(R2, msg == "1" ? LOW : HIGH);
else if (t == K3) digitalWrite(R3, msg == "1" ? LOW : HIGH);
else if (t == K4) digitalWrite(R4, msg == "1" ? LOW : HIGH);
// SUNUCUYA DURUM ONAYI GÖNDER (Senkronizasyon için şart!)
String statusTopic = t;
statusTopic.replace("komut", "durum");
client.publish(statusTopic.c_str(), msg.c_str(), true);
}
// --- BAĞLANTI YÖNETİMİ VE VASİYET (LWT) ---
void reconnect() {
while (!client.connected()) {
Serial.print("📡 MQTT Baglantisi Kuruluyor...");
String clientId = "SezginHub-" + CID;
// LWT: Hub koptuğunda sunucu tüm alt kanalları offline yapsın diye 'offline' vasiyeti bırakıyoruz
if (client.connect(clientId.c_str(), mqtt_user, mqtt_pass, baglantiTopic.c_str(), 1, true, "offline")) {
Serial.println(" BAŞARILI!");
// Çevrimiçi bilgisini yayınla
client.publish(baglantiTopic.c_str(), "online", true);
// 4 Kanalın komut adreslerine abone ol
client.subscribe(K1.c_str());
client.subscribe(K2.c_str());
client.subscribe(K3.c_str());
client.subscribe(K4.c_str());
Serial.println("✅ 4 Kanal Dinleniyor...");
} else {
Serial.print(" HATA! Durum: ");
Serial.println(client.state());
delay(5000); // 5 saniye bekle ve tekrar dene
}
}
}
void setup() {
Serial.begin(115200);
// Pin Modları
pinMode(R1, OUTPUT); digitalWrite(R1, HIGH);
pinMode(R2, OUTPUT); digitalWrite(R2, HIGH);
pinMode(R3, OUTPUT); digitalWrite(R3, HIGH);
pinMode(R4, OUTPUT); digitalWrite(R4, HIGH);
// WiFi Başlat
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); }
Serial.println("\n✅ WiFi Baglandi!");
// Kimlik Oluşturma
CID = String(ESP.getChipId(), HEX);
CID.toUpperCase();
UNAME = String(mqtt_user);
// Topic Yapılandırması
K1 = "cihaz/" + UNAME + "/" + CID + "_1/komut";
K2 = "cihaz/" + UNAME + "/" + CID + "_2/komut";
K3 = "cihaz/" + UNAME + "/" + CID + "_3/komut";
K4 = "cihaz/" + UNAME + "/" + CID + "_4/komut";
baglantiTopic = "cihaz/" + UNAME + "/" + CID + "/baglanti";
Serial.println("\n--- SEZGINHOME HUB AKTİF ---");
Serial.println("Kanal 1 ID: " + CID + "_1");
Serial.println("Kanal 2 ID: " + CID + "_2");
Serial.println("Kanal 3 ID: " + CID + "_3");
Serial.println("Kanal 4 ID: " + CID + "_4");
Serial.println("----------------------------\n");
espClient.setInsecure(); // SSL için basitleştirilmiş mod
client.setServer(mqtt_server, mqtt_port);
client.setCallback(callback);
}
void loop() {
if (!client.connected()) reconnect();
client.loop();
}
}