Siri ile Kontrol Edilebilen Ev Otomasyonu Yapımı

2 hafta önceki yazımızda Siri ve Raspberry Pi 3 kullanarak ev otomasyonu yapmayı anlatacağımızı söylemiştik. Bu yazımızda, ev otomasyonu sisteminin temelini atmaya başlıyoruz. Burada sadece temel olarak bir led lambanın telefondaki butonlarla veya ses kontrolüyle kapatılıp açılması gösterilecektir. Bu projeyi geçen dönem üniversitede Endüstriyel Otomasyon dersinde gerçekleştirmiştim. Şimdi o projenin raporunu biraz düzenleyerek burada yayımlıyorum. Böylece ev otomasyonuyla ilgilenenler ve yeni başlayanlar için faydalı olacağını düşünüyorum. Çünkü internette bununla ilgili birçok İngilizce kaynak olmasına rağmen çok fazla Türkçe kaynak mevcut değil.

Kullandığım telefonun iPhone olması sebebiyle, bu projede yapacağım ev otomasyonu sisteminin Siri ile çalışmasını istedim. Bunun için internette araştırmalar yaptığımda, Siri ile herhangi bir akıllı olmayan cihazı kontrol edebilmek için Homebridge adlı bir kütüphane kullanmam gerektiğini öğrendim. Bu kütüphane, iPhone ile cihazlarımız arasında bir köprü vazifesi görmektedir. Bu kütüphane Linux platformu üzerinde çalışır. Homebridge kütüphanesini çalıştırmanın en kolay yolu, Linux işletim sistemine sahip Raspberry Pi geliştirme kartını kullanmaktı. Böylece büyük bir bilgisayarı, ev otomasyonu yapmak için kullanmak yerine, küçük bir kartı kullanarak aynı işlemleri gerçekleştirebiliriz. Bu şekilde taşıma, yer, maliyet problemleri de çözülmüş oluyordu. Projeyi yapmak için Raspberry Pi 3 kullandım. Bu kartın içinde Pi 2 de olmayan Wi-Fi ve Bluetooth desteği var ve ayrıca 2’ye göre daha hızlı bir kart.

 

Raspberry Pi 3 ile Sıfırdan Adım Adım Ev Otomasyonu Yapımı

  • Öncelikle Raspberry Pi 3 (kısaca RPi3)’ü aldığımızda yanında SD kart da almamız gerekiyor. Bunun için 8 GB SD kart yetmesine rağmen ne olur ne olmaz, ileride de kullanırım, bir büyüğü olsun diye 16 GB’lık SD kart aldım. Şimdi yapılacak şey, RPi3’e işletim sistemi yüklemek olacak. Bunun için şu adımlar takip edilmelidir:
  1. SD kartımıza eğer önceden bir dosya yüklemişsek, SDFormatter adlı programla SD kartımızı formatlamamız gerekiyor.
  2. Raspberry’nin resmi sitesinden Raspbian Jessie adlı işletim sistemini indiriyoruz. Bunun Lite versiyonu arayüze sahip olmadığından benim gibi yeni başlayanlar için çok kullanışlı değil. Rahatlık açısından ben normal versiyonunu indirdim. Böylece masaüstü ekranını görerek daha rahat işlem yapabiliyorum. Yoksa her şeyi terminalden (komut ekranından) yapmam gerekecekti. (Projeyi yaparken Raspbian Jessie’nin indirme linki mevcuttu. Ancak şimdi Raspbian Stretch With Desktop adlı yeni bir sürüm çıkarmışlar. Bunu da indirebilirsiniz.)
  3. Bu işletim sisteminin .img dosyasını indirdikten sonra, Win32DiskImager programıyla bu imaj dosyasını SD kartımıza yazdırıyoruz.
  4. İmaj dosyamızı yazdırdıktan sonra SD kartımızı RPi3’e takıyoruz, kartın güç adaptörü bağlantısını ve bilgisayarla olan ethernet kablosu bağlantısını da yapıyoruz.
  • RPi3’ün arayüzünü görebilmek için kartın kendi HDMI girişine monitör bağlayabiliyoruz. Fakat her zaman elimizde bir monitör olmayabilir. Bu yüzden arayüze ulaşma işlemini ve komut ekranına ulaşma işlemini ethernet kablosu aracılığıyla yapmak daha iyi bir yoldur. Öncelikle ethernet kablo bağlantısını, Windows işletim sistemli bilgisayarımızla yapıyoruz. Gerekli otomatik kurulumlar gerçekleştikten sonra Ağ ve Paylaşım merkezinden, halihazırda bağlı olduğumuz interneti, Ethernet ile paylaşmamız gerekiyor. Bundan sonra IPScanner adlı programla RPi3’ümüzün IP’sini bulmamız gerekiyor fakat bu işlem uzun sürebiliyor. Bunun için ben şöyle bir yol buldum, kullandığım antivirüsün güvenlik duvarı olduğundan RPi3’ün bağlantı kurmasını engelliyordu. Antivirüs ayarlarına girerek bu engellediği RPi3 IP’sini görebiliyordum. Böylece direk IP’yi bulmuş oluyorum. Ayrıca antivirüsün ayarlarından RPi3 için olan bağlantı engellerini kaldırmam gerekiyor. Antivirüs ekranımda gördüğüm IP’ler bu şekildedir:

  • RPi3 IP’sini 192.168.137.86 olarak buldum. Putty adlı terminal programına bu IP’yi yazarak bağlanıyorum. Burada şifre soran bir ekranla karşılaşıyorum. Standart olarak ilk kurulumda kullanıcı adı: pi şifre:raspberry olmaktadır. Karşımıza aşağıdaki gibi bir ekran geliyor:

Bu terminalden istediğimiz her şeyi yapabiliyoruz fakat arayüz üzerinden işlemleri gerçekleştirmek daha kolay olacağı için RPi3 arayüzüne bağlanalım. Bunun için VNC Viewer adlı programı kullanmamız gerekiyor. Bu programa bağlanabilmek için komut satırına “raspi-config” yazarak ayarlardan VNC bağlantısını aktifleştiriyoruz.

  • VNC Viewer ile bağlandığımızda karşımıza RPi3’ün arayüzü gelmektedir. Terminali kullanmak istediğimiz zaman, terminale bu arayüzden de ulaşabildiğimiz için ayrıca Putty kullanmamıza gerek kalmıyor.

  • RPi3’ümüze başarıyla bağlandığımıza göre, ev otomasyonumuz için gereken kütüphaneleri yüklememiz gerekiyor. Burada öncelikle bir araştırma yaptığımızda aşağıdaki linklerdeki talimatları izlememiz gerektiğini görüyoruz:

https://github.com/nfarina/homebridge/wiki/Running-HomeBridge-on-a-Raspberry-Pi

http://blog.wia.io/installing-node-js-on-a-raspberry-pi-3

https://github.com/nfarina/homebridge

Bu adreslerde, Homebridge paketimizi yükleyebilmek için öncelikle başka paketleri de yüklememiz gerektiğini anlatan yazılar var. Hepsini sırayla tek tek yüklememiz gerekiyor. Bu işlemler epey vakit alıyor. Homebridge kurulumu için gereken paketlerimiz yüklendikten sonra, Homebridge paketi kurulumunu terminalden aşağıdaki komutla başlatıyoruz:

sudo npm install -g –unsafe-perm homebridge

Tüm paketlerimizi böylece kurmuş oluyoruz.

  • Homebridge paketimiz sağlıklı bir şekilde kurulduktan sonra, homebridge klasöründeki “config.json” adlı dosyada yapılması gereken ayarları, yukarıda bildirilen sitelerdeki gibi yapıyoruz. Bundan sonra Homebridge paketimizi kullanabilmek için bazı pluginler yüklememiz gerekiyor. İşimize yarayacak olanları https://www.npmjs.com/search?q=homebridge-plugin adresinden bulabiliyoruz. Mesela ben, RPi3’ümün pinlerini açıp kapatmaya yarayan bir plugin kullanmak istediğim için bu şekilde bir araştırma yaptım ve isteğime uygun olan plugin “homebridge-gpio-wpi” olduğunu gördüm.

  • Gerekli paket kurulumlarını yaptıktan sonra, kendi telefonumun internetini Wi-Fi üzerinden paylaşarak RPi3’ümü telefonuma bağlıyorum. İlk açılışta direk benim telefonuma bağlanması için ise Auto Start ayarlarını da yapıyorum. Böylece önümde monitör olmasına gerek olmadan, RPi3’ümü fişe takınca kendisi Wi-Fi bağlantısını otomatik yapmış oluyor.

  • Bundan sonra “/home/pi/.homebridge” klasöründeki config.js ayarlarını, en son indirdiğim “homebridge-gpio” pluginine göre düzenlemem gerekiyor.

  • Tüm ayarlarımı yaptıktan ve telefonumun Wi-Fi paylaşımını açtıktan sonra terminale “homebridge” yazarak sunucumu başlatıyorum.

  • Karşımıza aşağıdaki gibi beyaz çerçeve içinde bir kod geliyor, bu kodu Apple cihazımızda aksesuar eklerken kullanıyoruz.

 

  • Telefonumuzdan aksesuarlarımızı ekliyoruz. Yani aslında kullandığımız pluginden dolayı her pinimiz bir aksesuarmış gibi davranıyor. Biz burada kolaylık olması açısından pinleri kullandık. Eğer daha gelişmiş ve kullanışlı bir otomasyon sistemi yapmak istesek, her aksesuarımızı ESP8266 modülüyle kablosuz olarak RPi3’ümüze bağlayabilirdik. Bunun için farklı bir plugin kullanmamız gerekirdi. Aşağıdaki resimlerde yaptığımız işlemler gözükmektedir.

Pinimizi ister elle, ister Siri üzerinden sesli komutla açıp kapatabiliyoruz. Zaten ses tanıma kısmı iOS’un kendi desteklediği bir şey olduğu için bu kısımda bir müdahalemiz bulunmuyor. Yalnız aksesuarımızın ismini biz veriyoruz ve Siri’ye bu verdiğimiz ismi söylememiz gerekiyor. “Hey Siri, lambayı aç!”, “Hey Siri, lambayı kapat!”, “Hey Siri, lamba açık mı?” gibi komutlar ve sorular yönelterek aksesuarımıza hükmedebiliyoruz.

 

sudo update-rc.d homebridge defaults

 

Artık RPi3’ümüzü istediğimiz yerde fişe takınca çalışır hale getirmiş olduk. Wi-Fi bağlantısının ille de telefonumuzdan paylaşılan internetle olması gerekmiyor. Evimizdeki Wi-Fi ağımıza da RPi3’ümüzü bağlayabiliyoruz ki bu daha kullanışlıdır. Telefonumuzdan da bu ağa bağlandığımızda yine aynı şekilde aksesuarlarımızı görebiliyoruz.

 

Yaptığımız uygulamanın videosunu izleyebilirsiniz (720p seçmeniz tavsiye edilir):

 

 

KAYNAKLAR

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir