Kendi Akıllı Ev Sisteminizi Geliştirin: Adım Adım Rehber

0
653

Akıllı ev sistemleri, ev otomasyonunu kişiselleştirerek hem konforu artırıyor hem de enerji tasarrufu sağlıyor. Ticari çözümler yerine kendi sisteminizi geliştirmek, tam kontrol, özelleştirme ve maliyet avantajı sunar. Bu rehber, bir yazılımcının kendi akıllı ev sistemini nasıl kurduğunu temel alarak, size sıfırdan bir akıllı ev sistemi geliştirme sürecini anlatıyor. Raspberry Pi, Docker, MQTT, PostgreSQL ve daha birçok teknolojiyle, evinizi tamamen kendi yönettiğiniz bir otomasyon merkezine dönüştürebilirsiniz.

Neden Kendi Akıllı Ev Sisteminizi Kurmalısınız?

  • Tam Kontrol: Üçüncü taraf servislerden bağımsız, tüm veriler sizin elinizde.
  • Özelleştirme: Sisteminizi ihtiyaçlarınıza göre tamamen şekillendirebilirsiniz.
  • Maliyet Avantajı: Açık kaynaklı donanım ve yazılım kullanarak bütçenizi koruyabilirsiniz.
  • Öğrenme Fırsatı: IoT, veritabanı yönetimi ve mikro servis mimarisi gibi konularda deneyim kazanırsınız.

1. Sistem Mimarisi ve Sunucu Kurulumu

Merkezi bir kontrol noktası oluşturmak için Raspberry Pi mükemmel bir seçimdir. Bu küçük ama güçlü cihaz, tüm sistemi yönetmek için yeterli güce sahiptir.

Adımlar:

  • Raspberry Pi Kurulumu: Raspberry Pi 4 (en az 4GB RAM önerilir) üzerine Raspberry Pi OS (Lite sürümü) kurun. Hafif bir sistem için GUI olmayan sürüm tercih edilebilir.
  • Docker Kullanımı: Docker ile mikro servis mimarisi kurun. Her bir bileşen (API, veritabanı, MQTT broker) ayrı bir container’da çalışsın. Bu, sistemi izole ve yönetilebilir hale getirir.
    # Docker ve Docker Compose Kurulumu
    sudo apt update
    sudo apt install docker.io docker-compose
    sudo systemctl enable docker
    sudo systemctl start docker
                    
  • Mikro Servisler: API’nizi (örneğin, Node.js veya Flask ile) ve veritabanını (PostgreSQL) ayrı container’larda çalıştırın. Örnek bir docker-compose.yml:
    version: '3'
    services:
      api:
        image: node:16
        ports:
          - "3000:3000"
        volumes:
          - ./api:/app
      db:
        image: postgres:latest
        environment:
          POSTGRES_USER: user
          POSTGRES_PASSWORD: password
          POSTGRES_DB: smarthome
                    

2. Cihazlar Arası İletişim: MQTT Broker

MQTT, IoT cihazları için hafif ve verimli bir iletişim protokolüdür. Eclipse Mosquitto, bu amaç için popüler bir açık kaynaklı broker’dır.

Adımlar:

  • Mosquitto Kurulumu: Docker ile Mosquitto’yu kurun.
    services:
      mqtt:
        image: eclipse-mosquitto
        ports:
          - "1883:1883"
          - "9001:9001"
                    
  • Publish/Subscribe Modeli: Işıklar, prizler ve sensörler gibi cihazlar, MQTT topic’lerine veri gönderir (publish) veya komut alır (subscribe). Örneğin:
    • Topic: home/lights/livingroom → Işığı aç/kapat komutları.
    • Topic: home/sensors/temperature → Sıcaklık verileri.
  • Güvenlik: MQTT’ye kullanıcı adı/şifre doğrulaması ekleyin ve TLS ile şifreleyin. Mosquitto konfigürasyon dosyasında:
    listener 1883
    allow_anonymous false
    password_file /mosquitto/config/passwd
                    

3. Veri Depolama: PostgreSQL

Tüm sensör verilerini ve cihaz durumlarını saklamak için PostgreSQL kullanabilirsiniz. Bu, geriye dönük analiz ve raporlama için idealdir.

Adımlar:

  • Veritabanı Kurulumu: Docker ile PostgreSQL’i kurun (yukarıdaki docker-compose.yml örneğine bakın).
  • Tablo Yapısı: Örneğin, sıcaklık ve enerji tüketimi için:
    CREATE TABLE sensor_data (
        id SERIAL PRIMARY KEY,
        device_id VARCHAR(50),
        type VARCHAR(20),
        value FLOAT,
        timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    );
                    
  • Veri Kaydetme: MQTT’den gelen verileri API üzerinden PostgreSQL’e kaydedin. Örneğin, Node.js ile:
    const { Pool } = require('pg');
    const pool = new Pool({ user: 'user', password: 'password', database: 'smarthome' });
    
    async function saveSensorData(deviceId, type, value) {
        await pool.query(
            'INSERT INTO sensor_data (device_id, type, value) VALUES ($1, $2, $3)',
            [deviceId, type, value]
        );
    }
                    

4. Mobil Uygulama Geliştirme

Kendi mobil uygulamanızı geliştirerek sisteminizi her yerden kontrol edebilirsiniz. Android Jetpack Compose modern ve hızlı bir seçenektir.

Adımlar:

  • Uygulama Tasarımı: Jetpack Compose ile kullanıcı dostu bir arayüz oluşturun. Örneğin, ışık kontrolü için bir düğme:
    @Composable
    fun LightControlButton() {
        Button(onClick = { sendMqttCommand("home/lights/livingroom", "ON") }) {
            Text("Işığı Aç")
        }
    }
                    
  • MQTT Entegrasyonu: Uygulamanızı MQTT broker’a bağlayın. Paho MQTT kütüphanesi kullanabilirsiniz.
  • API ile İletişim: REST API üzerinden cihaz durumlarını çekin ve komut gönderin.

Not: Üçüncü taraf servislere bağımlılığı ortadan kaldırmak için direkt MQTT’ye bağlanmak, sistemin bağımsızlığını artırır.

5. Enerji Tüketimi İzleme

Enerji tüketimini izlemek için ESP32 tabanlı akıllı prizler kullanabilirsiniz.

Adımlar:

  • ESP32 Programlama: Arduino IDE veya PlatformIO ile ESP32’yi programlayın. MQTT ile veri gönderimi:
    #include 
    #include 
    
    WiFiClient espClient;
    PubSubClient client(espClient);
    
    void setup() {
        WiFi.begin("SSID", "PASSWORD");
        client.setServer("MQTT_BROKER_IP", 1883);
        client.connect("ESP32_Client", "user", "password");
    }
    
    void loop() {
        float power = readPowerSensor(); // Sensörden güç verisi oku
        client.publish("home/energy/plug1", String(power).c_str());
        delay(10000);
    }
                    
  • Veri Kaydetme: MQTT’den gelen enerji verilerini PostgreSQL’e kaydedin.

6. Dashboard ile Görselleştirme

Grafana, verilerinizi görselleştirmek için güçlü bir araçtır.

Adımlar:

  • Grafana Kurulumu: Docker ile Grafana’yı kurun:
    services:
      grafana:
        image: grafana/grafana
        ports:
          - "3000:3000"
                    
  • Veri Kaynağı: Grafana’yı PostgreSQL’e bağlayın ve enerji tüketimi, sıcaklık gibi verileri görselleştirin.
  • Grafikler: Saatlik/günlük enerji tüketimi için grafikler oluşturun. Örneğin, SQL sorgusu:
    SELECT timestamp, value FROM sensor_data
    WHERE type = 'power' AND device_id = 'plug1'
    ORDER BY timestamp;
                    

7. Sesli Kontrol Entegrasyonu

Google Assistant ile sisteminizi sesle kontrol edebilirsiniz.

Adımlar:

  • Webhook Kurulumu: Google Assistant’tan gelen komutları kendi API’nize yönlendirin. Flask ile örnek bir webhook:
    from flask import Flask, request
    
    app = Flask(__name__)
    
    @app.route('/webhook', methods=['POST'])
    def webhook():
        data = request.json
        if data['intent'] == 'turn_off_lights':
            mqtt_publish('home/lights/livingroom', 'OFF')
        return jsonify({'status': 'success'})
                    
  • Dialogflow: Google Dialogflow ile komutları tanımlayın ve webhook’a bağlayın.

8. Güvenlik Önlemleri

Güvenlik, akıllı ev sistemlerinde kritik öneme sahiptir.

Adımlar:

  • TLS Şifreleme: Tüm API ve MQTT trafiğini TLS ile şifreleyin. Let’s Encrypt gibi ücretsiz sertifikalar kullanabilirsiniz.
  • MQTT Doğrulama: Kullanıcı adı ve şifreyle erişimi kısıtlayın.
  • Firewall: Raspberry Pi üzerinde yalnızca gerekli portları (1883, 3000, vb.) açık tutun.
  • Veri Yedekleme: PostgreSQL verilerini düzenli olarak yedekleyin.

Kendi akıllı ev sisteminizi geliştirmek, hem teknik becerilerinizi geliştirir hem de evinizi tam anlamıyla size özel bir otomasyon merkezine dönüştürür. Raspberry Pi, Docker, MQTT, PostgreSQL, Grafana ve ESP32 gibi teknolojilerle, ışık kontrolünden enerji izlemeye kadar her şeyi yönetebilirsiniz. Üstelik, üçüncü taraf servislerden bağımsız bir sistemle tam kontrol sizde olur.

Başlangıç İpuçları:

  • Küçükten başlayın: Önce tek bir ışığı kontrol edin, sonra sistemi genişletin.
  • Dökümantasyonu iyi okuyun: MQTT, Docker ve Grafana’nın resmi dökümantasyonları çok yardımcıdır.
  • Topluluklardan destek alın: Gemstone Geliştirme Grubuna üye olarak bizden destek alabilirsiniz 

Ekstra: Sistemi daha da geliştirmek için makine öğrenmesi modelleriyle enerji tüketimi tahmini yapabilir veya hareket sensörleriyle otomatik aydınlatma ekleyebilirsiniz.

Wow
1
Ara
Kategoriler
Daha Fazla Oku
Oyun
MBA in Finance: Scope in India & Highest Paying Jobs After MBA
MBA in Finance Management: Scope in India & Highest Paying Jobs After MBA Introduction Money...
Tarafından Indira University 2025-12-31 11:11:17 0 316
SEO
Global Hysteroscopy Procedures Market Analysis: Procedure Advancements and Growth Outlook
A new report titled “Global Hysteroscopy Procedures Market Professional Report...
Tarafından Sameer SSS 2026-02-02 11:09:54 0 51
Teknoloji
Digital Marketing Expert in Pakistan: Your Key to Unlocking Business Growth
Digital Marketing Expert in Pakistan: Helping Your Business Succeed in the Digital Era In the...
Tarafından Office Work 2025-12-19 07:33:30 0 328
Diğer
Wood Floor Polishing Services Market Growth Outlook 2025-2030
Wood Floor Polishing Services Market Growth Outlook The global Wood Floor Polishing Services...
Tarafından Harsha Patil 2026-02-05 10:35:50 0 52
SEO
Image-Guided Therapy Systems Market: Industry Share by Company & Growth Outlook Through 2033
Image-Guided Therapy Systems Market Overview A new report titled “Global Image-Guided...
Tarafından Sameer SSS 2026-02-13 10:19:01 0 16