Herhangi Bir Akıllı Cihaz HomeKit'e Nasıl Bağlanır (Raspberry Pi ile)
Yayınlanan: 2022-01-29Birç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.
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.
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.
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ü
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.
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.
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.
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
Ş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ü