All for Joomla All for Webmasters
Yapabilecekleriniz hayal gücünüz kadar geniştir.
STM32
ARDUINO
ONUR KÖSE
Kişisel Blog

Ev Otomasyonu

Merhaba arkadaşlar, tasarlamış olduğum ev otomasyonu projemden bahsetmek istiyorum.

Raspberry Pi 3 üzerinde kurulu ev kontrol sistemi, cihazların zaman ayarlı veya kullanıcı tarafından açılıp kapanmasını ve durumunun izlenmesini sağlamaktadır. Birimler(client) ile iletişimi çift yönlü olarak TCP/IP protokolünü kullanarak sağlamaktadır. Sistem, Raspberry Pi’ye bağlı 7″ TFT dokunmatik LCD, dokunmatik anahtarlar veya akıllı telefon yazılımı üzerinden kontrol edilebilir. Android yazılımı veya LCD üzerinden yapılan tüm işlemler eş zamanlı olarak tüm kontrol birimlerde güncellenmektedir.

Raspberry Pi Yazılımı

Raspberry Pi üzerinde çalışan yazılımı Python 3 programlama dili ile PyQt5 grafik kütüphanesini kullanarak programladım. Dokunmatik ekran üzerinden köşe lambası, salon lambaları veya modem açılıp kapatılabilir. Program menüsünde köşe lambası ve modemin otomatik açılma kapanma saatleri ayarlanmaktadır. Ayarlar menüsünde Raspberry Pi donanımının anlık durumu ve çalışan tüm birimlerin online/offline durumları izlenmektedir.

Dashboard

Web sitesi üzerinden sistemin durumu izlenebilir. Ana sayfada Raspberry Pi donanımının durumu, birimlerin hangi yöntem ile kontrol edildiği, aylık grafik üzerinde günlük kaç adet işlem yapıldığı ve ev sıcaklığı grafiksel olarak gösterilmektedir. Aygıtlar sayfasında çalışan tüm birimlerin durumu gösterilmektedir. ESP WiFi denetleyicilerinin aldığı ip’ler, wifi bağlantı güçleri, ev içinde bulundukları konumlar ve ne kadar süredir çalıştıkları yazmaktadır. Güç monitörü sayfasında evin anlık olarak güç tüketimi, saatlik, haftalık ve aylık olarak tüketim grafikleri yer almaktadır.

Web sitesini iot.mikrocore.com adresi üzerinden ziyaret edebilirsiniz.

Mosquitto MQTT Broker

Ev üzerinde ki tüm birimler kablosuz olarak Raspberry Pi ile iletişim kurmaktadır. Kontrol birimleri üzerinde bulunun ESP8266 mikrodenetleyici üniteleri WiFi üzerinden MQTT protokolü ile iletişim sağlamaktadır. Broker, Raspberry Pi üzerinde çalışarak kontrol birimlerinin birbirleri ile haberleşmesini sağlamaktadır. Her ünite içine özel kanal oluşturarak, herhangi birime giden verinin sadece o birimi ilgilendirmesini sağladım. Ev otomasyonu yazılımı birde public MQTT sunucusu ile iletişim kurmaktadır. Telefon üzerinden birimlerin uzaktan kontrol edilmesi için public MQTT kanalını sürekli dinlemektedir ve komut geldiği anda yerel MQTT kanalına yönlendirerek birimlere iletilmesini sağlamaktadır.

Dokunmatik Anahtar

Lambalarını açılıp kapatılması için Sonoff Touch modülünü kullandım. Bu modül üzerinde ESP8266 denetleyicisi bulunmaktadır. Sonoff Touch modülü ev otomasyonu sistemim ile uyuşmadığı için cihaz üzerindeki yazılımı silip kendi kodladığım yazılımı yükleyerek sisteme entegre ettim. Modifiye edilmiş Sonoff Touch modülü lambanın açık/kapalı durumunu, rssi değerini ve online/offline durumunu MQTT protokolü üzerinden Raspberry Pi’ye göndermektedir. Uzaktan komut geldiğinde de lambanın o anki durumunu değiştirmektedir.

WiFi Röle

Köşe lambasının açılıp kapanması için Sonoff firmasının basic isimli modülünü kullandım. Bu modülün görevi Sonoff Touch modülü gibi WiFi üzerinden gelen komuta göre 220V hattını röle ile açıp kapatmaktır. Cihaz yazılımını güncelleyerek otomasyon sistemime entegre ettim. Köşe lambasının durumunu, rssi değerini ve online/offline durumunu MQTT protokolü üzerinden Raspberry Pi’ye göndermektedir. Uzaktan komut geldiğinde röleyi kontrol ederek köşe lambasını açıp kapatmaktadır.

Sıcaklık Sensörü

Evdeki sıcaklığın durumunu izlemek için ESP12 modülü ile DHT11 sıcaklık sensörünü kullandım. Bu modül web sitesine 5 dakika aralıklar ile sıcaklık ve batarya bilgisi göndermektedir. Bilgi göndermediği süre içinde uyku modundadır. Bu sayede 3.7V 3000mAh pil ile 3 hafta kadar çalışabilmektedir.

Güç Monitörü

PZEM-004T güç, gerilim, akım ölçüm modülü ile evin güç tüketimi izlenmektedir. Evin şebeke girişine bağlı olan bu modül UART protokolü ile ESP12 WiFi modülüne şebeke gerilimini, çekilen akımı ve anlık tüketilen güç bilgisini göndermektedir. ESP12 WiFi modülü MQTT kanalı üzerinden bu bilgileri paylaşmaktadır ve web sitesi veritabanına kayıt etmektedir.

Android Uygulaması

Google Play platformu üzerinde bulunan MQTT IoT programını kullanmayı tercih ettim. Bu programda MQTT kanalından gelen verileri çeşitli widget’lar üzerinde izleyebiliyoruz. Aynı zamanda program üzerindeki butonlar ile lambaları açıp kapatabiliyoruz.

Telegram uygulaması üzerine kurduğum bot ile ev otomasyonu sistemime mesaj gönderebiliyorum. Belirli komutların yer aldığı bu botta birimlerin durumları, Raspberry Pi durumu ve güç tüketim verileri görülebilmektedir.

Proje ile ilgili detaylı bilgi almak isterseniz iletişim menüsünden mesaj gönderebilirsiniz.

About the author

4 Responses

Leave a Reply

Merhaba

Bloguma Hoşgeldiniz.

Kategoriler

Çevrimiçi Kişiler

2 Misafir, 1 Bot
%d blogcu bunu beğendi: