Raspberry Pi üzerinde OpenHAB 2 kurulumu

Raspberry Pi 3 küçük; fakat bir o kadar da güçlü ve faydalı bir cihaz. Arkasındaki topluluk desteğiyle de gücüne güç katmakta. Farklı single on-board computer (SoC) deneyimlerim olmasına karşın özellikle topluluk desteği Raspberry Pi’yi öne çıkarttı. Evimde Raspberry Pi’yi akıllı ev sistemimin merkezinde konumlandırdım. Bu sebeple üzerinde OpenHAB 2 koşturuyorum. Bu makalemde, kısa süre önce Beta3 sürümü yayınlanan OpenHAB 2’yi nasıl Raspberry Pi üzerine kurabileceğinizi paylaşacağım.

Github üzerinde açık kaynak kodlu geliştirilen OpenHAB 2 projesi binary dağıtımlarını bintray üzerinden yapmakta. Yazımı hazırladığım sırada en son güncel sürümü olan Beta 3’e bu adresten ulaşılabilir. Online ve offline şeklinde iki dağıtımın bulunduğu bu adreste, ihtiyacınıza göre modüllerin online olarak indirildiği online sürümü dışında toplu halde hepsinin bir arada olduğu offline sürümüne de ulaşabilirsiniz. Ben yer kaplamaması adına bu makalemde online sürümü kullanmayı planlıyorum.

İlk adımımız Raspberry Pi’ye bağlanarak online sürümü indirmek olacak;

wget https://bintray.com/openhab/mvn/download_file?file_path=org%2Fopenhab%2Fdistro%2Fopenhab-online%2F2.0.0.b3%2Fopenhab-online-2.0.0.b3.zip -O openhab-online-2.0.0.b3.zip

Güncel sürümlere ait indirme adresleri için bintray üzerinde yer alan openhab-distro projesini ziyaret etmenizde fayda var.

İndirme işleminin tamamlanması ardından zip dosyasını açalım. Ben dosyaları /opt/openhab2 dizini altında atmayı tercih ettim. Siz isterseniz farklı bir dizin de kullanabilirsiniz.

sudo unzip openhab-online-2.0.0.b3.zip -d /opt/openhab2

Patform bağımsız geliştirilen OpenHAB 2, bu haliyle çalışmaya hazır durumda. OpenHAB 2 içerisinde önceden tanımlı 3 farklı yapılandırma paketi ile gelmektedir. Sadece bir gösterge panelinin yer aldığı, ek hiç bir arayüz ve eklentinin bulunmadığı minimal paketi. Tüm standart arayüz ve tipik eklentilerin yer aldığı standard paketi. Son olarak da; hızlıca OpenHAB 2’yi test edebileceğiniz, yeteneklerini görebileceğiniz arayüz, yapılandırma ve bir kaç eklentinin yer aldığı demo paketi. Bu paketler ve diğer eklenti seçimleri openhab 2 kurulum dizini altından conf/services/addons.cfg adresinde yer almaktadır. OpenHAB 2 varsayılan olarak standard paketini kullanmaktadır.

Yetkilendirme de sıkıntı yaşamamak için OpenHAB dizini yetkilerini düzeltelim;

sudo chown -R pi:pi /opt/openhab2

Aşağıdaki komut ile OpenHAB 2’yi başlatabiliriz;

/opt/openhab2/start.sh

OpenHAB 2 Apache Karaf’ı kullanmaktadır. Dolayısıyla da güçlü bir shell desteği sunmaktadır. Başlatmamız ardından bizi bu shell karşılayacaktır;

OpenHAB başlatıldığında Apache Karaf shell'i bizi karşılayacaktır

Ekrandaki karşılama mesajında da belirtildiği üzere bu shell’den çıkarak OpenHAB 2’yi durdurmak için ctrl-d tuş kombinasyonunu kullanabilirsiniz. Alternatif olarak shell’e system:shutdown ya da logout komutlarını yazarak da çıkış yapabilirsiniz. İlklendirme işlemleri tamamlandığından OpenHAB arayüzüne bir tarayıcı üzerinden  Raspberry Pi’nizin 8080 portu üzerinden bağlanabilirsiniz;

OpenHAB 2 karşılama arayüzü

OpenHAB 2, standard paketinde bize farklı arayüz seçenekleri sunmaktadır. Yukarıdaki ekran görüntüsünde de görebileceğiniz bu arayüz seçeneklerinden tercih ettiğinize tıklayarak geçiş yapabilirsiniz. Daha önceden OpenHAB 1.x sürümlerini kullandıysanız tahminimce size Classic UI daha tanıdık gelecektir.

OpenHAB 2 varsayılan olarak 8080 (http) ve 8443 (https) portlarını kullanmatadır. Farklı bir port kullanmak isterseniz OPENHAB_HTTP_PORT ve OPENHAB_HTTPS_PORT ortam değişkenlerinde belirtmeniz gerekli;

export OPENHAB_HTTP_PORT=8980<br>export OPENHAB_HTTPS_PORT=8943

Benzer şekilde EXTRA_JAVA_OPTS ortam değişkeni ile ek Java parametreleri verebilmeniz de mümkün. Örneğin;

export EXTRA_JAVA_OPTS=-Dgnu.io.rxtx.SerialPorts=/dev/ttyACM0

Örneğimizde OpenHAB’ı komut satırından başlatmış olsak da, gerçek hayat senaryolarında bir hizmet olarak başlatılması tercih edilecektir. Bu senaryo  geliştiriciler tarafından göz önüne alınarak hizmet olarak kurulması için aşağıdaki komut eklenmiştir;

openhab:install-service

Öte yandan Raspberry Pi için bu komut henüz desteklenmemektedir. Raspbian Jessie ve üzeri için servis kurulum adımlarını şimdilik  elle gerçekleştirmeliyiz.

Hizmetimiz için bir openhab.service dosyası oluşturmalıyız. Bunun için aşağıdaki komut ile nano’yu başlatabilirsiniz;

sudo nano /lib/systemd/system/openhab.service

Servis dosyasının içeriği aşağıdaki şekilde olmalıdır;

[Unit]
Description=Starts and stops the openHAB Home Automation Bus
Documentation=http://www.openhab.org
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
GuessMainPID=yes
User=pi
ExecStart=/opt/openhab2/start.sh
ExecStop=kill -SIGINT $MAINPID
Restart=on-failure
WorkingDirectory=/opt/openhab2

[Install]
WantedBy=multi-user.target

OpenHAB service dosyası içeriği

OpenHAB servisini aşağıdaki komutla aktif hale getirmeliyiz;

sudo systemctl daemon-reload
sudo systemctl enable openhab

Servisin aktif duruma gelmesi ardından sistemin her açılışında hizmetimiz de otomatik olarak başlatılacaktır. Aşağıdaki komutlar yardımıyla elle başlatabilir ya da durdurabiliriz;

sudo systemctl stop openhab
sudo systemctl start openhab

Aşağıdaki komutla servis durumu hakkında bilgi alabiliriz;

sudo systemctl status openhab

OpenHAB 2’yi servis olarak başlattığınızda shell’e ssh üzerinden erilebişebilirsiniz. Apache Karaf’ın varsayılan ssh portu 8101’dir;

ssh -p 8101 karaf@localhost

Varsayılan kullanıcı adı karaf’tır. Şifresi kullanıcı adı ile aynıdır.

Bir servis olarak başlattığımız OpenHAB'a ssh üzerinden erişebiliriz

Yukarıda adımlar ardından her ne kadar OpenHAB’ı başlatmış olsakta, aslında şu an tam olarak kullanıma hazır değil. Öncelikle ihtiyacımız olan eklentileri kurmamız, yapılandırmalarını gerçekleştirmemiz gerekli. Eklenti kurma işlemini OpenHAB shell’inden yapabileceğimiz gibi Paper UI gibi arayüzler vasıtasıyla görsel olarak da yapabilmemiz mümkün.

Komut satırından devam etmek isterseniz aşağıdaki komut yardımıyla kurulum yapabileceğiniz eklentilerin/özelliklerin listesine ulaşabilirsiniz;

feature:list

OpenHAB 2 shell üzerinde feature:list komutu ile eklenti listesine ve durumuna ulaşabiliriz

Gördüğünüz gibi yukarıdaki komut eklenti/özellik listesini sunmasının yanında sürümleri ve sistemde kurulu olup olmadığı gibi ek bilgileri de sunmaktadır.

Listelenen eklentiler arasından istediklerinizi aşağıdaki komut yardımıyla kurabilirsiniz;

feature:install <eklenti/özellik adı>

Komuttaki <eklenti/özellik adı> bölümüne kurulumunun yapılması istediğiniz özelliğin adını yazmalısınız. Bu bilgiye bir önceki komutla gelen listedeki name stütunundan ulaşabilirsiniz. Örneğin; Z-Wave Bindign kurulumunu aşağıdaki şekilde yapabilirsiniz;

feature:install openhab-binding-zwave

İpucu: özellik listesinde aşağıdaki şekilde hızlı arama yapabilirsiniz;

feature:list | grep zwave

OpenHAB Apache Karaf shell üzerinde komut çıktılarında grep ile arama yapabilirsiniz

Kurulum işlemini alternatif olarak Paper UI üzerinden de yapabiliriz. Çok daha kolay olan bu yöntemde Paper UI arayüzünde sol tarafta yer alan menüden Extensions bölümüne gelerek  istediğiniz eklentiyi kurabilirsiniz;

Paper UI üzerinden binding kurulumu

Her bir eklenti farklı yapılandırma ihtiyaçlarına sahip olduğu için yapılandırma adımlarını yeri geldikteçe ilerleyen makalelerde değineceğim.

Fatih Boy

Ankara'da yaşayan Fatih, bir kamu kurumunda danışman olarak çalışmaktadır. ALM süreçleri, kurumsal veri yolu sistemleri, kurumsal altyapı ve yazılım geliştirme konularında destek vermektedir. Boş zamanlarında açık kaynak kodlu projeler geliştirmeyi ve bilgisini yazdığı makalelerle paylaşmayı seven Fatih, aynı zamanda Visual C# ve Visual Studio teknolojileri konusundan Microsoft tarafından altı yıl üst üste MVP (En Değerli Profesyonel) ödülüne layık görülmüştür. İş hayatı boyunca masaüstü uygulamaları, web teknolojileri, akıllı istemciler gibi konularda Asp.Net, Php, C#, Java programlama dilleri ve MySql, MsSql ve Oracle gibi veritabanı yönetim yazılımları ile çalışmıştır. İngilizce ve Türkçe olarak yayınlanan makalelerini gerek İngilizce bloğunda, gerekse de Türkçe bloğunda bulabileceğiniz gibi web sitesinden de açık kaynak kodlu geliştirdiği yazılımlarına ulaşabilirsiniz. vCard - Twitter - Facebook - Google+

Bir Cevap Yazın

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