Raspberry Pi'de OpenHAB Ev Otomasyonuna Başlarken

Raspberry Pi'de OpenHAB Ev Otomasyonuna Başlarken
Bu kılavuz ücretsiz PDF olarak indirilebilir. Bu dosyayı şimdi indirin . Bunu kopyalayıp arkadaşlarınızla ve ailenizle paylaşmaktan çekinmeyin.

OpenHAB, çeşitli donanımlar üzerinde çalışan ve protokolden bağımsız, yani bugün piyasadaki hemen hemen her ev otomasyon donanımına bağlanabilen olgun, açık kaynaklı bir ev otomasyon platformudur. Yalnızca ışıklarınızı kontrol etmek için çalıştırmanız gereken üreticiye özel uygulamaların sayısından bıktıysanız, size harika haberlerim var: OpenHAB, aradığınız çözüm - en esnek akıllı ev bulabileceğiniz hub.





Ne yazık ki, tüketici dostu olandan alabileceğiniz kadarıyla - ama her zaman olduğu gibi, MakeUseOf'un devreye girdiği yer: paranın satın alması gerekmeyen nihai akıllı ev sistemi ile nasıl çalışmaya başlayacağınızı göstereceğiz (çünkü OpenHAB %100 ücretsiz – sadece donanımı sağlayın).





Bu kılavuzun ilk bölümü, özel olarak OpenHAB kurulumunun nasıl yapılacağına odaklanmaktadır. Ahududu Pi 2 , ancak dahası, öğreticiler ve tavsiyeler OpenHAB'ın kurulu olduğu her yere uygulanabilir.





Bu kılavuz, üç giriş konusunu ve bir tanesi biraz daha ileri düzeyde içerir.

  • OpenHAB'ı Pi üzerinde çalıştırmak ve çekirdek sistemlerin çalışıp çalışmadığını kontrol etmek için demo ev konfigürasyonunu kurmak.
  • Cihazlar için bağlamalar ve profiller nasıl eklenir. Philips Hue ile çalışacağım.
  • Uzaktan erişimi etkinleştirme ve IFTTT'ye bağlanma.
  • Bluetooth kullanarak bir DIY varlık sensörü ekleme ve REST arayüzüne giriş.
  • OpenHAB mobil uygulamasını yapılandırma.

Neye ihtiyacınız olacak

En azından bir Raspberry Pi'ye (tercihen v2) ve bir Ethernet veya kablosuz adaptöre ihtiyacınız olacak (Ethernet tercih edilir, bu kılavuz Wi-Fi adaptörünüzün çalışmasıyla ilgili talimatları içermez). Diğer her şey isteğe bağlıdır. OpenHAB'ın orijinal Raspberry Pi'de de çalışacağını unutmayın, ancak daha yavaş işleme ve Z-Wave cihazlarıyla ilgili bilinen bir sorun var. Z-Wave'e ihtiyacınız yoksa, bu uyarıyı güvenle görmezden gelebilir ve bir Raspberry Pi model B veya B+ ile devam edebilirsiniz, çünkü diğer her şey yolunda görünüyor. Z-Wave eklerseniz her zaman en son Pi'ye yükseltebilirsiniz.



Bu küçük şey, sahip olduğunuz en iyi akıllı ev merkezi olabilir!

Yazma sırasında, OpenHAB'ın en son kararlı sürümü 1.71 sürümüdür; 1.8 sürümünün yakında çıkması bekleniyor ve bu kılavuzdaki her şey, belirli ciltlemelerin daha fazla özelliği olsa da, yine de alakalı olmalıdır. Sürüm 2 şu anda çok erken bir alfa önizlemesi olarak da mevcuttur, ancak OpenHAB 1 serisinden önemli ölçüde farklı bir mimari benimser: bu kılavuz sürüm 2 ile uyumlu değildir.





Bu kılavuzu yavaş ve metodik bir şekilde takip etmenizi şiddetle tavsiye ederim. – derinlere atlamaya ve her şeyi bir kerede eklemeye çalışmayın. Evet, bu uzun bir kılavuzdur – OpenHAB, genellikle ihtiyaçlarınız için ince ayar gerektiren zor bir sistemdir ve başarıyı sağlamanın en iyi yolu, yavaş çalışmak ve her seferinde bir parçayı tamamlamaktır.

İyi haber şu ki, bir kez çalıştığında, kaya gibi sağlam bir deneyim ve inanılmaz derecede ödüllendirici.





OpenHAB'ı Yükleme

OpenHAB için önceden yapılandırılmış bir görüntü yoktur, bu nedenle kurulum bir komut satırı aracılığıyla eski moda şekilde yapılır. RPi üzerinde başsız çalışmanızı öneririm - nadiren kullanacağınız bir GUI'yi yönetmenin yükü buna değmez.

ile başlayın en son (tam) Raspbian SD görüntüsü ('lite' sürümü değil, bunlara Java Sanal Makinesi dahil değildir). Ağ kablonuzu takın, ardından önyükleme yapın ve SSH'de gezinin. Çalıştırmak:

sudo raspi-config

Dosya sistemini genişletin; ve gelişmiş menüden, bellek bölmesini 16 olarak değiştirin. İşiniz bittiğinde, yeniden başlatın ve iyi bir uygulama olarak tam bir güncelleme çalıştırın

sudo apt-get update
sudo apt-get upgrade

OpenHAB çalışma zamanını kurmanın daha kolay yolu şudur: apt-get , ancak önce bir güvenli anahtar ve yeni depo eklememiz gerekiyor:

wget -qO - 'https://bintray.com/user/downloadSubjectPublicKey?username=openhab' |sudo apt-key add -
echo 'deb http://dl.bintray.com/openhab/apt-repo stable main' | sudo tee /etc/apt/sources.list.d/openhab.list
sudo apt-get update
sudo apt-get install openhab-runtime
sudo update-rc.d openhab defaults

Merakla, her şey 'root' sahibi olarak kuruldu. Bunu aşağıdaki komutlarla düzeltmemiz gerekiyor.

sudo chown -hR openhab:openhab /etc/openhab
sudo chown -hR openhab:openhab /usr/share/openhab

Ardından, Samba'yı yükleyeceğiz ve yapılandırma ve kullanıcı klasörlerini paylaşacağız - bu, eklentileri yüklemeyi ve site haritasını uzaktan değiştirmeyi kolaylaştıracaktır.

sudo apt-get install samba samba-common-bin
sudo nano /etc/samba/smb.conf

Gerekirse çalışma grubu adını değiştirin, aksi takdirde WINS desteğini etkinleştirin:

wins support = yes

(hattın yorumunu kaldırmanız ve hayır'ı evet olarak değiştirmeniz gerekir)

ardından aşağıdakini paylaşım tanımları bölümüne ekleyin (uzun dosyanın sonuna kadar aşağı kaydırın):

[OpenHAB Home]
comment= OpenHAB Home
path=/usr/share/openhab
browseable=Yes
writeable=Yes
only guest=no
create mask=0777
directory mask=0777
public=no
[OpenHAB Config]
comment= OpenHAB Site Config
path=/etc/openhab
browseable=Yes
writeable=Yes
only guest=no
create mask=0777
directory mask=0777
public=no

Ayrıca Yazıcılar bölümünü de yorumladım. Yapılandırma dosyaları aslında eklentilere ayrı olarak depolandığından iki paylaşım yaptım.

Kaydet ve çık. Sonunda openhab kullanıcısı için bir Samba şifresi belirlememiz gerekiyor:

sudo smbpasswd -a openhab

Sadece kullanım kolaylığı için şifre olarak 'openhab'ı öneririm, ama gerçekten önemli değil.

Okuyucu David L sayesinde - en son Raspian'da Samba'yı yeniden başlatma yöntemi değişmiş görünüyor. İşte güncellenmiş talimatlar:

sudo update-rc.d smbd enable
sudo update-rc.d nmbd enable
sudo service smbd restart

Samba'yı yeniden başlattıktan sonra (eski yüklemeler sudo hizmeti samba yeniden başlatma ), ortak drive'a erişebildiğinizi test edin. Mac'te otomatik olarak bulunmayabilir; ama kullanabilirsin Bulucu -> Gitmek -> Sunucuya bağlan ve adres

smb://openhab@raspberrypi.local

Kullanıcı adı openhab ve seçtiğiniz şifre ile kimlik doğrulaması yapın, ardından etrafa bakmak için her iki paylaşımınızı da açın. Hatta http://raspberrypi.local:8080/ adresini web tarayıcınızda açabilmelisiniz, ancak henüz bir site haritası oluşturmadığımız için bir hata ile karşılaşacaksınız. Bu normal.

Şimdi, OpenHAB günlüğünü takip etme komutunu öğrenmek için iyi bir zaman olabilir, böylece hatalara göz kulak olabilirsiniz.

tail -f /var/log/openhab/openhab.log

Kılavuza devam ederken bunu çalışır durumda tutun ve her zaman ayrı bir SSH penceresinde açın.

Demo Evi'ni kurun

Konfigürasyon dosyalarının inceliklerine girmeden önce, cihaz ekleme ve bağlama vb.; demo içeriğini ekleyerek her şeyin çalıştığını kontrol edelim. OpenHAB.org'un indirmeler bölümünün altında 'Demo Kurulumu'nu bulacaksınız.

Açtığınızda, iki klasör vardır: eklentiler ve konfigürasyonlar .

Ağ paylaşımlarını kullanarak kopyalayın konfigürasyonlar için OpenHAB Yapılandırması mevcut klasörü paylaşın ve üzerine yazın. kopyala eklentiler diğerine OpenHAB Ana Sayfası yine mevcut klasörlerin üzerine yazarak paylaşın. Bir şeyin üzerine yazmanız istenmezse, yanlış yapıyorsunuz. Gözünüz hata ayıklama günlüğü dosyasındaysa, yeni bağlamaları fark ettiğinden ve harekete geçtiğinden bir etkinlik dalgalanması görmelisiniz. Demoyu görmek için raspberrypi.local:8080/openhab.app?sitemap=demo sayfasını açın.

Şu anda biraz basit görünüyor, ancak OpenHAB'ın açık doğası, daha sonra güzel bir yeni tema veya tamamen alternatif bir arayüz yükleyebileceğimiz anlamına geliyor. Şimdilik, sadece her şeyin işe yaradığını bilmemiz gerekiyordu. Baktığımız şeye bir denildiğini unutmayın. site haritası (bir web sitesi site haritası ile ilgisi yok). Bir site haritası, ağınızdaki gerçek cihazları veya sensörleri değil, yalnızca onları görüntülemek için kullanılan arayüzü tanımlar. Her parçası tamamen özelleştirilebilir. Bunun nasıl oluşturulduğuna bir göz atmak için, site haritaları/demo.site haritası OpenHAB Config paylaşımındaki dosya.

Oldukça göz korkutucu, ancak çoğunlukla kendi özel arayüzünüzü oluşturmak için başka yerlerdeki örneklerden kod parçalarını yapıştırarak kopyalayacaksınız. Burada teknik Genel Bakış Tüm olası site haritası öğelerinin tümü, ancak şimdilik ne tür bir arayüz oluşturmak istediğinizi ve hangi bilgileri görüntülemek istediğinizi düşünmeye başlamak yeterli olacaktır.

Oradayken, aç öğeler/demo.öğeler fazla. Yine korkutucu görünüyor, ancak bu, kontrol edilecek öğeleri ve izlenecek sensörleri tanımladığınız yerdir.

Peki OpenHAB Nasıl Çalışır?

Artık site haritası ve öğeler klasörünü hızlıca gözden geçirdiğinize göre, bu dosyaların tam olarak ne olduğunu ve eksiksiz akıllı evinizi oluşturmak için bir araya gelen OpenHAB'ın diğer ana bileşenlerini inceleyelim. OpenHAB Config paylaşımlı klasöründe bunların her biri için alt dizinler bulacaksınız.

Öğeler sisteminizde olmasını istediğiniz her kontrol cihazının, sensörün veya bilgi öğesinin bir envanteridir. Fiziksel bir cihaz olması da gerekmez – hava durumu veya hisse senedi fiyatları gibi bir web kaynağı tanımlayabilirsiniz. Her öğe adlandırılabilir, birden çok gruba atanabilir (veya hiçbiri) ve belirli bir bağlamaya bağlanabilir. (Yeni başlayanlar için ipucu: Bağlamalar söz konusu olduğunda büyük harf kullanımı önemlidir. 'Hue' ampullerimin neden çalışmadığını bulmak için uzun zaman harcadım; bunun nedeni onların 'hue' olması gerektiğiydi).

Site Haritaları sadece OpenHAB mobil veya web uygulamasını açtığınızda göreceğiniz arayüz ile ilgilidir. Düğmelerin nasıl yerleştirileceğini ve bilgilerin nasıl sunulacağını tam olarak kontrol edebilirsiniz. Evinizin her odası için üst düzey gruplar tanımlayabilirsiniz; her birine tıklamak size o odadaki her cihazın bir listesini gösterir. Veya her cihaz türü için gruplar göstermeyi tercih edebilirsiniz: ışıklar için bir düğme, elektrik prizleri için başka bir düğme. O kadar sık ​​kullandığınız bazı cihazlar olabilir ki, sadece ana ekranda onlar için bir geçiş yapmak istersiniz.

Tüzük Bir eylemin gerçekleşmesi için programları veya koşulları tanımlayabileceğiniz ev otomasyonu yönünün devreye girdiği yerdir. Yatak odasının ışıklarını akşam 10'da sıcak kırmızıya çevirmek gibi basit olaylar; veya sıcaklık 0'dan düşükse ve o odada biri varsa, bir ısıtıcıyı açmak gibi daha karmaşık mantık. Ayrıca bir Kodlar Kurallara benzer işlevsellik sunan ancak daha karmaşık bir programlanabilir mantık düzeyinde olan klasör.

kalıcılık Bu kılavuzda ele almayacağımız ileri düzey bir konudur, ancak kalıcılık, kaydını tutmak istediğiniz verileri tanımlar. Varsayılan olarak, OpenHAB yalnızca bir şeyin mevcut durumunu gösterecektir; bu değeri zaman içinde izlemek istiyorsanız, o veri kaynağı için bir kalıcılık tanımı ayarlamanız gerekir. Burada, bir veri noktasının ne sıklıkta ölçülmesi gerektiği veya eski veri noktalarının ne zaman atılacağı gibi şeyleri belirleyeceksiniz - ayrıca, MySQL veya bir dosyaya basit günlük kaydı gibi ne tür kalıcılık motorunun kullanılacağını da söylemeniz gerekecek. .

dönüştürmek etiketlere veri değerleri için eşlemeler içerir. Örneğin, humidex.ölçek file, bir dizi nem indeksi değerini ve bunların İngilizce olarak nasıl gösterilmesi gerektiğini tanımlar: 29-38 'biraz rahatsızlıktır'.

NS site haritası ve öğeler OpenHAB'ın çalışması için dosyalar gereklidir; geri kalanı isteğe bağlıdır. Birden fazla site haritasına ve öğeye sahip olabilirsiniz, böylece demo içeriğini saklayabilir ve istediğiniz zaman ona başvurabilir veya ev kontrol arayüzünüz için yeni bir düzen deneyebilirsiniz. Bunların hepsi şu anda biraz bunaltıcı görünüyorsa endişelenmeyin, bunu yönetilebilir parçalara ayıracağız ve bu kılavuzun sonunda kendi OpenHAB kurulumunuzu oluşturmak için kendinize güveneceğinize söz veriyorum.

Sırada, yeni bir site haritasında sıfırdan başlayarak bazı yaygın akıllı ev kiti ekleme konusunda size yol göstereceğiz. Her biri, bağlamaların nasıl kurulacağı ve öğe tanımları gibi bazı temel kavramları tanıtacaktır, bu nedenle bu talimatları okumanızı şiddetle tavsiye ederim. bu belirli cihazlara sahip olmasanız bile .

Yeni (boş) oluşturarak başlayın ev.öğeler dosya ve yeni ev.site haritası ilgili dizinlere dosyalayın. aç ev.site haritası ve aşağıdaki kodu yapıştırın. Bu sadece daha sonra ekleyeceğimiz temel bir iskelet görevi görür.

sitemap home label='My Home'
{

}

OpenHAB'ın yeni bir site haritası ve öğeler dosyası belirlediğini bildirmek için bir bildirim görmelisiniz.

aligncenter size-large wp-image-496593

Hata Ayıklama Modunu Etkinleştir

Hâlâ OpenHAB'ın düzgün çalışmasını sağlamaya çalışırken, yalnızca önemli şeyleri değil, her şeyi listeleyen daha ayrıntılı bir hata ayıklama günlüğünü etkinleştirmek yararlı olabilir. Bu modu etkinleştirmek için OpenHAB Config paylaşımlı klasörünü açın ve logback.xml . 40. satırda, INFO yerine DEBUG okumak için aşağıdaki satırı değiştirin. Bunu değiştirdikten sonra yeniden başlatmanız gerekecek.

Bu küresel bir değişikliktir, bu nedenle günlük dosyasını takip ettiğinizde çok daha fazla bilgi alacaksınız.

Philips Hue Ekleme

Philips Hue ile başlayacağım. OpenHAB'da etkileşim kurmak isteyeceğiniz çoğu şey gibi, Hue ampuller de bir bağlayıcı – bağlamaları bir aygıt sürücüsü gibi düşünün. Yazma sırasında, OpenHAB 1 için yaklaşık 160 bağlama mevcuttu, bu nedenle OpenHAB bu kadar güçlü bir sistemdir – tüm bu farklı kontrol sistemlerini tek bir birleşik arayüzde birleştirerek her şeyle arayüz oluşturabilir. İşte ilgili adımlara bir demo ve hızlı bir genel bakış.

Bağlamalar önce indirilmelidir ve bunu Pi'de yapmanın en kolay yolu kullanmaktır. apt-get , ardından sahipliği openhab kullanıcısına zorlayın.

sudo apt-get install openhab-addon-binding-hue
sudo chown -hR openhab:openhab /usr/share/openhab

Daha sonra OpenHAB'a bu bağlamayı yüklemesini ve gereken tüm değişkenleri yapılandırmasını söylemeniz gerekir. Konfigürasyonlar klasörüne göz atın ve bir kopyasını alın openhab-default.cfg , adlandırmak openhab.cfg . Bunu aç, ara TON ve tüm bölümü aşağıdaki kodla değiştirin. Değiştirmeniz gereken tek şey, köprünüzün IP değeridir – henüz bilmiyorsanız, çevrimiçi keşif aracını deneyin. Gizli değer gerçekten önemli değil, sadece OpenHAB'ın kendisini köprüye tanıtmak için kullanacağı bir tür kullanıcı adı.

Hızlı ipucu : bir satırı etkinleştirmek için baştaki # işaretini kaldırmanız yeterlidir. Varsayılan olarak, köprünün IP adresini belirten satır devre dışıdır (veya teknik olarak 'yorumlanır'). Ayrıca, alternatif bir yapılandırma deniyorsanız, yalnızca mevcut satırı kopyalayıp yorum olarak işaretlemek için başına # koymak yararlı olabilir, böylece işler ters giderse kolayca geri dönebilirsiniz.

################################ HUE Binding ######################################### # IP of the Hue bridge
hue:ip=192.168.1.216
hue:secret=makeuseofdotcom
hue:refresh=10000

Kaydet ve çık. Herhangi bir üçüncü taraf Hue uygulamasında olduğu gibi, ön taraftaki düğmeye basarak Hue Bridge'de OpenHAB'ı onaylamanız gerekir - bunu yalnızca bir kez yapmanız gerekir. hakkında bir mesaj göreceksiniz eşleşmeyi bekliyor günlük dosyasını izliyorsanız, ancak geri sayımı unuttuysanız veya kaçırdıysanız, Pi'yi sıfırlamanız yeterlidir; Hue bağlama başlatıldığından itibaren 100 saniyelik bir zamanlayıcı alırsınız. Devam etmeden önce başarıyla eşleştirdiğinizden emin olun.

Ardından, açın ev.öğeler bazı Hue ampulleri ekleyeceğimiz dosya. İşte örnek bir öğe tanımı:

Color Bedroom_Hue 'Bedroom Hue' (Bedroom) {hue='1'}
  • NS Renk word, bu öğe üzerinde ne tür bir kontrolümüz olduğunu belirtir. RGB Hue ampuller, tam renk kontrolüne sahip olduğumuz için 'Renkli'dir. Diğer ışıklar sadece bir Anahtar olabilir.
  • Sonraki öğenin kod adı: Ben seçtim Bedroom_Hue , ancak kelimenin tam anlamıyla her şey yolundadır - yalnızca size doğal gelen açıklayıcı bir şey, çünkü daha sonra site haritasını oluştururken hatırlamanız gerekecek. Kod adında boşluk olmamalıdır.
  • Tırnak işaretleri arasında etiket bulunur. Bu durumda bizimki basittir, ancak sıcaklık veya bir değer bildiren bir şey gibi bazı öğeler için, ona bu değeri nasıl görüntüleyeceğini veya ne kullanacağını söyleyen bazı özel kodlar ekleyeceksiniz. dönüştürmek. Etiket arayüz içindir ve boşluk içerebilir.
  • Köşeli parantezler arasında simgenin adı bulunur. Kullanılabilir tüm simgeleri OpenHAB paylaşımında, web uygulamaları/resimler dizin. Aslında, farklı parlaklıkları veya açık/kapalıları temsil eden bir dizi renk tonu simgesi vardır. Sadece temel simge adını belirtin – OpenHAB, bu bir anahtarlanmış öğeyse, farklı açma/kapama simgelerini otomatik olarak arayacağını bilecektir. Bu isteğe bağlıdır.
  • Yuvarlak parantez içinde hangi grupların parçası olacağını söyleriz - bu durumda sadece Yatak odası grup.
  • Son olarak ve en önemlisi, öğeyi gereken herhangi bir değişkenle uygun bağlamaya bağlarız. Bu durumda, renk tonu ciltleme ve ampulün numarası 1'dir. Resmi Hue uygulamasını açıp ışıklar sekmesine bakarak numarayı bulabilirsiniz. Her ampulün benzersiz bir numarası vardır.

Daha sonra genişleteceğimiz grupların basit bir bildiriminin yanı sıra toplam dört ampul ekledim. işte benim tam ev.öğeler Bu noktada:

Group Bedroom
Group Office
Group Kai
Group Living_Room
Group Cinema
Group Secret
Group Lights /* Lights */
Color Bedroom_Hue 'Bedroom Hue' (Bedroom,Lights) {hue='1'}
Color Office_Hue 'Office Hue' (Office, Lights) {hue='2'}
Color Secret_Hue 'Secret Hue' (Secret, Lights) {hue='3'}
Color Kai_Hue 'Kai's Hue' (Kai, Lights) {hue='4'}

NS /* Işıklar */ metin sadece bir yorumdur, dosyayı daha sonra büyüdüğünde taramamıza yardımcı olmaktan başka bir işlevi yoktur. Şimdi cihazları ekledik, ancak http://raspberrypi.local:8080/?sitemap=home'u açmak boş bir arayüzle sonuçlanıyor – elbette, çünkü henüz site haritasında arayüz öğelerini oluşturmadık. Şimdilik çok basit başlayalım. aç ev.site haritası .

Arayüzü tanımlamak için kullanılan kod, öğelerden farklıdır, ancak şimdilik yeni bir 'çerçeve' oluşturacağız ve bazı simgelerle birlikte birkaç grup kontrolü ekleyeceğiz.

sitemap home label='My Home'
{
Frame {
Group item=Lights label='All lighting' icon='hue'
Group item=Bedroom label='Bedroom' icon='bedroom'
Group item=Office label='Office' icon='desk'
}
}

Gruplar, hızlı test için kullanışlı bir araçtır, ancak gerçekte, öğelerin nasıl görüntülendiği üzerinde daha fazla kontrol sahibi olmak isteyeceksiniz. Şimdilik bu yeterli olacaktır. Tarayıcıda ana site haritanızı kaydedin ve yeniden yükleyin. Bunu görmelisiniz (veya hangi grupları eklediyseniz).

Tıklamak Tüm aydınlatma hepsini o kapsayıcı ışık grubuna ait olarak tanımladığımız için her Ton ışığını görmek için.

Office Hue öğesinin farklı bir simgeyle görüntülendiğine dikkat edin – bunun nedeni ofis ışığımın zaten yanmasıdır ve OpenHAB, Hue köprüsüyle konuştuğunda bunu bilir ve simgeyi dosyanın 'açık' sürümüne ayarlayacak kadar akıllıdır. Ne yazık ki rengi yansıtmıyor, ancak yüklü bir mobil uygulamanız varsa, mevcut rengi yansıtacaktır.

Tanımladığınızı düşündüğünüzden daha fazla öğe görüyorsanız veya birden çok tanımla ilgili hatalar alıyorsanız, sayfaya aynı anda yalnızca bir site haritası yükleyebilmenize rağmen şunu bilin. tüm site haritaları, öğeleri tüm .item dosyalarından çeker , yani demo öğeleri dosyasını orada bıraktıysanız, gruplarınızda da bazı ek öğeleriniz görünebilir. Bu noktada, çoğaltma hatalarını önlemek için demo öğelerinin içeriğini yedeklemenizi ve klasörün dışına taşımanızı öneririm.

My.OpenHAB ile Uzaktan Erişim ve IFTTT

Şu anda OpenHAB sisteminize erişmek için aynı yerel ağda olmanız gerekir, ancak Wi-Fi kapsama alanı dışındayken cihazlarınızı kontrol etmek ve sensörleri kontrol etmek isterseniz ne olur? Bunun için uzaktan erişim kurmamız gerekecek - ve bunu, bağlantı noktası yönlendirme ve yönlendirici yapılandırmalarıyla uğraşma ihtiyacını ortadan kaldıran My.OpenHAB web hizmeti [Broken URL Removed] ile kolay yoldan yapacağız. Bonus olarak, My.OpenHAB hizmetinde ayrıca size uzaktan kontrol ve otomasyon için sonsuz olanaklar sunan bir IFTTT kanalı bulunur.

İlk olarak: bağlamayı kurun. Hızlı ipucu: Belirli bir yükleme paketinin tam adını bilmiyorsanız, apt-cache ile aramayı deneyin.

sudo apt-get install openhab-addon-io-myopenhab
sudo chown -hR openhab:openhab /usr/share/openhab

My.OpenHAB sitesine kaydolmadan önce, gizli bir anahtar oluşturmanız ve kurulumunuzu benzersiz şekilde tanımlayan UUID'nizi bulmanız gerekir. altında kontrol edin OpenHAB Ana Sayfa paylaşımı -> ağ uygulamaları -> statik ve benzersiz tanımlayıcınızı içeren bir UUID dosyası bulmalısınız. Bu noktada Pi'min gizli anahtarı doğru şekilde oluşturmayan eski bir Java sürümünü kullandığını keşfettim. Tip

java -version

kontrol etmek. 1.7 veya üstü yazmıyorsa, yanlış sürüme sahipsiniz demektir. Garip bir şekilde, Raspbian'ın en son sürümü Oracle Java 8 yüklü olarak geliyor, ancak varsayılan olarak ayarlanmadı.

sudo güncelleme alternatifleri --config java

bsod pencereleri 10 nasıl düzeltilir

gösteren seçeneği seçin. jdk-8-kahin , ardından OpenHAB'ı yeniden başlatın. Bonus: Oracle Java 8, varsayılan OpenJDK'dan daha hızlıdır!

Şimdi aynı zamanda gizli bir dosya da bulmalısınız. web uygulamaları/statik dosya. Her ikisini de açın gizli ve uuid ve kopyala yapıştırmaya hazır olun.

Şimdi bu ayrıntıları kullanarak bir My.OpenHAB hesabı oluşturun, ardından geri dönün - ayrıca herhangi bir şey işe yaramadan önce e-postanızı onaylamanız gerekir. Bunun için birkaç adım daha var. İlk olarak, varsayılan kalıcılık motorunu myopenhab'a ayarlamamız gerekiyor (kalıcılık sonraki bir kılavuz için bir şeydir, ancak ne olursa olsun, verilerimizi çevrimiçi hizmete 'dışa aktarmak' ve IFTTT'ye görünür kılmak için temel bir şey ayarlamamız gerekir) . Bunu yapmak için openhab.cfg dosyasını açın ve yazan değişkeni bulun. kalıcılık:varsayılan= ve onu değiştir kalıcılık:varsayılan=myopenhab . Kaydetmek.

Son olarak, içinde yeni bir dosya oluşturun. konfigürasyonlar/kalıcılık denilen klasör myopenhab.persist , ve aşağıdaki kuralı yapıştırın.

Strategies {
default = everyChange
}
Items {
* : strategy = everyChange
}

Bunu şimdilik anlamanıza gerek yok, ancak 'her öğe durumunu değiştiğinde kaydet' yazdığını bilin.

IFTTT ile bağlantı kurmak için şuraya gidin: OpenHAB kanalı – kimlik doğrulaması yapmanız ve MyOpenHAB hesabınıza erişmesine izin vermeniz gerekir. Ayrıca, öğeleriniz en az bir kez değişene kadar IFTTT'deki öğeler listesinde görünmeyeceklerini unutmayın, bu nedenle görünmüyorsa bir şeyi açıp kapatın, ardından yeniden yükleyin. Tebrikler, artık OpenHAB sisteminizdeki her şeye tam IFTTT erişiminiz var!

REST kullanan Bluetooth Varlık Sensörü

Kısa bir süre önce, kullanıcının varlığını algılamak için Bluetooth taramasını kullanarak otomatik bir ofis kapısı kilidinin nasıl yapıldığını gösterdim – OpenHAB'a böyle bir şey getirmek istedim.

Raspberry Pi dışındaki herhangi bir platformda, hazır bir Bluetooth bağlantısı sayesinde bu çok kolay olacaktır; ne yazık ki, ARM mimarisi için yeniden derlenmesi, bağlamaya eklenmesi ve ardından bağlamayı yeniden oluşturması gereken önemli bir Java dosyası nedeniyle Pi üzerinde çalışmıyor. Söylemek yeterli, bunu denedim ve korkunç derecede karmaşıktı ve işe yaramadı. Bununla birlikte, OpenHAB'ın tamamen genişletilebilirliğine iyi bir giriş olarak da hizmet eden çok daha kolay bir çözüm var: Önceki Python betiğimizi, doğrudan OpenHAB RESTful arayüzüne rapor vermesi için uyarlayacağız.

Ayrıca: RESTful arayüzü, yerleşik web sunucusunu kullanarak, yalnızca URL'leri arayarak ve veri ileterek veya alarak bir sistemle etkileşime girebileceğiniz anlamına gelir. Bunun basit bir örneğini kendi sunucunuzda görmek için bu URL'yi ziyaret edebilirsiniz: http://raspberrypi.local:8080/rest/items – bu, tanımladığınız tüm öğelerin kodlanmış bir listesini verir. Bu, OpenHAB'ın tüm potansiyelini ortaya çıkardığı ve özel arayüzler yazmanıza izin verdiği için inanılmaz derecede güçlüdür; veya ters olarak, belirli bir bağlamaya sahip olmadan sensörlerin durumunu bildirmek için kullanılır. Bu özelliği, Bluetooth bağlamasına başvurmadan belirli bir Bluetooth cihazının varlığını bildirmek için kullanacağız.

Yeni ekleyerek başlayın Değiştirmek senin için öğe ev.öğeler dosya. Benimkini 'JamesInOffice' olarak adlandırdım ve telefonumun kapanması durumunda varlığımı manuel olarak kontrol edebilmem için basit bir açma/kapama kontağı yerine bir geçiş yaptım.

Switch JamesInOffice 'James in Office' (Office)

Bir simge tanımlamadığıma veya belirli bir bağlamayı ilişkilendirmediğime dikkat edin. Bu sadece genel bir anahtar.

Ardından, uyumlu bir USB Bluetooth dongle takın ve onunla etkileşim kurmak için bazı temel araçları yükleyin.

sudo apt-get install bluez python-bluez python-pip
sudo pip install requests
hcitool dev

Son komut Bluetooth adaptörünüzü göstermelidir. Listelenen hiçbir şey yoksa, başka bir adaptör deneyin, sizinki Linux ile uyumlu değil. Bir sonraki adım, cihazınızın Bluetooth donanım adresini bulmaktır.

wget https://pybluez.googlecode.com/svn/trunk/examples/simple/inquiry.py
python inquiry.py

Telefonunuzun Bluetooth ayarları sayfasında açık olduğundan (bu, eşleştirme/genel moda geçer) ve tabii ki Bluetooth'un etkinleştirildiğinden emin olun. Listelenen bir onaltılık donanım adresi bulmalısınız.

Pi kullanıcı ana dizininizden yeni bir Python betiği oluşturun ve bu kodu yapıştırın .

Belirli cihaz adresinizden başlayarak düzenlemeniz gereken birkaç şey var:

result = bluetooth.lookup_name('78:7F:70:38:51:1B', timeout=5)

İki yerde olan bu hattın yanı sıra (evet, bu muhtemelen daha iyi yapılandırılabilir). JamesInOffice'i tanımladığınız anahtarın kod adıyla değiştirin.

r = requests.put('http://localhost:8080/rest/items/JamesInOffice/state',data=payload)

Son adım, bu komut dosyasına önyükleme sırasında başlamasını söylemektir.

sudo nano /etc/rc.local

Aşağıya doğru kaydırın ve 0 çıkışından hemen önce aşağıdaki satırları ekleyin:

python /home/pi/detect.py &

& işareti 'bunu arka planda yap' anlamına gelir. Devam edin ve henüz yapmadıysanız komut dosyasını çalıştırın ve OpenHAB arayüzünüzü açın. Bir gruba eklediyseniz, o gruba tıklayın. Güncelleme yaklaşık 10 saniye sürer, ancak telefonunuzun algılanıp algılanmamasına bağlı olarak varsayılan ampul simgesinin açılıp kapandığını göreceksiniz. Hiçbir şey olmazsa günlük dosyasını kontrol edin, yanlış Öğe adını kullanmış olabilirsiniz.

OpenHAB Mobil Uygulaması

Web arayüzünü elbette bir mobil cihazdan kullanabilmenize rağmen, OpenHAB'ın her ikisi için de yerel uygulamaları vardır. ios ve Android - ve bir görünüyorlar çok güzelsin varsayılan tarayıcı arayüzünden daha güzel. Ayarlar ekranında, bağlantı noktası numarası da dahil olmak üzere şimdiye kadar kullandığınız dahili IP olarak yerel URL'yi girin. Uzak URL için girin https://my.openhab.org , ve kaydolurken girdiğiniz kullanıcı adı (e-posta) ve şifreniz. Henüz MyOpenHAB'a kaydolmadıysanız, kimlik doğrulama ve uzak URL'yi boş bırakın, ancak sisteminize yalnızca yerel Wi-Fi'nizden erişeceksiniz.

İlerlemek ve Yardım Alma

OpenHAB kontrol cihazınıza ekleyebileceğiniz özelleştirme ve düzgün özelliklerin miktarı gerçekten destansı. Bağlamalara sahip çok sayıda desteklenen cihaz listesinin yanı sıra, RESTful arayüzünü, HTTP uzantılarını ve IFTTT'yi, kelimenin tam anlamıyla her tür IoT cihazından okumak veya kontrol etmek için ve ardından bazılarını (yaratıcı aydınlatma fikirlerimizden bazılarını deneyin) kullanabilirsiniz. Evet, kurulumu kesinlikle zahmetlidir, ancak tek bir ticari sistem, özelleştirilmiş bir OpenHAB sisteminin gücüne yaklaşamaz.

Bununla birlikte, yolculuk benim için hiç de kolay değildi, bu yüzden bu kılavuzu sizin için süreci kolaylaştırmak için yazdım. Ve OpenHAB sistemini bunaltıcı bulursanız, Raspberry ev otomasyonu söz konusu olduğunda başka seçenekler de vardır --- örneğin garaj kapınızı otomatikleştirmek için Raspberry Pi kullanmak gibi.

Z-Wave ve ayarlayabileceğiniz diğer harika hileleri kapsayan gelişmiş bir kılavuz için MakeUseOf'ta bizi izlemeye devam edin.

Bu kılavuzun belirli bir bölümüyle ilgili yardıma ihtiyacınız varsa, lütfen yorumlarda sorun. Henüz ele almadığımız başka bir ciltleme veya bazı ileri düzey konularla ilgili yardım istiyorsanız, resmi OpenHAB forumları misafirperver bir yer.

Paylaş Paylaş Cıvıldamak E-posta VirtualBox Linux Makinelerinizi Güçlendirmek için 5 İpucu

Sanal makinelerin sunduğu düşük performanstan bıktınız mı? İşte VirtualBox performansınızı artırmak için yapmanız gerekenler.

Sonrakini Oku
İlgili konular
  • kendin yap
  • Akıllı ev
  • Ev otomasyonu
  • uzun biçim
  • Uzun Biçimli Kılavuz
  • Akıllı Merkezler
Yazar hakkında James Bruce(707 Makale Yayınlandı)

James, Yapay Zeka alanında lisans derecesine sahiptir ve CompTIA A+ ve Network+ sertifikalıdır. Donanım İncelemeleri Editörü olarak meşgul olmadığı zamanlarda LEGO, VR ve masa oyunlarından hoşlanır. MakeUseOf'a katılmadan önce aydınlatma teknisyeni, İngilizce öğretmeni ve veri merkezi mühendisiydi.

James Bruce'dan Daha Fazla

Haber bültenimize abone ol

Teknik ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için bültenimize katılın!

Abone olmak için buraya tıklayın