Herhangi Bir Akıllı Cihaz HomeKit'e Nasıl Bağlanır (Raspberry Pi ile)

Yayınlanan: 2022-01-29
Homekit logolu Raspberry Pi
Ahududu Pi Vakfı, Elma

Birçok akıllı cihaz Apple HomeKit desteğini atlar ve yalnızca Alexa, Google ve diğer platformlarla entegre olur. Bu Raspberry Pi hack ile, açık kaynaklı Homebridge yazılımıyla herhangi bir akıllı cihaza HomeKit desteği ekleyebilirsiniz.

Herhangi Bir Akıllı Cihaz için HomeKit

HomeKit'te her şeyiniz varsa, büyük bir sorun, ne kadar az akıllı cihazın onu desteklediğidir. Örneğin, bazı ucuz akıllı ampulleri engelleyen tek şey, HomeKit desteğinin olmamasıdır. Amazon'un “Akıllı Ampul” için Seçimi, TECKIN'den dörtlü bir pakettir ve bu yazıda, tek bir LIFX ampulden daha az olan yaklaşık 40 ABD Doları tutarındadır.

Tuya Akıllı Işıklar

Elbette, LIFX kadar premium değiller; renkler o kadar canlı değil ve banyoda duyulabilir bir vızıltı yayarlar, ancak pop başına 10 $ için oldukça rakipsiz bir değerdir.

Ancak asıl sorun, HomeKit desteğine sahip olmamaları. Tamamen aptal değiller; Google Home, Alexa, IFTTT ve üreticinin uygulamasıyla çalışıyorlar. Sadece TECKIN akıllı ampulleri olan biri için gayet iyi.

Ancak bunlara HomeKit'ten erişemediğiniz için onları Home uygulamasından, Kontrol Merkezi'ndeki widget'tan veya Siri'den kontrol edemezsiniz. Ayrıca bunları diğer markaların ampullerinin bulunduğu sahnelere dahil edemez veya Otomasyonlarda kullanamazsınız. HomeKit'e zaten yatırım yaptıysanız, bu büyük olasılıkla bir anlaşma kırıcıdır.

Homebridge ile tanışın

Neyse ki, bu özel ampulleri çok daha kullanışlı hale getiren bir tüyo var. HomeKit API, Philips Hue'dan bu gibi köprü adı verilen cihazların diğer protokollerde çalışan alt cihazları bağlamasına izin verir. Köprüyü HomeKit'e bir cihaz olarak eklemeniz yeterlidir ve köprü, kendisine bağlı olan her ışığı HomeKit'e kaydeder. Bir ışığı güncellemek için istekte bulunduğunuzda, telefonunuz köprüyle, köprü de ışıkla konuşur.

Reklamcılık

Bu nedenle, bir köprü yalnızca bilgileri bir API'den diğerine aktarır. TECKIN ampullerini internet üzerinden kontrol edebildiğiniz için, bunları HomeKit'e yalnızca yazılımla bağlamak tamamen mümkündür; özel bir donanım gerekmez.

Bir Raspberry Pi'niz varsa (5 dolarlık bir Pi Zero iyidir), Homebridge adlı bir çerçeveye sahip bir köprü olarak kurabilirsiniz. Bu hafif NodeJS uygulaması, HomeKit API'sini taklit eder ve istekleri HomeKit olmayan akıllı cihazlarınıza iletir.

Temel olarak, onu Pi'de çalıştırırsınız ve her 'aptal' cihazı Ev uygulamasına ekler. Ampulü Home uygulaması veya Siri aracılığıyla kontrol etmeye çalıştığınızda Homebridge, sizin için cihazlarla konuşur. Ayarladıktan sonra, cihazın ilk etapta HomeKit desteği olduğu gibi.

Bu, cihazın her zaman Homebridge'i çalıştırmasını gerektirir, bu nedenle bu, dizüstü bilgisayarınıza yükleyeceğiniz bir şey değildir. Ahududu Pi idealdir, ancak eski bir cihazınız varsa, her zaman çalışan bir sunucu veya masaüstü olarak yeniden kullanabilirsiniz, oraya kurabilirsiniz.

Homebridge bir çerçevedir ve onu eklentilerle genişletebilirsiniz. Oldukça geniş bir topluluk desteğine sahiptir, bu nedenle herhangi bir akıllı cihazın muhtemelen buna destek eklemek için bir Homebridge eklentisine sahip olma şansı yüksektir. Cihazınızın bir eklentisi yoksa, ancak akıllı cihazınızın bir API'si varsa ve teknoloji konusunda bilgiliyseniz, kendiniz bir tane yazabilirsiniz.

Reklamcılık

Yine de çoğu insan için kurulum, biraz yapılandırma ile birlikte yalnızca Homebridge'i ve cihaz için marka eklentisini kurmaktır. Komut satırını kullanabiliyorsanız ve biraz zamanınız varsa, oldukça kolaydır.

Homebridge'i Kurma ve Yapılandırma

Homebridge bir NodeJS uygulamasıdır, bu yüzden kullanmak için node ve npm yüklemeniz gerekir. Makineniz Linux çalıştırıyorsa, muhtemelen paket yöneticinizden alabilirsiniz.

Ubuntu'da, Düğüm deposunu manuel olarak ayarlamak için aşağıdakini yazmanız ve ardından nodejs yüklemeniz gerekir:

 curl -sL https://deb.nodesource.com/setup_13.x | sudo -E bash -
sudo apt-get install -y düğümleri

Aksi takdirde, kendi işletim sisteminiz için nasıl kuracağınızla ilgili bilgi için Node'un indirme sayfasına başvurabilirsiniz.

Linux kullanıyorsanız, aşağıda gösterildiği gibi bazı bağımlılıklar da yüklemeniz gerekir:

 sudo apt-get install libavahi-compat-libdnssd-dev

Daha sonra, Homebridge'i aşağıda gösterildiği gibi npm aracılığıyla global olarak kurabilirsiniz:

 sudo npm install -g --unsafe-perm ana köprüsü
Reklamcılık

Homebridge sadece bir çerçeve olduğundan, ihtiyacınız olan marka eklentilerini de kurmak istiyorsunuz. Örneğin, TECKIN ampulleri için eklenti, aynı zamanda global olarak da homebridge-tuya-web .

Aşağıdakileri yazarsınız:

 npm ben homebridge-tuya-web -g

Her şey yüklendikten sonra, aslında şeyi kullanabilirsiniz! Homebridge'i bir kez çalıştırmak ve her şeyi başlatmak için aşağıdakini yazın:

 ana köprü

Oluşturmanız gereken bir yapılandırma eksikliğinden şikayet edecektir. Varsayılan dizin ~/.homebridge/ 'dir, ancak taşımak istiyorsanız -U parametresini kullanabilirsiniz.

Bu klasörde yeni bir JSON yapılandırma dosyası oluşturmak için aşağıdakini yazın:

 nano ~/.homebridge/config.json

Kullandığınız eklentilerden bağımsız olarak aşağıdaki temel yapılandırmaya ihtiyacınız vardır:

 {
  "köprü": {
    "ad": "Ana Köprü",
    "kullanıcı adı": "CC:22:3D:E3:CE:30",
    "liman": 51826,
    "pin": "031-45-154"
  },

  "açıklama": "Özel HomeBridge Sunucusu",

  "bağlantı noktaları": {
    "başlangıç": 52100,
    "son": 52150,
  },

  "platformlar": [

  ]
}

Bu, Homebridge'i diğer cihazlara tahsis edilebilecek varsayılan bir bağlantı noktası, ad, PIN ve bağlantı noktası aralığı ile yapılandırır.

Reklamcılık

Boş platforms dizisinin içine, her eklenti için yapılandırmayı yerleştirirsiniz. Her eklentinin GitHub sayfasında bununla ilgili talimatları ve örnekleri bulabilmeniz gerekir.

Aşağıdaki örnekte, TECKIN ampulleri için homebridge-tuya-web eklentisi, ampul uygulaması için API'ye bağlanmak için kullanıcı adımı ve şifremi ve birkaç başka şeyi bilmek istiyor:

 "platformlar": [
     {
       "platform": "TuyaWebPlatform",
       "isim": "TuyaWebPlatform",
       "seçenekler":
         {
           "kullanıcı adı": "kullanıcı adı",
           "şifre": "şifre",
           "ülkeKodu": "1",
           "platform": "smart_life",
           "yoklama Aralığı": 10
         }
     }
   ]

Tüm bunlar yapılandırıldıktan sonra Homebridge kullanıma hazır olacaktır. Tekrar çalıştırın ve terminaliniz sizi uzaklaştırmaya zorlayabilecek dev bir QR kodu göstermelidir. Bunu ve bağlı tüm cihazları HomeKit'e eklemek için bunu Home uygulamasıyla tarayın.

Terminalde QR Kodu

Homebridge, eklentilerinizi yükler ve bulduğu her cihaz için ekrana bir mesaj kaydetmesi gerekir. Eklendikten sonra hepsini HomeKit'te görmelisiniz ve tamamen işlevsel olmalıdırlar.

LIFX ampullerime kıyasla hafif bir gecikme fark ettim. Bunun nedeni muhtemelen ampullerin doğrudan değil bir API üzerinden kontrol edilmesidir. İlk başta, ampuller ayrıca bazı beyazları ve sıcak beyazları doğru göstermedi, ancak biraz ince ayar yaptıktan sonra uygun sahneleri ayarlayabildim.

Cihazları her zaman kendi uygulamalarında yapılandırabilir, Home uygulamasının güncellenmesini bekleyebilir ve ardından önceden yapılan yapılandırmayla HomeKit'te sahneyi ayarlayabilirsiniz.

Reklamcılık

Homebridge'i yeniden eklemeniz gerekirse, config dizinindeki persist/ klasörünü silmek ve ardından “Köprü” sekmesi altındaki bağlı herhangi bir ampulün ayarlarından köprüyü HomeKit'ten kaldırmak isteyeceksiniz.

Homebridge'i Hizmet Olarak Ekleme

Homebridge'in her zaman çalışmasını istiyorsanız, muhtemelen çökerse veya Raspberry Pi'niz yeniden başlarsa yeniden başlayacak şekilde yapılandırmak isteyeceksiniz. Bunu bir Unix servisi aracılığıyla yapabilirsiniz. Homebridge'in istendiği gibi çalıştığını doğruladıktan sonra bunu ayarlayın.

İlk olarak, homebridge adlı yeni bir hizmet kullanıcısı ekleyin:

 sudo useradd -M --system ana köprüsü

Bir şifre belirleyin:

 sudo passwd ana köprü

Ardından, ana homebridge yapılandırmasını kişisel ana dizininizin dışına taşımanız gerekecek. /var/lib/homebridge/ iyi olmalı:

 sudo mv ~/.homebridge /var/lib/homebridge/

homebridge kullanan kişinin bu dizine ve tüm alt klasörlere sahip olduğundan emin olun:

 sudo chown -R ana köprüsü /var/lib/homebridge/

Bu yapıldıktan sonra, hizmeti oluşturabilirsiniz. Bunu yapmak için /etc/systemd/system/ içinde homebridge.service adlı yeni bir dosya oluşturun:

 sudo nano /etc/systemd/system/homebridge.service

Ardından aşağıdaki yapılandırmayı yapıştırın:

 [Birim]
Açıklama=Ana köprü hizmeti
After=syslog.target network-online.target

[Hizmet]
Tip=basit
kullanıcı=ana köprü
ExecStart=/usr/bin/homebridge -U /var/lib/homebridge
Yeniden başlat=başarısızlık durumunda
Yeniden BaşlatSn=10
KillMode=süreç


[Düzenlemek]
WantedBy=çok kullanıcılı.hedef

Değişikliklerinizle güncellemek için hizmetler arka plan programını yeniden yükleyin:

 sudo systemctl arka plan programı yeniden yükleme
Reklamcılık

Şimdi, hizmetinizi etkinleştirebilmelisiniz (önyüklemede çalışacak şekilde ayarlayarak):

 sudo systemctl ana köprüyü etkinleştir

Ve başlatın:

 sudo systemctl ana köprüyü başlat

Hizmet yapılandırmasından kaynaklanan hataları ayıklamanız gerekirse, aşağıdakileri yazarak hizmetin günlüklerini görüntüleyebilirsiniz:

 dergictl -fn 50 -u ana köprü